MRTG是工作在SNMP协议上的,你必须安装SNMP才能启动MRTG来观测你的网络,我就是没有配置好NET-SNMP,所以MRTG显示出来的会没有图形的,我就是犯了这样的错误。

        MRTG通过SNMP从设备中得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP,可以通过MRTG进行网络流量监控

              注意:我这里用的是net snmp 5.4.3的版本 ,不知道为什么不同版本的配置都不一样,我感觉这很变态。不过我还是觉得用snmpconf这个工具最方便了,我这里做的是让snmo监控所有。

         1.安装
  要安装MRTG软件包必须首先安装gcc、perl、gd、libpng、zlib、freetype,fontconfig等软件包

 这里我用的是yum安装    [root@test3 mrtg-2.9.28]# yum install -y  gcc perl gd libpng zlib freetype fontconfig mrtg

       如果是编译安装的话就是如下的过程:

            ① 安装tar软件包 
              # tar zvxf mrtg-2.9.28.tar.gz   # cd mrtg-2.9.28 
              #./configure --prefix=/usr/local/mrtg \  

                --with-gd =/usr/include \   (以下都是安装路径)

                --with-gd-lib=/usr/lib \

                --with-gd-inc=/usr/include \   

                --with-png=/usr/include \   

                --with-zlib=/usr/include &&   

                # make && make install   

            ② 生成配置文件 
             # mkdir /usr/local/mrtg/cfg   #cd /usr/local/mrtg/bin 
               #./cfgmaker --global 'WorkDir: /usr/local/httpd/htdocs/' \   

                 --global 'Options[_]: bits,growright'\ 
                  --global 'Language: GB2312' \ 
                 --output /usr/local/mrtg/cfg/xxx.cfg \   

                 public@XXX.XXX.XXX.XXX# 
                "XXX.XXX.XXX.XXX"是SNMP服务器的IP,以上命令将生成服务器的配置文件。

     MRTG生成的HTML页面可以完全由用户定制,所有定制都是通过对生成的配置文件的修改来实现的。MRTG配置文件的内容很丰富,相关内容请参考MRTG配置文档

             ③ 设置MRTG定期执行方式   执行"crontab-e",加入如下行: 
         */5 * * * * /bin/env LANG=en_US /usr/local//mrtg/bin/mrtg   /usr/local/mrtg/cfg/xxx.cfg 
        以上命令设定每隔5分钟监控一次配置文件xxx.cfg中所定义的服务器。5分钟是一个比较合理 的值,也可以按自己的需求重新定义。 

           ④ 建立索引页面 
        执行以下命令还可以生成一个索引页面:   

#cd /usr/local/mrtg/bin/indexmaker  --output="/usr/local/ /httpd/htdocs  /index.html"   --title="Taffic Monitor Center" /usr/local/ /mrtg/cfg/xxx.cfg 
  到此为止,配置完毕,重新启动snmp和httpd服务,访问http://ip/mrtg/,就能看到网络流量图

    2 yum安装mrtg之后的相关配置

生成mrtg配置文件/etc/mrtg/mrtg.cfg ,其中public@后接的是你的主机名   
           cfgmaker --global "WorkDir:/var/www/mrtg" --global "Language:chinese"   --global "Options[_]:growright,bits" --output /etc/mrtg/mrtg.cfg public@192.168.87.129

      注意,在Linux环境下,如果想以Bytes/秒显示的话,不要加上'bits'参数,也不要替换成bytes,默认就是Bytes的,替换后反而会出错!


         编辑 /etc/cron.d/mrtg,使mrtg每隔1分钟自动运行来生成统计信息
          vi /etc/cron.d/mrtg
        输入:
       */1 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok


       产生网页索引文件
            indexmaker /etc/mrtg/mrtg.cfg --output /var/www/mrtg/index.html --title="MRTG监控"

         启动mrtg
         env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg


      修改 /etc/httpd/conf.d/mrtg.conf ,允许任何人访问

          Alias /mrtg "/var/www/mrtg"
             <Directory "/var/www/mrtg">
             Options Indexes MultiViews
             AllowOverride None
                Order allow,deny
                 Allow from all
            </Directory>

             MRTG生成的web页面是静态的,为了能让其不断的刷新,需要将以上命令添加进crontab 。
           #crontab -e
             添加如下一行
            */1 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
           注:此行表示每2分钟刷新一次,可以根据自己的需要修改刷新时间间隔。
           若监控多台服务器,需要创建多个不同的mrtg.cfg,并添加进crontab 中。

          查看端口的开启状况
             # netstat -tunlp |grep snmp

163614484.jpg

   .MRTG监控网络配置文件解释 ( 转自http://blog.chinaunix.net/uid-13971488-id-2858500.html)
WorkDir    //设置工作目录,存放mrtg采集的数据和生成的统计文件
Language   //设置WEB页面显示的语言=中文gb2312
growright  //指示流量图随时间的变化向右增长
Target     //指示监控的设备;
设备的表示方式=port:community@router;
commnunity    //表示snmp通讯密码
Directory   指示该监控设备的相关文件保存的位置=/var/www/mrtg/eth0/;
默认保存在WorkDir工作目录下
MaxBytes    //指示被采集的数据的最大值.如果采集的数据大于该值,MRTG将忽略,并保持上次采集的数据值
Kmg    //指示乘数单位(默认每千位跳一个单位)
YLegend        //指示Y轴的单位标记(不能用中文)
ShortLegend    //指示数据的单位标记
Legend1,2,3,4分别指示四条不同颜色的统计线的文字说明
Legend1:     //每5分钟数据平均流入量的文字说明
Legend2:     //每5分钟数据平均流出量的文字说明
Legend3:     //每5分钟数据最大流入量的文字说明
Legend4:     //每5分钟数据最大流出量的文字说明
LegendI,O    //分别说明数据的流出和流出的文字说明
WithPeak    //指示如何显示流量图
共有四条不同颜色的统计线,绿色表示平均流入,蓝色表示平均流出,墨绿色表示最大流入,紫色表示最大流出
n代表不设置w代表每周图表,代表每月图表,y代表每年图表
不设置WithPeak,只有绿色流入和蓝色流出
PageTop    //指示增加到Web页头部的HTML代码,用于定制网页
以空格开始的<TABLE></TABLE>部分都是PageTop的内容,都直接作为HTML代码


  3 实例

将以下内容写到/etc/mrtg/mrtg.cfg

   监控cpu

###################################################

#Moniting CPU Load[use+free]

###################################################

Target[cpuload]: .1.3.6.1.4.1.2021.11.50.0&.1.3.6.1.4.1.2021.11.53.0:public@localhost:

Options[cpuload]: nopercent,growright

Directory[cpuload]: cpu

MaxBytes[cpuload]: 100

Unscaled[cpuload]: dwym

YLegend[cpuload]: CPU Utilization

ShortLegend[cpuload]: %

Legend1[cpuload]: CPU使用负载(%)

Legend2[cpuload]: CPU闲置(%)

LegendI[cpuload]: 使用:

LegendO[cpuload]: 闲置:

Title[cpuload]: CPU负载[使用+闲置]

PageTop[cpuload]: <h1>CPU负载[使用+闲置]</h1>

171301179.jpg


监控内存

###################################################

#Moniting Used memory and Swap [Mem+Swap] free -k

###################################################

Target[memory]: .1.3.6.1.2.1.25.2.3.1.6.1&.1.3.6.1.2.1.25.2.3.1.6.3:public@localhost:

Options[memory]: gauge,growright

Directory[memory]: mem

MaxBytes1[memory]: 327252

MaxBytes2[memory]: 1023992

#MaxBytesX[memory]: 1023992可多个,看情况

Kmg[memory]: K,M,G

Kilo[memory]: 1024

Unscaled[memory]: dwym

YLegend[memory]: Mem Bytes

ShortLegend[memory]: B

Legend1[memory]: 已用Mem(Bytes)

Legend2[memory]: 已用Swap(Bytes)

LegendI[memory]: 已用Mem :

LegendO[memory]: 已用Swap:

Title[memory]: 内存使用量[Mem+Swap]

PageTop[memory]: <h1>内存使用量[Mem+Swap]</h1>


监控磁盘

###################################################

#Moniting disk size [/+/boot]df -k

###################################################

Target[disk]: .1.3.6.1.4.1.2021.9.1.8.1&.1.3.6.1.4.1.2021.9.1.8.2:public@localhost:

Options[disk]: gauge,growright

Directory[disk]: disk

MaxBytes1[disk]: 11087104

MaxBytes2[disk]: 495844

Kmg[disk]: K,M,G

Kilo[disk]: 1024

Unscaled[disk]: dwym

YLegend[disk]: Disk Bytes

ShortLegend[disk]: B

Legend1[disk]: 根分区已用空间

Legend2[disk]: boot分区已用空间

LegendI[disk]: 根分区已用 :

LegendO[disk]: boot分区已用:

Title[disk]: 硬盘空间[根分区+boot分区]

PageTop[disk]: <h1>硬盘空间[根分区+boot分区]</h1>

    其他的图我就不给出来了,大家好好研究!!!!!!!