RSS

Cacti插件NPC不显示nagios状态的一种解决办法

安装配置好 npc 插件后,有时候会发现 npc 插件里的 nagios 状态为空,有时候第一次启动 nagios 状态时 on,如果重启 nagios 服务,那么 npc 插件里 nagios 就会变为空。如图
2013-06-20_122919
如上,日志里没有任何报错。而且 nagios 和 ndo2db 都运行正常
2013-06-20_123015
遇到这种出问题大家可以按照以下方法进行处理。

进入 mysql,切换到 cacti 数据库

use cacti;
show tables;

可以看到有一个名为  npc_programstatus 的表
2013-06-20_123132
先看看表结构

desc npc_programstatus;

2013-06-20_123401
输入如下语句

select programstatus_id,instance_id,status_update_time,last_command_check,last_log_rotation from npc_programstatus;

2013-06-20_123557
可以看到有二条记录,原因就在这里,看看第一条的记录的 status_update_time 已经过去很久了,而第二条则比较新。输入如下语句删除旧的记录

delete from npc_programstatus where instance_id = '0';

2013-06-20_124626
现在只剩一条记录了,此时刷新 NPC 界面,发现已经正常显示 nagios 状态了
2013-06-20_124746
为了验证其正确性,保证其不出问题,此时再重启下 nagios,查看 npc_programstatus 表,发现只有一条记录,而且 programstatus_id 在原来的基础上加了 1,而且 status_update_time,last_command_check,也是刚才重启 nagios 的时间,说明问题解决,
2013-06-20_124722