Windows 2003 安装配置MRTG
2011-09-09 10:27:35 我来说两句
公司机房有 6台服务器,需要实时监控进出的流量,经过再三筛选和斟酌,决定使用MRTG,开源的软件,安装教程教程很多,但是说明实际安装时,遇到问题说明的到是很少,经过这两天的研究,终于成功了,下面就来说明下我安装遇到的问题,和解决的方法。

(今天公司空调开得特别的冷,肚子很,但是我不畏艰辛,为大家制作教程,希望朋友们别拍砖啊!
成果 Show:


准备环境
1. 安装 ActivePerl
a) 安装的时候很简单,默认安装就可以了,目录在C:\Perl
2. 安装MRTG,也很简单,解压到任意的目录下面即可,我这里使用的是C:\mrtg
3. 安装SNMP协议,在windows 2003 server 中“控制面板”选择“添加删除程序”,点击对话框左下角的“添加/删除windows组件
4. 找到“管理和监视工具”点击详细信息:
5. 选择“简单网络管理协议( SNMP)”安装:
安装的过程中,如果本地没有“ I386”文件的话,就要插入光盘,系统才能继续安装组件。
6. 打开“控制面板”\“管理工具”\“服务”,选在“SNMP服务”,右键点击属性,点击“安全选项卡”,就可以看到下面的设置:
这里添加 SNMP的community,可以大大的提供安全行性,同时也提供了IP 筛选功能,下面就是我设置的允许想我发送SNMP消息的主机。

到这步,如果有使用防火墙的朋友,要在防火墙的添加UDP协议, 162端口的例外,这个我就不演示了。

MRTG需要有IIS服务来支持,可以使用任意的WEB软件,我这里为了方便,用微软默认的IIS,首先配置一WEB的站点,我站点的目录为C:\www\mrtg

做完上面的以后,开始MRTG的配置
1. 进入C:\mrtg\bin目录 (你解压MRTG的路径
cd c:\mrtg\bin
执行cfgmaker命令,生成cfg文件,
C:\mrtg\bin>perl cfgmaker public@192.168.8.250说说需要注意的地方,我在写“WorkDir: C:\www\mrtg”这条命令的时候WorkDir是严格区分了大下写的,WorkDir:的冒号后面有一个空格。 --global “WorkDir: C:\www\mrtg” --output mrtg.cfg
注意括号千万不能是中文的,最好自己手动输入括号
命令解释: public是192.168.8.250的community,这个是设置SNMP安全的时候的值,不能乱变动,192.168.8.250是要监控主机,文件保存在C:\www\mrtg目录里面,输出配置文件mrtg.cfg,这里有两个问题一定要注意,是我遇到的:
   1.执行命令后报错:
Bareword "P_DETACH" not allowed while "strict subs" in use at C:/mrtg/bin\..\lib
\mrtg2/MRTG_lib.pm line 1172.
Compilation failed in require at cfgmaker line 49.
BEGIN failed--compilation aborted at cfgmaker line 49.
解决方法:打开报错的目录的文件c:\mrtg\lib\mrtg2\MRTG_lib.pm,找到“use strict;” 删掉,写上“use Net::Config;”即可,注意区分大小写。
    2.Mrtg.cfg配置文件不会产生在C:\www\mrtg这个目录里面,而是在C:\mrtg\bin里面,这点我很郁闷,我是把这个生成的文件,copy到C:\www\mrtg这个目录里的,
2.配置MRTG全天监控,需要在mrtg.cfg加入下面的参数,使MRTG每隔5分钟采集一个信息:
RunAsDaemon:yes
Inerval:5
使用命令:
Echo RunAsDaemon:yes>>mrtg.cfg
Echo Inerval:5>>mrtg.cfg
3.使用indexMaker 生成报表首页:
Perl indexmaker mrtg.cfg>>c:\www\mrtg\index.htm
4. 运行MRTG:
Perl mrtg --logging=mrtg.log mrtg.cfg
如果成功就会看到提示的信息:Daemonizing MRTG … Do Not close this windows . Or MRTG will die
现在就可以访问http://192.168.8.250/index.htm查看计算机的流量信息了!
如果关掉CMD对话框的话,MRTG就会停止了 ,把命令做到启动栏里面的话,也不方便,怕不小心关掉了,所以就做成服务好好了。需要上面
下载的两个工具
Srvany.exe 和instsry.exe
1. 把Srvany.exe 和instsry.exe放到c:\mrtg\bin目录里面,在cmd下运行命令:
C:\mrtg\bin>instsrv mrtg “C:\mrtg\bin\srvany.exe”
2. 配置srvany :
把下面的注册表文件导入注册表里面,方法很简单,拷贝下面内容到笔记本里面,在另存为文件名为“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服务:


到此结束! !
作者“ Mr_Luo”