如何使用mrtg监控服务器流量?
如何使用mrtg监控服务器流量?
参考文档:http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html
被监控端:
一、首先在被监控的机器上添加SNMP服务,步骤如下:
开始→设置→控制面板→添加或删除程序→添加/Windows组件(A)→管理和监视工具→简单网络管理协议(SNMP)。
注:安装时需放入windows系统盘。
二、然后设置SNMP服务,步骤如下:
开始→运行→services.msc→找到SNMP Service服务→双击打开→在安全选项卡里添加一团体public,并且在下面加入控制端的IP→确定。
注:如果安装有防火墙,需向控制端打开UDP的161端口。
三、如果有多个服务器需被监控,在每台机器上重复如上步骤。
控制端:
一、首先下载所需的几个文件:
1.ActivePerl:
http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.819-MSWin32-x86-267479.msi
2.mrtg.2.15.0
http://oss.oetiker.ch/mrtg/pub/mrtg-2.15.0.zip
3.srvany.exe和instsrv.exe
http://www.electrasoft.com/srvany/srvany.exe
http://www.electrasoft.com/srvany/instsrv.exe
二、安装ActivePerl,解压mrtg.2.15.0.zip到c:/mrtg.2.15.0
开始→运行→输入cmd→确定,进入命令模式
cd c:/mrtg-2.15.0/bin
perl cfgmaker public@被控端IP1 --global "WorkDir: c:/www/mrtg" --output mrtg1.cfg
perl cfgmaker public@被控端IP2 --global "WorkDir: c:/www/mrtg" --output mrtg2.cfg
...
分别打开mrtg1.cfg,mrtg2.cfg...添加一行:
RunAsDaemon: yes
生成首页:
perl indexmaker --output=c:/www/mrtg/index.htm mrtg.cfg mrtg1.cfg mrtg2.cfg ...
三、安装服务
将srvany.exe和instsrv.exe拷入c:/mrtg-2.15.0/bin目录
开始→运行→输入cmd→确定,进入命令模式
cd c:/mrtg-2.15.0/bin
instsrv.exe mrtg1 c:/mrtg-2.15.0/bin/srvany.exe
instsrv.exe mrtg2 c:/mrtg-2.15.0/bin/srvany.exe
...
新建文件mrtg.reg,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MRTG/Parameters]
"Application"="wperl.exe"
"AppParameters"="mrtg --logging=mrtg1.log mrtg1.cfg"
"AppDirectory"="c://mrtg-2.15.0//bin"
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MRTG/Parameters]
"Application"="wperl.exe"
"AppParameters"="mrtg --logging=mrtg2.log mrtg2.cfg"
"AppDirectory"="c://mrtg-2.15.0//bin"
...
双击导入
四、运行
开始→运行→services.msc
分别启动mrtg1,mrtg2...等服务
进入c:/www/mrtg目录,检查生成是否正确
PS:在安装服务的时候,一直无法正确生成,查看mrtg1.log等文件,发现均有如下形式的信息:
2007-01-30 18:12:47 -- 2007-01-30 18:12:47: WARNING: rateup (c:/mrtg-2.15.0/bin/rateup c:/www/mrtg/ x.x.x.x_196610 1170151967 -Z u 38115373 34091216 1250000 c #00cc00 #0000ff #006600 #ff00ff k 1000 i c:/www/mrtg/x.x.x.x_196610-day.png -1250000 -1250000 400 100 1 1 0 300 0 4 1 "%Y-%m-%d %H:%M" 0 i c:/www/mrtg/x.x.x.x_196610-week.png -1250000 -1250000 400 100 1 1 0 1800 0 4 1 "%Y-%m-%d %H:%M" 0 i c:/www/mrtg/x.x.x.x_196610-month.png -1250000 -1250000 400 100 1 1 0 7200 0 4 1 "%Y-%m-%d %H:%M" 0) did not work: Bad file descriptor
调了一下午终于找出原因所在,原来在装系统的时候,为安全起见,把c:/WINDOWS/system32/cmd.exe文件除了Administrators用户组,其它用户权限全删除掉了,解决办法,加入SYSTEM读取和运行权限即可。
另外,在查找资料的过程中,发现利用mrtg不权可以监控流量,还可以结合WMI以及SNMP来监控CPU,内存,连接数等信息,实在是非常强大,不过暂时用不到这些功能,以后有空再慢慢研究
附:一些有用的资料链接
http://snmpboy.msft.net/
http://bbs.chinaunix.net/viewthread.php?tid=524676&extra=&page=1
http://www.wtcs.org/snmp4tpc/snmp4w2k.htm
http://www.snmplink.org/News.html