/ Cacti

Cacti出现POLLER: Poller[0] Maximum runtime of 296 seconds exceeded.解决方案

前不久服务器做了一次升级,把php从5.2升级到5.3,然后就发现Cacti无法采集到监控数据,查看日志发现升级之后没有任何日志。

于是想到应该是crontab执行不正确,原来是因为php的路径改变了,crontab里面找不到php,所以修改一下crontab里php路径即可。

但是很快发现还是没采集到数据,cacti日志里出现如下错误:

POLLER: Poller[0] Maximum runtime of 296 seconds exceeded. Exiting.

于是简单看了下cacti/poller.php文件的代码,发现有个debug模式,于是执行

/www/php5.3/bin/php /www/cacti/poller.php --debug --force

其中force参数是强制执行poller,否则poller会因为距离上次执行时间不足300秒而不执行。

然后发现了一条错误信息

POLLER: Poller[0] DEBUG: About to Spawn a Remote Process [CMD: /www/php5.2/bin/php, ARGS: -q “/www/cacti/cmd.php” 0 11]

可以看到调用的php还是原来5.2版本的路径。

于是想起在cacti的setting里面有一项是配置php路径的,在“settings”→“paths”里面设定下php的新地址即可。

debug的信息里还有几条错误

sh:/www/php5.2/bin/php: No such file or directory

也就是说还有一些地方使用的是旧PHP路径,看这个报错应该是采集的工具问题,于是查看“System Utilities”→“View Poller Cache”,果真有几个数据源还是调用旧PHP路径,这个好解决,直接在“System Utilities”里点“Rebuild Poler Cache”即可。

在查看日志,一起正常。

Cacti出现POLLER: Poller[0] Maximum runtime of 296 seconds exceeded.解决方案
Share this