文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>MRTG 监控系统

MRTG 监控系统

时间:2005-11-03  来源:wangzhixu

MRTG 是什么 ,是一个可以画图的好东西,他可以划出系统网络,cpu,内存,磁盘使用等等图,只要有数据

2005年11月3日第一次。

     cpu ,df 和网络图

2005年11月6日第二次。

     对windows 系统监控

在一般情况下我们使用MRTG 来监控系统的网络流量但是他的功能远远不止这些。

了解MRTG

Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件, 它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载

mrtg具有以下特色:

可移植性:目前可以运行在大多数Unix系统和Windows NT之上。
源码开放:Mrtg是用perl编写的,源代码完全开放。
高可移植性的SNMP支持:Mrtg采用了Simon Leinen编写的具有高可移植性的SNMP实现模 块,从而不依赖于操作系统的SNMP模块支持。
支持SNMPv2c:MRTG可以读取SNMPv2c的64位的记数器,从而大大减少了记数器回转次数。
可靠的接口标识:被监控的设备的接口可以以IP地址、设备描述、SNMP对接口的编号及 Mac地址来标识。
常量大小的日志文件:MRTG的日志不会变大,因为这里使用了独特的数据合并算法。
自动配置功能:MRTG自身有配置工具套件,使得配置过程非常简单。
性能:时间敏感的部分使用C代码编写,因此具有很好的性能。
PNG格式图形:图形采用GD库直接产生PNG格式。
可定制性:MRTG产生的web页面是完全可以定制的。
mrtg的主页是http://www.mrtg.org,可以从这里下载软件

或者到rpmfind.net 去查找他的rpm包

在安装好了以后我们就开始配置了

我的系统在安装了mrtg 后 生产了下面的几个目录和文件

/etc/mrtg/mrtg.cfg

/var/www/html/mrtg/*  很多文件

同时还有 mrtg ,indexmaker ,cfgmaker 等命令

在mrtg.cfg   文件中会出现一些参数其解释如下

Target:是要执行的脚本
Xsize:生成图表的横向宽度(最大600)
Ysize:生成图表的纵向高度(最大200)
Title:标题
Ytics:纵向划分为几个块(格子)
MaxBytes:图表纵向数值的最大上限
PageTop:页面上面的提示
kilo:一般是写1024,如果需要的话,是1000在计算机里的单位
LegendI:从SHELL返回的数据中的第一个
LegendO:从SHELL返回的数据中的第二个
Options:一般后面跟growright,表示图表向右延展

WorkDir  设定mrtg 文件目录

例如

  • Target[域]:
    • Target[aaa]: 2: [email protected]
      同一个域名称必须一致
    • Target[bbb]:`/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
      后面是一个shell 脚本,执行这个脚本会传递四个参数给mrtg !mrtg 根据这四个参数绘制图形,第一参数对于LegendI,第二参数对于LegendO ,第三参数对于had been up for 参数三.第四参数对于at which time '参数四' .                  
  • MaxBytes[域]:
    • MaxBytes[aaa]: 1250000 
      资料监控时最多数据流, bytes,所以 10Mbps 为 1.25MBytes,大約是 1250000 Bytes。
    • MaxBytes[bbb]: 100
      如果資料不是 Bytes 時,例如例如 CPU 時,那這個數值就需要改
  • Options[域]:
    • Options[aaa]: growright, bits  (用在網路流量中)
    • Options[bbb]: growright, nopercent, gauge  (用在 CPU 負載中)
      growright:將資料隨時間變化的順序以右而左繪圖;
      bits:資料單位為 bits;
      nopercent:在圖下方的說明文字中,不顯示百分比;
      gauge:圖表的上限固定!

一  网络

WorkDir: /var/www/html/mr/                             mrtg 目录
Target[r1]: 2:[email protected]                     与snmp 配合
Options[r1]: growright                                        右侧出现
MaxBytes[r1]: 1250000                       
Title[r1]: Traffic Analysis                                        
PageTop[r1]:

Stats for our Ethernet



 

 

二 cpu 负载

Target[localhost]: `/etc/mrtg/cpu`                                    shell 脚本的位置
MaxBytes[localhost]: 100                      
Options[localhost]: gauge, nopercent, growright
YLegend[localhost]: CPU loading (%)                                     y 轴显示
ShortLegend[localhost]: %
LegendO[localhost]:   cpuuser .....;                                用户负载
LegendI[localhost]:    cpusys .....;                                  系统负载
Title[localhost]: CPU                                                              页面标题
PageTop[localhost]:

CentOS CPU

                         图表上面显示内容       

下面我们来看看cpu的 shell

#/!bin/bash

  cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`        取得参数值
  cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
  UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`

   echo $cpuusr                                                                                输出显现
  echo $cpusys
  echo $UPtime
  echo 192.168.1.69

 关于sar  命令

  • sar -u 1 3 :每一秒測一次 cpu ,共計三次算平均;

    grep Average   查找带Average 的行

    awk '{print $3}'`   取得第三个参数的值

     

     通过执行上面的shell   mrtg 就可以绘制出cpu 负载的图了。

     

    三 磁盘使用量

    Target[df]: `/etc/mrtg/df`                                        shell 脚本的位置                 
    MaxBytes[df]: 100
    Options[df]: gauge, nopercent, growright
    YLegend[df]: disk  used (%) 
    ShortLegend[df]: %
    LegendO[df]:   disk / use .....;                          / 分区使用
    LegendI[df]:  disk /boot use .....;                     /boot 分区使用
    Title[df]: disk use
    PageTop[df]:

    CentOS disk use

     



     

    我的分区情况为

    /dev/sda2              3834496   3415944    223764  94% /
    /dev/sda1               101089     11086     84784  12% /boot
    none                     46472         0     46472   0% /dev/shm
    /dev/sdb1               507732      9806    471713   3% /home
    //192.168.1.62/linux  20972544  17567232   3405312  84% /mnt/c
    /dev/cdrom              500950    500950         0 100% /mnt/cdrom

    df  shell 如下

     #/!bin/bash
      dir=`df /dev/sda1  | grep sda1 | awk '{print $5}'`
      boot=`df /dev/sda2  | grep sda2 | awk '{print $5}'`
      UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`

      echo $dir
      echo $use
      echo $UPtime
      echo $HOSTNAME                                                       输出主机名称

     

     

    在上面配置好了以后我们需要执行两个命令

    mrtg  配置文件

    mrtg  mrtg.cfg

    生产主页图形文件命令indexmaker  参数  目标文件  配置文件

    indexmaker --output=/var/www/html/mrtg/index.html  /etc/mrtg/mrtg.cfg

  • 还要crontab -e

    */5  * * * * root mrtg /etc/mrtg/mrtg.cfg

  • 这样我们就可以在浏览器里面看到图形了 http://ip/mrtg/

    不过前提是你网络通,aplache 配置正确,而且你的mrtg 目录设置正确。
     

     上面都是对linux 的监控,今天又研究了一下对windows 的监控,其实对windwos 的监控更为简单

  • 满足以下几点就可以了

    1 启动了snmp 服务

    2 我们知道监控windows 的各种代码,如cpu 、内存等等 

    3 网络连通

     

    在windows 中 启动snmp 协议,同时去http://www.wtcs.org/snmp4tpc/snmp4w2k-std.htm 下载最新的snmp 增强工具

    安装完以后,该软件会出现一个类似帮助的窗口,在里面我们可以看到snmp 给我提供监控的各种MIB

    这些代码在linux 里面是要使用到的

    现在我们可以来监控windows 的各种值,

    例如cpu 的mib 代码是.1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.1.48

    在mrtg.cfg 文件中加入


    Target[CPU]: .1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.1.48&.1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.1.48:public@windows ip
    Ysize[CPU]: 200
    Xsize[CPU]: 400
    Ytics[CPU]: 10
    MaxBytes[CPU]: 100
    Title[CPU]: Windowsxp CPU...
    PageTop[CPU]: <H1>Windowsxp CPU...</H1>
    ShortLegend[CPU]: %
    YLegend[CPU]: CPU Load
    Legend1[CPU]: CPU Utilization # CPU....
    Legend2[CPU]: .
    Legend3[CPU]: Max Value Per-Interval # .....CPU......
    Legend4[CPU]: .
    LegendI[CPU]: CPU:
    LegendO[CPU]:
    Options[CPU]: gauge, growright, nopercent, unknaszero

    mrtg mrtg.cfg

    indexmaker --output=/var/www/html/mrtg/index.html  /etc/mrtg/mrtg.cfg

    这样就实现了对windows cpu 的监控,可以更改mib 码,实现对windows 其他性能监控


     

    相关阅读 更多 +
    排行榜 更多 +
    枪战特训2

    枪战特训2

    飞行射击 下载
    打击者19452代最新版

    打击者19452代最新版

    飞行射击 下载
    方块枪战战场安卓版

    方块枪战战场安卓版

    飞行射击 下载