免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 802 | 回复: 0
打印 上一主题 下一主题

网络流量监控器mrtg [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-19 13:02 |只看该作者 |倒序浏览

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


MRTG的安装配置
安装支持软件
我们这里以Rehat7.2为例子讨论MRTG的配置和安装。要安装MRTG需要安装以下软件包:GCC、Perl、gd、libpng和zlib。可以使用下面的命令来判断系统是否安装有这些软件包:
[root@mail doc]# rpm -qa|grep gd
gd-1.8.4-4
gd-devel-1.8.4-4
[root@mail doc]# rpm -qa|grep perl
perl-5.6.0-17
mod_perl-1.24_01-3
[root@mail doc]# rpm -qa|grep libp
libpng-1.0.12-2
libpng-devel-1.0.12-2
[root@mail doc]# rpm -qa|grep zlib
zlib-1.1.3-24
zlib-devel-1.1.3-24
[root@mail doc]# rpm -qa|grep gcc
gcc-2.96-98
gcc-g77-2.96-98
gcc-c++-2.96-98
如果发现哪个软件包没有安装,只需直接从redhat安装盘安装对应的rpm包即可,例如:
root@mail doc]# rpm -ivh zlib-1.1.3-24 zlib-devel-1.1.3-24
MRTG的安装
[root@mail src]# tar xvfz mrtg-2.9.17.tar.gz
[root@mail src]# cd mrtg-2.9.17
[root@mail mrtg-2.9.17]# ./configure --prefix=/usr/local/mrtg-2
[root@mail mrtg-2.9.17]# make
[root@mail mrtg-2.9.17]# make install
到现在我们就已经正确地安装了MRTG系统。
配置SNMP服务
对于不同的设备,配置SNMP支持的方法是不一致的,具体请参考设备的随机文档,一般里面都有详细的介绍。这里我们讨论在Linux环境下配置SNMP服务器,以实现对本机流出流入数据的分析和报表(我的应用环境是使用Linux带动一个小型局域网上网,监控本机进出流量)。
在linux环境下安装snmp软件包是很容易的,只需要安装相应的软件包即可:
[root@mail doc]# rpm -qa|grep snmp
ucd-snmp-4.2.1-7
ucd-snmp-utils-4.2.1-7
ucd-snmp-devel-4.2.1-7
这时候运行下面的命令:
[root@mail doc]# /etc/rc.d/init.d/snmpd start
Starting snmpd: [ OK ]
如果命令输出如上所示,就表示snmp服务器启动正常。
为了配合mrtg使用,还要修改snmpd的配置,以使其允许mrtg读取其interface(网络接口)流量数据。
vi /etc/snmp/snmpd.conf

#view systemview included mib2
的内容修改为:
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
然后将
access notConfigGroup "" any noauth exact systemview none none
修改为:
access notConfigGroup "" any noauth exact mib2 none none
然后再重新启动snmpd:
/etc/rc.d/init.d/snmpd restart
配置MRTG
下一步就是要配置mrtg,实现对网络设备的监控。mrtg的配置信息都是保存在mrtg.cfg文件中的,创建该文件并且在其中定义希望的监控特性。幸运的是一般不需要直接手工编辑该配置文件,因为mrtg软件包提供有cfgmaker配置工具,这是一个脚本文件,根据运行参数可以自动生成mrtg.cfg配置文件。在mrtg源码目录的bin子目录下你可以得到该工具。
首先在www服务器的DocumentRoot目录下创建一个子目录用来存放mrtg生成的统计文件,这里假设apache是默认安装,因此DocumentRoot在/var/www/html目录下,我们在该目录下创建子目录mrtg:
mkdir /var/www/html/mrtg
这里的/var/www/html/mrtg就是mrtg的工作目录。下面就生成mrtg配置文件:
cfgmaker --global "WorkDir: /var/www/html/mrtg"
--global "Options[_]: growright,bits"
--ifref=ip
--output /etc/mrtg.cfg
public@192.168.0.1
这里的--global参数表示后面的选项是对后面指定的设备都是有效的(如果希望对多个设备进行监控时,该参数就会发生作用)。WorkDir用来指示mrtg的工作目录;Options用来指定一些特定的选项,这里的growright,bits是用来指定默认options配置的,对于常见的应用来说默认options配置就可以满足需求了。ifref用来指示用什么选项来标识设备接口,这里指定使用IP地址来标识网络设备接口。ifref可以指定为nr、ip、eth、descr、name。nr表示用接口在MIBII库中Interface接口的ifIndex来识别接口;IP表示使用ip地址识别接口;eth表示使用接口的物理地址标识接口;descr表示使用接口的描述信息来标识接口;name表示使用接口名来标识接口。一般来说ip地址是唯一的,但是有些情况下接口是没有IP地址的,例如交换机就会出现这种情况。对于接口来说nr(接口号)是唯一的,因此对于一般情况使用IP地址就可以了,而对于其他一些情况则需要采用nr了。"--output /etc/mrtg.cfg"标识将生成的配置文件存放在/etc/目录下。"public@192.168.0.1"表示监控IP地址为192.168.0.1的设备,采用public作为共同体名通过snmp协议来监控设备192.168.0.1。
对于希望使用mrtg来对多个设备进行监控的情况,举例如下:
cfgmaker --global "WorkDir: /var/www/html/mrtg"
--global "Options[_]: growright,bits"
--ifref=descr
--ifdesc=alias
public@router1.place.xyz
public@router2.place.xyz
--global "Options[_]: growright"
--ifref=name
--ifdesc=descr
public@switch1.place.xyz
--ifdesc=name
public@switch2.place.xyz > mrtg.cfg
这里指示监控四个设备:router1.place.xyz、router2.place.xyz、switch1.place.xyz
和switch2.place.xyz,所有的设备都采用共同体名public来进行监控。并且两个路由器采用descr来作为设备的描述信息,而两个交换机则采用alias作为设备描述(这两者是不同的,例如对于cisco路由器来说,对于descr来说设备描述为"Serial0",而对于aliasl来说则为"Link to HQ")。
mrtg.cfg文件内容举例:
#==================================================
WorkDir: /var/www/html/codfei/mrtg/tmp/
Language: GB2312
Target[index]:`/var/www/html/codfei/mrtg/CPU-info/mrtg.sh`
Xsize[index]:600
Ysize[index]:200
Ytics[index]:10
MaxBytes[index]:10000
Title[index]: my_Title
PageTop[index]:my_TOP
ShortLegend[index]:my_postfix
YLegend[index]:my_YL
LegendI[index]:SHELL_$1
LegendO[index]:SHELL_$2
Options[index]:gauge, nopercent, growright
mrtg.cfg文件基本参数说明:
#==================================================
WorkDir: mrtg.cfg文件所在目录
Language: 定义语言(GB2312为中文字符集)
Target:要执行的脚本,用``(反引号)引用,即本目录中的mrtg.sh文件
Xsize:生成图表的横向宽度(最大600)
Ysize:生成图表的纵向高度(最大200)
Ytics:纵向划分为几个块(格)
MaxBytes: 纵向数据的最高上限
Title:标题
PageTop:页面上面的提示
LegendI:从SHELL返回的第一个数据中的说明
LegendO:从SHELL返回的第二个数据中的说明
Options:gauge, nopercent为两个必要的选项,growright表示时间轴向右

运行mrtg
一旦生成正确的配置文件,就运行下面的命令:
/usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg
这将查询被监控的设备并在工作目录下创建初始的流量图和web页面,在前三次运行时可能会报告遗失日志文件的告警信息,不要理睬这些信息,只需要连续运行三次以后再运行就不会产生告警信息了。如果仍然出现告警那么就需要察看问题出在哪里了。
使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生成统计信息,默认为五分钟运行一次。作为root身份crontab -e进入编辑状态,添加内容如下:
*/5 * * * * /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg      
#5分0小时0日0月0周
然后就可以通过浏览器访问地址http://192.168.0.1/mrtg/选择适当的接口地址察看流量信息了。如果希望生成类似于http://www.stat.ee.ethz.ch/mrtg/的信息,就需要自己手工编辑一个index.html文档存放在/var/www/html/mrtg目录下,内容为接口说明以及该接口的日统计信息的图即可。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/36317/showart_281397.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP