通过路由器利用MRTG进行网络监控
MRTG是利用SNMP协议去查询指定有SNMP协议的设备,定时统计其设备的流量或负载,再将统计结果绘成统计图,从统计图上能很容易、直观地就能查出流量或负载。
MRTG(Multi Router Traffic Grapher)是一款监控网络流量负载的免费软件,目前利用MRTG已经开发出了各式各样的统计系统:
1.系统资源负载统计,例如:磁盘空间、CPU负载、内存用量等等
2.Server流量统计,例如:Mail、DNS、Web、BBS、IRC等等
3.网络设备流量统计,例如:防火墙、路由器、交换机等等
4.另类统 计,例如:Modem流量、Login人数、联机游戏人数等等。
MRTG是利用SNMP协议去查询指定有SNMP协议的设备,定时统计其设备的流量或负载,再将统计结果绘成统计图,从统计图上能很容易、直观地就能查出流量或负载。
配置MRTG的具体步骤:(这里以路由器配置为例)
一:首先在路由器上开起snmp功能
具体如下:
Telnet 到你的路由器上进入全局配置模式。输入以下命令:
- config)# snmp-server community public RO(此处不是零)
\\设置SNMP的团体名为public.
- (config)# snmp-server trap-source FastEthernet0/1
\\以Fa0/1端口为监控源,如果不输,将以设备自身的ROUTER ID作为监控源.(此FastEthernet0/1为路由器的内网段的端口,并不是局端端口)
- (config)# snmp-server contact wank@bis.com.cn
\\设置管理者的邮箱地址
- config)# snmp-server host 172.16.1.10 public
\\设置管理机的IP地址为172.16.1.10,并设置团体名public.
- config)# snmp-server enable traps
\\启动监控
- #copy run start
\\保存设置
以上就完成路由设备上的所有配置.
#p#
二: MRTG监控端的配置
需要使用的软件:
1.Perl
2.MRTG
3.微软的工具软件 :INSTSRV.exe。SRVANY.exe
软件安装步骤:
.Perl的安装:
1、 打开Perl的安装文件 ,点下一步,
2、 没得选择,只有同意协议才能下一步。
3、 在这里千万要注意了,系统默认是安装在 Perl 目录里面,但为了我们以后使用程序的方便,一定要记得修改为 usr 目录,盘符一般应和web的根目录所在的盘一致,结果如下:
4. 这里可以全部选择上,下一步。
5.开始安装:
6.Perl安装好之后,需要检查一下其是否安装正确。
安装完毕的检查方法:
我的电脑右键单击——管理——服务和应用程序——Internet信息服务管理(IIS)——网站右键单击——属性——主目录——配置,调出下图,查看有没有.pl,.plx扩展名,如果有就说明perl安装成功了。
7.MRTG的安装
Mrtg在windows下的安装很简单,只需要将mrtg.***直接解压到某个盘就好了,比如解压到:d:\mrtg
同时还要建立一个目录来存放我们要生成的文件,如:d:\mrtgwww,同时将d:\mrtg\images的所有文件复制到d:\wwwmrtg下。
#p#
MRTG的配置是如何做的
接下来我们就可以做mrtg的配置了。
开始——运行——cmd进入dos窗口进行相关配置。
①、配置文件的生成(由cfgmaker来生成)
首先进入到目录d:\mrtg\bin(mrtg解压后的目录),执行如下命令:
- D:\mrtg\bin>perl cfgmaker public@xx.xx.xx.xx(注意:此@后面应添写自己内部Router的ip地址) --global “workdir: d:\wwwmrtg” --output routermrtg.cfg
命令成功执行完成后,将会在我们前一个命令所指定的WEB目录里面生成以IP+端口命名的网页和一些png图片,这些图片就是网络当时的流量图。我们可以直接打开这个网页检查一下,看是否正常。刚开始生成后很多都是空白的,需要让它自动运行一段时间后才可以有图形表现出来。
②、配置文件的修改(routermrtg.cfg)
要使MRTG可以随时得到最新的流量图,我们还需要修改一下配置脚本,主要是刚才output参数所带的文件名mrtg.cfg,使用文本编辑器打开它。
文件头部已经说明了在Windows系统里面或者在UNIX系统里面的不同配置方法,现在因为是新版的MRTG,已经自动在尾部添加了工作目录,不需要我们再手工编辑。
为了使网络流量图可以每5分钟自动更新一次,我们还需要在
###Global Config Options的下一行加入一条命令:
- RunAsDaemon: yes
这条命令的作用是使MRTG每5分钟自动去获取一次SNMP的数据及更新网络流量图形。
保存文件,退出。
③运行如下命令:
- D:\mrtg\bin>perl mrtg routermrtg.cfg
如果出现以下语句就表明mrtg工作正常:
- Daemoning mrtg…
- Do not close this window,or mrtg will die
就是告诉你不要关闭这个窗口,否则mrtg就无法工作.
④添加服务MRTG为一项随机启动服务
由于MRTG是用perl编写的,所以不能直接添加为windows的服务,需要以下两个小程序:Instsrv.exe和srvany.exe,可以用google直接搜索下载到。将Instsrv.exe和srvany.exe放到d:\mrtg\bin目录(为了方便起见),执行如下命令:
- d:\mrtg\bin>instsrv MRTG d:\mrtg\bin\srvany.exe
会出现添加服务成功的提示。
⑤建立MRTG统计网页(使用indexmaker)
- d:\mrtg\bin>perl indexmaker mrtgrouter.cfg >D:\wwwmrtg\index.htm
这样就生成了统计的网页D:\wwwmrtg\index.htm。
可以通过修改routermrtg.cfg中每个端口的Title、PageTop信息来指定每个端口流量信息页面的标题,可以修改routermrtg.cfg中其他的一些信息,也可以修改index.htm文件来改变页面的显示,当然你每次修改之前最好备份一下routermrtg.cfg文件。
至此,就是在IIS中为index.htm添加一个联接,MRTG就可以正常运行了。具体如下:
1.设置网站基本配置:
2.设置网站主目录:
3.接着配置默认文档,记住这步很重要。不然你是看不到生成的网页的。
到这,已经完成了所有的配置.这时,我们通过IE来查看mrtg流量图吧^_^
#p#
华为交换机5624P上的配置实战
上面说的是怎么在Router上设置MRTG,接下来再说说关于在华为交换机5624P上开启MRTG的一些重要命令和需要注意的地方。
1. snmp-agent community命令:
snmp-agent community命令用来设置团体访问名、允许对SNMP协议进行访问,undo snmp-agent community命令用来取消团体访问名设置。
我在华为上设置的如下:
- # 设置团体名为mgr,并且可以进行读写访问。
- [Quidway] snmp-agent community write mgr
2. snmp-agent sys-info命令:
snmp-agent sys-info命令用来设置系统信息,包括系统维护信息、设备节点的物理位置信息、启用的SNMP版本号等,undo snmp-agent sys-info命令用来取消当前设置。
我在华为上设置的如下:
- # 设置系统启用的SNMP版本号
- [Quidway] snmp-agent sys-info version all
在这里我强调下:设置交换机支持的SNMP协议,有v1,v2c,v3这3个版本,如果你不确定,最好设为all,将会同时支持这3个协议。如果你没有正确设定它,mibbrower等一些读取软件可能会无法读取信息。之前我的实验一直都没成功就是跟这个有着关系,导致我浪费了很多的时间和精力去调试其他的地方。(当时交换机的出厂默认设置是V3的。)
3. snmp-agent target-host命令
snmp-agent target-host命令用来设置接收SNMP通知的目的地,undo snmp-agent target-host命令用来取消接收SNMP通知的主机。
snmp-agent target-host命令需要与snmp-agent trap enable命令协同使用.
我在华为上设置的如下:
- # 允许向172.16.1.10发送Trap报文,并且使用团体名public.
- [Quidway] snmp-agent trap enable
- [Quidway] snmp-agent target-host trap address udp-domain 172.16.1.10 params securityname public
- [Quidway] snmp-agent target-host trap address udp-domain 10.10.10.100 params securityname public
注意: 使用snmp-agent trap enable来设置允许设备发送Trap报文。若要一台主机可以发送通知消息,至少需要在该主机上配置一条snmp-agent trap enable命令和snmp-agent target-host命令。
4. snmp-agent trap source命令:
snmp-agent trap source命令用来指定发送Trap的源地址,undo snmp-agent trap source命令用来取消发送Trap的源地址。
用户如果想使用Trap地址来跟踪特定事件时,可以使用这条配置命令
我在华为上设置的如下:
- # 将VLAN接口1的IP地址作为Trap报文的源地址。
- [Quidway] snmp-agent trap source vlan-interface 1.
到此,就完成了在交换机上开启snmp的整个过程。display current-configuration。如下图:
以上就是华为交换机配置MRTG的一些重要步骤和需要注意的地方.除了开通SNMP的命令不同以外,其它生成.cfg格式的文件命令是和路由器上一样的。详细可以参照以上路由器的具体配置方法.
结尾语:
网络的流量监控在日常的网络运行维护当中是一个非常重要的内容,通过在路由器、交换机等设备上配置MRTG,我们可以直观地了解网络中各个部分的带宽使用情况,第一时间发现异常网络流量,有效防范黑客和病毒的攻击。同时,还可以根据各个端口使用带宽的情况对网络带宽进行合理划分,大大提高网络的运行效率。总之,MRTG是一个非常有用的网络流量监控软件,能对网管员的工作提供很大的帮助,它在网络的运行和维护中必定能得到广泛的应用。
【编辑推荐】