Cacti突然获取不到数据一例的解决办法

今天早上一上班打开cacti的页面一看,cacti的数据全部都没有数据写入,时间是从早上大概8点左右,如图:

Cacti突然获取不到数据一例的解决办法

利用nagios一看,原来是磁盘空间满了,导致cacti不能将获取到的数据写入数据库,于是删除了服务器上一些没用且占空间的文件,理论上cacti应该就能正常工作了,但未然,还是上图的鸟样,想到清空poller cache:

system utilities -->Rebuild poller cache 。

清空了缓存,我还手动执行cacti获取数据的命令:(先用cacti用户执行,为了保险起见,再用root用户执行一次)

#/usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php --force

返回结果正常,并无报错。

但是这一次有一丝数据,全部都一样,但是隔10分钟观察,数据未能连续,只有手动执行命令的时候,cacti才勉强有数据,这也就说明cacti不会自动执行命令去采集数据,这很明显是跟crontab有关,于是,进攻crontab:

首先,查看日志,既然数据是从早上的8点左右不能采集的,那么就找这个时间点的cron日志:vi /var/cron/log

定位到这个时间点,日志如下:

Cacti突然获取不到数据一例的解决办法

于是我去看了cacti的日志,果然,虽然cron是5分钟能执行一次,但是执行命令的时候出错了,于是cacti日志不能自动更新,rra目录下的数据也就不能更新,从下午14:00到15:42的日志一直没更新。

既然找到问题了,好,行动:

passwd cacti

Enter passwd:

再次手动在cacti用户和root用户下执行

#/usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php --force

注:为什么cacti过期会影响到cacti图像的问题呢?

因为做了策略:root新建用户密码的有效期为90天,默认应该是无限期的,而cron的执行者是cacti,cacti目录的属主是cacti,现在密码过期了,cacti用户的一些功能受到影响,自然执行cron就不会正常了。(因为不知道怎样查看是什么时间创建cacti这个用户的,所以变通一下,去查看了cacti用户家目录的创建时间,果然,隔离现在的时候是足足3个月。)

 

相关推荐