四、检查cacti.log
snmp能够获取到数据,rra和log权限也均没有问题,为什么还不能获取到数据呢?
开启cacti全局设置中的详细日志,tail -f cacti.log查看日志,发现有很多类似日志:
WARNING: Result from CMD not valid. Partial Result:
这是cacti采集器没有获取到相关主机的返回数据。同时发现有如下日志:
Maximum runtime of 292 seconds exceeded. Exiting.
是说在一个循环周期内(5min),cacti没有获取完所有的数据,自动退出,执行下一循环,
应该是有太多主机了,同时有很多主机无法连接上超时,导致最终采集器时间超过292s自动退出。
决定采用cactid来代替cmd.php采集,同时清理数据库中poller_item中的无效,无法连接上,配置错误的记录(重要,可根据cacti.log中得知哪些主机或记录有问题)。
五、配置cactid
新版的叫spine。安装配置cactid:
tar -zxvf cacti-cactid-0.8.6j.tar.gz
cd cacti-cactid-0.8.6j
./configure (mysql另外安装的需要指安mysql路径)
make
mkdir /usr/local/cactid
cp cactid cactid.conf /usr/local/cactid/
vi /usr/local/cactid/cactid.conf修改为相应的数据库的用户名和密码。
全局配置中设置采集器为cactid,并设置好cactid的路径:/usr/local/cactid/cactid
解决cacti中无图或无数据的问题
snmpwalk -v 2c -c public yourIP if
如果有数据返回,则snmp的数据没有问题。如果出现“Timeout: No Response from ...”之类的错误信息则是snmp设置的问题。
再说有图无数据吧,一般这样的情况就是snmp采集的结果有问题。这种情况下,一般也会出现新建的device的Data Query里面的状态总是“ Success [0 Items, 0 Rows]”。通过执行snmp命令来检查:
snmpwalk -c community -v 2c hostIP if
通过结果可以看到是否允许cacti取这些OID的数据。
eg:
snmpwalk -c public -v1 192.168.0.221 .1.3.6.1.2.1.2.2.1.16.2 当cacti 有图没有数据时,而且状态为nan错误解决办法
解决办法:
1.
[iyunv@codfei rra]# pwd
/usr/local/apache2/htdocs/cacti/rra
[iyunv@codfei rra]# rrdtool fetch fxd-mdl11_traffic_in_365.rrd AVERAGE
按照以上命令执行如果结果输出为:
1197990600: nan nan
1197990900: nan nan
1197991200: nan nan
1197991500: nan nan
1197991800: nan nan
1197992100: nan nan
则表示snmp获取数据有问题,经过仔细检查发现不能获取流量的主机都是64位系统,
用以下命令检查:
[iyunv@codfei rra]# snmpwalk -c public -v 2c 192.168.1.2 IF-MIB::ifHCInOctets
输出内容如下,表明不支持64位MIB库,终于找到原因了。
IF-MIB::ifHCInOctets = No Such Object available on this agent at this OID
3,停止当前linux自带的snmpd,通过daemoonls启动新安装的snmpd就能了。
这时在用snmpwalk检测,支持64位MIB库了,过一会流量监视的图片也出来了!
[iyunv@codfei rra]# snmpwalk -c public -v 2c 192.168.1.2 IF-MIB::ifHCInOctets
IF-MIB::ifHCInOctets.1 = Counter64: 2400309170
IF-MIB::ifHCInOctets.2 = Counter64: 256326257624
IF-MIB::ifHCInOctets.3 = Counter64: 0
IF-MIB::ifHCInOctets.4 = Counter64: 624808037429
IF-MIB::ifHCInOctets.5 = Counter64: 0
IF-MIB::ifHCInOctets.6 = Counter64: 0
IF-MIB::ifHCInOctets.7 = Counter64: 0
IF-MIB::ifHCInOctets.8 = Counter64: 0 Cacti监控远程服务器问题解决
使用模板ucd/net - Memory Usage,检测局域网内别的机器发现有图,但是无数据,都是nan,
cacti log有如下错误
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[44] WARNING: Result from SNMP not valid. Partial Result: U
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[43] WARNING: Result from SNMP not valid. Partial Result: U
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[42] WARNING: Result from SNMP not valid. Partial Result: U
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[41] WARNING: Result from SNMP not valid. Partial Result: U
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[40] WARNING: Result from SNMP not valid. Partial Result: U
04/22/2009 02:10:08 AM - CMDPHP: Poller[0] Host[7] DS[39] WARNING: Result from SNMP not valid. Partial Result: U
snmpwalk -v 2c -c public your_remote_ip if
错误:
Timeout: No Response from your_remote_ip
于是修改snmpd配置 并启动snmpd
com2sec notConfigUser default public--->com2sec notConfigUser your_snmpd_server_ip public
#view all included .1 80---->view all included .1 80
snmpwalk -v 2c -c public your_remote_ip system ok
但
snmpwalk -v 2c -c public your_remote_ip if
错误:
IF-MIB::ifTable = No Such Object available on this agent at this OID
于是再次修改snmpd.conf,并重启snmpd
access notConfigGroup "" any noauth exact systemview none none-->
access notConfigGroup "" any noauth exact all none none