1
为什么仙人掌会继续等待无效的轮询程序?
我目前正在设置新的Debian(6.0.5)服务器。昨天我在上面放了仙人掌(0.8.7克),从那以后一直在努力。 创刊号 我观察到的最初问题是图表没有更新。因此,我检查了我的内容cacti.log,发现了以下与该消息有关的信息: POLLER: Poller[0] Maximum runtime of 298 seconds exceeded. Exiting. 那不是很好,对吧?因此,我去检查并开始poller.php自己(通过sudo -u www-data php poller.php --force)。它将弹出很多消息(看起来都与我期望的一样),然后挂起一分钟。1分钟后,它将循环显示以下消息: Waiting on 1 of 1 pollers. 此过程将持续4分钟,直到该过程因运行时间超过298秒而被强制终止。 到现在为止还挺好 我花了一个小时的时间来尝试确定可能仍在运行的轮询器,直到得出结论就是根本没有正在运行的轮询器。 调试 我检查poller.php了该警告的发出方式以及原因。在第368行,Cacti将从数据库中检索完成的进程数,并使用该值来计算仍在运行的进程数。所以,让我们看看这个价值! 我将以下调试代码添加到poller.php: $finished_processes = db_fetch_cell("SELECT count(*) FROM cacti.poller_time WHERE poller_id=0 AND end_time>'0000-00-00 00:00:00'"); print "Finished: " . $finished_processes . " - Started: …