MRTG安装
You have a router, you want to know what it does all day long? Then MRTG is for you. It will monitor SNMP network devices and draw pretty pictures showing how much traffic has passed through each interface.
Routers are only the beginning. MRTG is being used to graph all sorts of network devices as well as everything else from weather data to vending machines.
MRTG is written in perl and works on Unix/Linux as well as Windows and even Netware systems. MRTG is free software licensed under the Gnu GPL.
摘自http://oss.oetiker.ch/mrtg/,MRTG用SNMP协议来监控网络设备,以5分钟为最小间隔,时时记录网络设备的状态,并根据测得的值绘制每天、每周、每月、每年的表格,很适用于网络设备的监控,可根据记录值分析网络使用情况,提醒用户作网络的扩容、预警。 ■简介
Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件, 它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。
■mrtg具有以下特色:
可移植性:目前可以运行在大多数Unix系统和Windows NT之上。 源码开放:Mrtg是用perl编写的,源代码完全开放。
高可移植性的SNMP支持:Mrtg采用了Simon Leinen编写的具有高可移植性的SNMP实现模 块,从而不依赖于操作系统的SNMP模块支持。
支持SNMPv2c:MRTG可以读取SNMPv2c的位的记数器,从而大大减少了记数器回转次数。
可靠的接口标识:被监控的设备的接口可以以IP地址、设备描述、SNMP对接口的编号及 Mac地址来标识。
常量大小的日志文件:MRTG的日志不会变大,因为这里使用了独特的数据合并算法。 自动配置功能:MRTG自身有配置工具套件,使得配置过程非常简单。 性能:时间敏感的部分使用C代码编写,因此具有很好的性能。 PNG格式图形:图形采用GD库直接产生PNG格式。 可定制性:MRTG产生的web页面是完全可以定制的。
mrtg的主页是http://www.mrtg.org ,可以从这里下载软件。
本次的测试平台是本站的服务器,操作系统为Windows 2003,Perl被默认安装到C:\\Perl,MRTG主程序在C:\\mrtg,MRTG的检测结果在:D:\\webdisk\\mrtg目录下。 ■所涉及的软件:
1、Active Perl
下载地址:在百度上输perl windows,下载最新版的即可。 2、MRTG
下载地址:http://www.mrtg.org /
3、Windows2003 中只需要两个程序:instsrv.exe和srvany.exe 下载地址:http://www.electrasoft.com/srvany/srvany.htm ■安装步骤:
一、安装
1、部署Perl运行环境,直接安装就可以了 需要重新启动计算机以便该系统变量生效。
2、安装配置SNMP服务
在交换机(或其它设备如路由器、服务器等)上配置并SNMP。 3、安装MRTG
将下载的MRTG压缩包解压到C:\\MRTG下。 进入CMD环境,依次执行以下命令: --------------------------------------------------- cd c:\\mrtg\\bin
perl mrtg
---------------------------------------------------
运行后结果应该大致如下,其中可能包含有些错误信息,不过是正常现象: Usage: mrtg
mrtg-2.12.2 is the Multi Router Traffic Grapher.
If you want to know more about this tool, you might want to read the docs. They came together with mrtg! 二、配置
1、开始配置MRTG
进入CMD环境,依次执行以下命令: --------------------------------------------------- cd c:\\mrtg\\bin
perl cfgmaker public@192.168.1.100 --global \"WorkDir: C:\\Inetpub\\wwwroot\" --output mrtg.cfg ---------------------------------------------------
说明一下:这个配置的cfg监视的是一个设备(我监视的是交换机),IP是192.168.1.100,public是SNMP Community串(这个串可能不是public),然后\"WorkDir: C:\\Inetpub\\wwwroot\"就是是输出html文件存放的路径,mrtg.cfg就是为这个配置命名的文件名,你自己也可以改成其他的。要注意的是路径,perl和cfgmaker的位置,最后生成的cfg文件应该放在这个命令执行的路径上。(默认cfg文件放置在C:\\mrtg\\bin)
2、当运行了步骤1的命令后,应该是一大片执行perl脚步录取snmp信息的命令,最后结束应该是
--base: Writing myconfig.cfg
注意,这个命令只会读取一次snmp信息,我们需要设置他的监控周期,例如每5分钟更新一次,就在这个mrtg.cfg后面加上: RunAsDaemon:yes Interval:5
也可以使用以下命令:
--------------------------------------------------- cd c:\\mrtg\\bin
echo runasDaemon:yes>>mrtg.cfg echo Interval:5>>mrtg.cfg
---------------------------------------------------
3、使用indexmaker生成监控浏览文件,运行: ---------------------------------------------------
perl indexmaker mrtg.cfg>c:\\Inetpub\\wwwroot\\index.htm ---------------------------------------------------
这个命令,就是把放在C:\\mrtg\\bin\\下的mrtg.cfg将来生成的报表输出了一个index.html放
在C:\\Inetpub\\wwwroot
4、运行mrtg。
--------------------------------------------------- perl mrtg --logging=mrtg.log mrtg.cfg --------------------------------------------------- 运行后,应该会显示 Daemonizing MRTG ...
Do Not close this window. Or MRTG will die 这样MRTG就开始监控流量,可是如果你关闭了这个窗口那么监控就就随之停止,所以我选择了最有效的方法让他自动运行,所用的方法就是将MRTG配置为服务来运行,这里就要用到之前提到的kit中的两个小工具。 小结:
完整的命令如下:
--------------------------------------------------------------------------------------------
cd c:\\mrtg\\bin
perl cfgmaker public@192.168.1.100 --global \"WorkDir: C:\\Inetpub\\wwwroot\" --output mrtg.cfg echo runasDaemon:yes>>mrtg.cfg echo Interval:5>>mrtg.cfg
perl indexmaker mrtg.cfg>c:\\Inetpub\\wwwroot\\index.htm
perl mrtg --logging=mrtg.log mrtg.cfg
--------------------------------------------------------------------------------------------
三、自动化 1、将instsrv.exe和Srvany.exe复制到mrtg安装目录的BIN目录下(这里是C:\\mrtg\\bin\\目录)。 2、在MRTG\\BIN目录下执行instsrv mrtg \"c:\\mrtg\\bin\\srvany.exe\"安装MRTG为系统服务。 3、配置SRVANY:
(1)方法一
在注册表hkey_local_machine\\system\\currentcontrolset\\services\\mrtg中添加一个parameters项,再在parameters子键中添加以下项目: application的字串值,内容为c:\\perl\\bin\\perl.exe appdirectory的字串值,内容为c:\\mrtg\\bin\\
appparameters的字串值,内容为mrtg -logging=mrtg.log mrtg.cfg (2)方法二
或者创建一个注册表文件mrtg.reg内容如下: Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\MRTG\\Parameters] \"Application\"=\"c:\\\\perl\\\\bin\\\\wperl.exe\"
\"AppParameters\"=\"C:\\\\mrtg\\\\bin\\\\mrtg --logging=mrtg.log c:\\\\mrtg\\\\bin\\\\mrtg.cfg\" \"AppDirectory\"=\"c:\\\\mrtg\\\\bin\\\\\"
双击mrtg.reg将这个注册表文件导入注册表。
至此MRTG就安装配置完毕,下来打开网址就看到了监控的数据,呵呵!