cacti有数据无图

说明:
原本cacti使用正常。后来将cacti的目录从原来的/www/cacti迁移到/home/www/cacti去,发现不出图了。具体表现snmpwalk有数据,但图上都是nan,也没有图。但rrd debug又是ok的。



实现:
1.刚开始怀疑是vps宕机,snmpd没有自己启动,于是我先检查snmp是不是正常运行

# ps -ef|grep snmp
root      7764     1  0 Feb19 ?        00:24:51 /usr/local/net-snmp/sbin/snmpd -c /etc/snmpd.conf

 
2.发现snmpd进程有的,就想,是不是snmpd获取不到数据,手动执行snmpwalk看看

# snmpwalk -v 2c -c public 127.0.0.1 system
SNMPv2-MIB::sysDescr.0 = STRING: Linux gaingreat 2.6.32-220.13.1.el6.x86_64 #1 SMP Tue Apr 17 23:56:34 BST 2012 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (558892524) 64 days, 16:28:45.24
SNMPv2-MIB::sysContact.0 = STRING: Me 
SNMPv2-MIB::sysName.0 = STRING: gaingreat
......

 
3.到这里就开始犯傻了。snmpd有在跑,snmpwalk也能拿到数据。那会不会是rrd没办法绘图
于是打开console | Graph Management | 随便打开一张图 | *Turn On Graph Debug Mode.

发现rrd 是ok的,这说明这图至少是在画的,但为什么一直nan呢

4.到/home/cacti/rra目录下执行

# rrdtool fetch *_*_*_*_cpu_system_11.rrd AVERAGE
                     cpu_system

1366772100: -nan
1366772400: -nan
1366772700: -nan
1366773000: -nan
1366773300: -nan
1366773600: -nan
1366773900: -nan
......

发现结果也都是nan,这个,就郁闷了。有snmpd进程,snmpwalk有数据,rrd也正常画,但fetch却全是nan,突然想到会不会因为poller没有办法拿到数据,所以获取到的数据全是nan,而rrd直接把nan给画了上去。所以造成了有数据,但却没有图的结果。

5.于是就手动试了下spine poller,看是不是没办法按时拿数据

# /usr/local/php/bin/php /www/cacti/poller.php
Could not open input file: /www/cacti/poller.php

这里,坑爹了,可以看到,由于我cacti目录已经从原来的/www/cacti迁移到/home/www/cacti去,但spine poller没有改,还在执行/www/cacti/poller.php,当然拿不到数据。

# crontab -e  //修改spine poller到新位置。
* * * * * env LANG=C /usr/local/php/bin/php /www/cacti/poller.php>/dev/null 2>&1

然后等一下就可以看到出图了。

附录:
这里,迁移cacti的目录时,还要记得修改
Console | Settings | Paths | Cacti Log File Path,更改cacti日志文件位置

发表评论

邮箱地址不会被公开。 必填项已用*标注