http://www.sofee.cn/blog/2006/10/21/49/
http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/mrtg/
1、安装SNMPD服务
# yum install net-snmp-utils
# vi /etc/snmp/snmpd.conf
把以下的内容注释掉:
# First, map the community name "public" into a "security name"
# sec.name source community
##com2sec notConfigUser default public
####
# Second, map the security name into a group name:
# groupName securityModel securityName
##group notConfigGroup v1 notConfigUser
##group notConfigGroup v2c notConfigUser
####
# Third, create a view for us to let the group have rights to:
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
##view systemview included .1.3.6.1.2.1.1
##view systemview included .1.3.6.1.2.1.25.1.1
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
##access notConfigGroup "" any noauth exact systemview none none
然后增加以下内容:
##############################################################
# Added by Justin
## sec.name source community
com2sec local localhost public
com2sec lan 192.168.1.0/24 public
## group.name sec.model sec.name
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 lan
group MyROGroup v2c lan
group MyROGroup usm lan
view all included .1 80
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
## context sec.model sec.level prefix read write notif
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all all
rocommunity public
disk / 100000
disk /mnt/share 500000
##############################################################
其中的disk配置是为了监控磁盘的使用量,用户可自行修改要监控的目录,这里监控的是系统目录/和数据目录/mnt/share。
完了之后就开启snmpd服务。
# chkconfig snmpd on
# /etc/init.d/snmpd start
2、安装MRTG
# yum install mrtg
默认安装下,已在/etc/cron.d/下生成一个mrtg任务,cron进程会� �据/etc/cron.d/mrtg 中指定的参数每5分钟执行一次,对统计数据的结果页面进行更新,所以要注意MRTG配置文件的保存位置。一般情况下,MRTG的流量统计页面是放在/var/www/mrtg/下,配置文件保存在/etc/mrtg/mrtg.cfg。如果用户自行修改了保存位置,那么也请同时修改/etc/cron.d/mrtg文件中的路径。
2.1 测试生成MRTG配置文件
#/usr/bin/cfgmaker –global ‘WorkDir: /var/www/mrtg’ –output /etc/mrtg/mrtg.cfg public@127.0.0.1
如果出现一些错误,一般都是/etc/snmp/snmpd.conf文件配置错误引起,执行后会在/etc/mrtg/下生成一个mrtg.cfg配置文件。
MRTG除了统计流量之外,还可以统计CPU、UPTIME、内存、磁盘使用量等等,而用cfgmaker生成的配置文件只包含网卡的流量统计,所以用户可� �据自己的需求对/etc/mrtg/mrtg.cfg进行修改。可参考本文最后我的mrtg.cfg配置文件内容。
注:如果直接使用cfgmaker生成的配置文件的话,那么还需要执行indexmaker来生成统计页面。
/usr/bin/indexmaker -output=/var/www/mrtg/index.html -title=”sofee.cn MRTG Graph” /etc/mrtg/mrtg.cfg
2.2 配置Apache
在CentOS中,Apache的配置部分是除了本机之外拒绝所有人访问的,所以还需要对Apache进行相应的配置,以使外网也能够对MRTG统计页面进行访问。
# vi /etc/httpd/conf.d/mrtg.conf
Alias /mrtg /var/www/mrtg <Location /mrtg> Order deny, allow Allow from all # Deny from all # Allow from 127.0.0.1 # Allow from ::1 # Allow from .example.com </Location>
这里设置的是所有人都可以通过WEB访问/mrtg,用户可自行设置相应权限。
# /etc/init.d/httpd graceful
2.3 生成统计页面
# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
第1、2次执行一般都会有错误信息,执行第3次就好了。
至此,MRTG已基本设置完毕,可通过浏览器访问http://www.yourhost.com/mrtg来查看统计页面。
3、我的MRTG配置文件
下载地址:my MRTG configure file
由于MRTG� �据SNMP获取的UPTIME信息不符合规则,所以需要写个脚本来进行转换。
# vi /var/www/mrtg/mrtg-uptime.pl
sub convertUptime { my $data = shift; my $days = 0; # 1 day, 1:42:50 if ( $data =~ /^(d+)sday/ ) { $days = $1; } return ("$days"); }