今天你还喝牛奶吗?
作者:Alex 日期:2008-09-24
MRTG监控windows服务器流量
作者:Alex 日期:2008-09-22
|
注:此文完善中,为我自己和需要配置MRTG流量监控的朋友们参考。MRTG安装环境为windows2003;被监控服务为windows2003,CentOS4.4服务器。MRTG默认配置对100M以上端口流量监控不准确,需要加上--snmp-options=:::::2选项;更推荐使用PRTG,简单易用,可以使用免费版试用,但只支持一个sensor。
被监控服务器设置:
snmp配置:
Windows2003:
1.安装简单管理协议(snmp) 2.管理工具--服务--SNMP Service属性--安全,接受团体名称,添加一个团体名称(如public),指定其只能只读权限; 3.管理工具--服务--SNMP Service属性--代理,勾选所有或1,2,5选项;
3.接受来自这些主机的SNMP数据包,添加,填入你要使用mrtg监测的服务器IP; 4.如果你有防火墙的话开通udp协议的161端口给你要使用mrtg监测的服务器; 5.重起snmp service即可; Linux:
检查是否安装snmp并安装
#service snmpd status
snmpd: unrecognized service #chkconfig --list | grep snmpd #mkdir -p /mnt/dvd
#mount /dev/dvd /mnt/dvd According to CentOS4.4
need packets: net-snmp-libs-5.1.2-11.EL4.7 lm_sensors-2.8.7-2.40.3.i386.rpm net-snmp-5.1.2-11.EL4.7 net-snmp-utils-5.1.2-11.EL4.7 启动snmpd服务并配置snmpd.conf
#chkconfig --level 35 snmpd on
#service snmpd start #vi /etc/snmp/snmpd.conf
(1)首选是定义一个共同体名(community),这里是public,及可以访问这个public的用户名(sec name),这里是notConfigUser。Public相当于用户notConfigUser的密码:) # sec.name source community com2sec notConfigUser default public (2)定义一个组名(groupName)这里是notConfigGroup,及组的安全级别,把notCconfigUser这个用户加到这个组中。 groupName securityModel securityName group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser (3)定义一个可操作的范围(view)名, 这里是all,范围是 .1 # name incl/excl subtree mask(optional) view all included .1 80 (4)定义notConfigGroup这个组在all这个view范围内可做的操作,这时定义了notConfigGroup组的成员可对.1这个范围做只读操作。 # group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact all none none 防火墙上放开udp161协议
#iptables -L -n
#iptables -A INPUT -i eth0 -p udp --dport 161 -s 192.168.1.10 -j ACCEPT #service iptables save 监控服务器设置(IP:192.168.1.10):
安装:
1.安装Perl支持;
2.下载最新MRTG软件件包解压到硬盘适当位置如D:\MRTG;
设置:
监控对象为服务器,设置一例:
perl cfgmaker --global "WorkDir: d:\www\MRTG" --global "Options[_]: growright,bits" --output mrtg.cfg public@192.168.1.2 public@192.168.1.3
监控对象为交换机,设置一例:
perl cfgmaker --global "WorkDir: d:\www\MRTG" --global "Options[_]: growright,bits" --ifref=nr --ifdesc=descr --output mrtg.cfg public@192.168.1.1
为了让MRTG每个五分钟监视一次,在DOS下MRTG\bin目录用下面的命令:
(1)echo RunAsDaemon:yes>>mrtg.cfg (2)echo Interval:5>>mrtg.cfg perl indexmaker --output=d:\www\mrtg\index.htm mrtg.cfg
//系统将会自动生成index.htm在我们指定的WEB目录里面 perl indexmaker --output=d:\www\mrtg\index.htm mrtg.cfg
//系统将会自动生成index.htm在我们指定的WEB目录里面 运行MRTG:
wperl MRTG --logging=event.log mrtg.cfg 将MRTG 配置为系统服务
使用windows 2003 resource kit中的Instsrv.exe和srvany.exe。首先安装win2003 rerouse kit 将srvany.exe拷贝到d:\MRTG\bin 目录 1.添加srvany.exe为服务 instsrv MRTG "d:\MRTG\bin\srvany.exe" 2. 配置srvany: 在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG中,添加一个parameters子键。在该子键中添加以下项目: Application的字串值,内容为c:\perl\bin\wperl.exe ---该值为wperl程序目录。 AppDirectory的字串值,内容为d:\MRTG\BIN\ ----该值为MRTG程序目录。 AppParameters的字串值,内容为MRTG --logging=event.log mrtg.cfg。 添加其他服务器监控一例:
1.perl cfgmaker --output mrtg1.cfg public@192.168.1.4
2.复制mrtg1.cfg相关内容至mrtg.cfg
3.重起MRTG服务
4.编辑index.htm添加相关链接网页,进一步优化index.htm
以下内容为解决,MRTG监控端口流量大于100M的交换机,数据不准确的问题所用的参考。
--snmp-option=:::::2 //在cfgmaker中加入此项用于支持snmpv2.
|







