被监控端配置 
大部分情况下,我们监控的是服务器,以RedHat Linux为例,看看如何打开SNMP服务。 
只有开启了SNMP服务,监控端才可以收集数据。 
打开默认的/etc/snmp/snmp.conf文件,更改如下配置
1
、查找以下字段: 
代码
#    sec.name source     community 
com2sec notConfigUser default    public 

"comunity"字段改为你要设置的密码.比如"bizcnpublic". 
“default”改为你想哪台机器可以看到你的snmp信息,10.10.10.10。授权服务器IP 

2
、查找以下字段:代码
#### 
# 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 

"read"字段改为all. 
代码
#access notConfigGroup ""   any    noauth  exact all none none 

3
、查找以下字段:代码
##      incl/excl subtree             mask 
#view all  included .1                80 
将该行前面的"#"去掉.

4、查找以下字段:代码#
#name           incl/excl     subtree         mask(optional)
添加一行view    all           included   .1
变成
#name           incl/excl     subtree         mask(optional)
view    all           included   .1
 
4、查找一下字段:代码
#view mib2   included .iso.org.dod.internet.mgmt.mib-2 fc
将该行前面的"#"去掉.

保存关闭

4
、运行/etc/init.d/snmpd start命令运行snmpd. 
5
、如果有防火墙,打开UDP 161端口。 
最后运行netstat -ln查看161端口是否打开了

使用ntsysv,让snmp服务,每次开机自动运行。 
如果没有安装snmp服务,请在RH的安装光盘上找到net-snmp.rpm,再安装。 

五、测试 
打开本机的SNMP服务, 
打开http://IP/cacti 
默认CactiLocalHost的四项参数,直接可以查看了。 

六、排错 
1. 
首先检查一下rra/下面,有没有数据,如果没有检查rra/ log/的拥有者是不是cactiuser
2. snmpwalk -v 2c -c public ServerIP if 
用来测试被控对象(serverIP)是否开启了SNMP服务 
3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 
查看被控端是否有CPU负载的数据返回 
4. /usr/local/bin/php /home/wwwroot/cacti/poller.php 
用来测试PHP是否可以采集到数据。如果上面的都正确,但这步出错,很有可能是PHP配置的问题,或开启了SuLinux 
5. 
如果按第2snmpwalk能采集到数据,但第3步无法采集,可能是PHP设置的问题,修改PHP.ini,很有可能是PHP权限问题。如果第4步正常而无法显示图,则可能是rra/ log/ Owner不对
 
 
 
Cacti + rrdtool 非常灵活,可以使用到非常广的范围,但是很多需要自己写插件和模板,现在对cactirrdtool的研究还处中初级阶段!要想好好利用这个工具,也得费一番心思!linux