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 \
[email protected]#
"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 [email protected]
注意,在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
.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>
监控内存
###################################################
#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>
其他的图我就不给出来了,大家好好研究!!!!!!!