查看完整版本: MRTG后台监控网络流量全攻略

潘无忧 2008-7-15 14:39

MRTG后台监控网络流量全攻略

MRTG(Multi Router Traffic Grapher)是一款监控网络流量负载的免费软件,对于许多网管人员来说,MRTG 是必备的网络管理工具。MRTG是利用SNMP协议去查询指定有SNMP协议的设备,定时统计其设备的流量或负载,再将统计结果绘成统计图,从统计图上能很直观地查出流量或负载(如图1)。这样,网管员可以很方便地发现网络带宽占用异常情况,比如因感染病毒而发送大量数据包的机器、各时间段数据流量的数据等等。

[align=center][url=http://netsecurity.51cto.com/files/uploadimg/20070805/1659510.jpg][img=516,397]http://netsecurity.51cto.com/files/uploadimg/20070805/1659510.jpg[/img][/url]
图1 MRTG生成的效果图[/align]MRTG可运行在Linux/Unix/Windows下运行。在Unix/Linux环境下可以直接安装,因为MRTG开始就是基于Unix/Linux平台的,后来才移植到Windows平台。在Windows 2000下,MRTG如果不是以后台服务运行的话,每次运行都在控制台跳出一堆窗口,如果MRTG以后台服务运行的话,就不会出这种情况了,不过需要第三方软件才能让其成为系统后台服务。本文介绍如何让MRTG在Windows 2000下以后台服务方式运行。
[b]所需软件
[/b][table=400][tr][td]1.Active Perl for Windows
[url=http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl][color=#000000]http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl[/color][/url]
2.MRTG
[url=http://people.ee.ethz.ch/][color=#000000]http://people.ee.ethz.ch/[/color][/url]~oetiker/webtools/mrtg/pub
3.微软的工具软件SRVANY.exe(Applications as Services Utility)
INSTSRV.exe(Service Installer)
[url=http://www.microsoft.com/windows2000/techinfo/reskit/tools/default.asp][color=#000000]http://www.microsoft.com/windows2000/techinfo/reskit/tools/default.asp[/color][/url][/td][/tr][/table]

潘无忧 2008-7-15 14:39

[b]软件安装[/b]
MRTG是一个用Perl写的程序,不需要安装,只要解压缩下载的mrtg-2.11.1.zip到C:\mrtg。然后安装ActivePerl,安装完后打开一个命令行窗口,进入C:\mrtg\bin目录,输入检测MRTG和Perl是否安装成功:
c:\mrtg\bin>perl mrtg
如果提示没有出现丢失MRTG配置信息文件的错误信息,说明已经成功安装了MRTG和Perl。
[b]设定SNMP
[/b](Simple Network Management Protocol)
MRTG通过SNMP协议得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP协议,可以通过MRTG进行网络流量监控。
要让 MRTG 能够读取SNMP设备的流量信息,首先必须把SNMP设备上的 SNMP功能打开。不同品牌网络设备的用户界面不一样,具体步骤请参看相关资料,一般网络设备出厂设置是打开SNMP的。
[b]配置MRTG
[/b]1.进入DOS命令行,切换到目录C:\mrtg\bin,输入以下命令系统就开始执行配置。
[table=400][tr][td]C :\mrtg\bin>perl cfgmaker [email=public@192.168.1.5][color=#000000]public@192.168.1.5[/color][/email] --global“WorkDir: D:\www\mrtg” --output mrtg.cfg[/td][/tr][/table]
[email=public@192.168.1.5][color=#000000]public@192.168.1.5[/color][/email]中public表示SNMP Community串,Community串就是SNMP的通信密码,一般交换机的出厂设置是public,192.168.1.5是被监控设备的IP,更详细的说明可以参考cfgmaker的文档。
WorkDir: d:\www\mrtg 是正确安装MRTG后需要使用到的Web目录,要根据实际情况更改;
--output mrtg.cfg 是输出配置到文件mrtg.cfg。
此步骤正常执行完后,系统将在当前目录下生成配置文件mrtg.cfg。
2.建立MRTG统计网页
每个SNMP设备正常工作的端口会有一个统计页面,为了方便查询所有的端口信息,可以使用Indexmaker 来建立索引网页,使用下列指令:[table=400][tr][td]c:\mrtg\run>perl indexmaker -o D:\www\mrtg\default.htm mrtg.cfg?[/td][/tr][/table]

潘无忧 2008-7-15 14:40

这样就生成了统计的网页D:\www\mrtg\default.htm,可以通过网页编辑软件美化这个文件。
3.为了使MRTG可以随时得到最新的流量图,我们还需要修改一下配置文件mrtg.cfg。使用文本编辑器打开它,为了使网络流量图可以每5分钟自动更新一次,我们还需要在###Global Config Options的下一行加入一条命令:
[table=400][tr][td] RunAsDaemon: yes [/td][/tr][/table]
这条命令的作用是使MRTG每5分钟自动去获取一次SNMP的数据,并更新网络流量图形。
4.在c:\mrtg\bin\建立一个批处理文件mrtg.bat,这个文件包含一条用来启动MRTG的命令:[table=400][tr][td]perl c:\mrtg\bin\mrtg --logging=eventlog c:\mrtg\bin\mrtg.cfg[/td][/tr][/table]
5.建立一个文件mrtg.reg,内容为:[table=400][tr][td]Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\MRTG]
“Type”=dword:00000010
“Start”=dword:00000002
“ErrorControl”=dword:00000001
“ImagePath”=hex(2):63,00,3a,00,5c,00,6d,00,72,00,74,00,67,00,5c,00,62,00,69,00,\
6e,00,5c,00,73,00,72,00,76,00,61,00,6e, 00,79,00,2e,00,65,00,78,00,65,00,00,00
“DisplayName”=“MRTG”
“ObjectName”=“LocalSystem”

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\MRTG\Parameters]
“Application”=“c:\\mrtg\\bin\\mrtg.bat”

[HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\MRTG\Security]
“Security”=hex:01,00,14,80,a0,00,00,00,ac, 00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00, 01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,70,00,04,00,00,00,00,00, 18,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,00,00,00,00,1c,00, ff,01,0f,00,01,02,00,00,00,00,00,05,\
20,00,00,00,20,02,00,00,00,00,00,00,00, 00,18,00,8d,01,02,00,01,01,00,00,00,\
00,00,05,0b,00,00,00,20,02,00,00,00,00, 1c,00,fd,01,02,00,01,02,00,00,00,00,\
00,05,20,00,00,00,23,02,00,00,00, 00,00,00,01,01,00,00,00,00,00,05,12,00,00,\
00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\MRTG\Enum]
“0”=“Root\\LEGACY_MRTG\\0000”
“Count”=dword:00000001
“NextInstance”=dword:00000001[/td][/tr][/table]
6.拷贝Srvany.exe和Instsrv.exe这两个文件到c:\mrtg\bin\ 目录。

潘无忧 2008-7-15 14:41

7.通过在命令行中键入以下命令,在系统中创建一个名称为MRTG的服务:

c:\mrtg\bin>instsrv MRTG c:\mrtg\bin\srvany.exe

8.将数据导入到注册表:右键单击刚才建立的文件mrtg.reg弹出快捷菜单,在菜单中选择合并。
9.通过服务管理控制台,启动MRTG服务。
至此,MRTG已经以后台服务的方式正常运行了,网络流量图可以每5分钟自动更新一次,此时系统中会多出Srvany.exe和Perl.exe两个新的进程。通过查看MRTG生成的D:\www\mrtg\default.htm,网络管理员可以很直观地查看各时间段网络带宽的占用情况。
页: [1]
查看完整版本: MRTG后台监控网络流量全攻略