Icinga(nagios)忽略强制检查

我有一个奇怪的问题:Icinga(nagios)不运行我在debian框中设置的check_nt

我所做的是安排NSClient_versionPING的强制检查。 如果我查看日志文件,我可以看到两个命令都计划运行:

 [1372774536] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;sqlnota03.dbb.dk;NSClient_version;1372781738 [1372774536] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;sqlnota03.dbb.dk;PING;1372781738 

打开debugging之后,我得到这个:

 [1372774536.502948] [016.2] [pid=3840] Found another service check event for service 'NSClient_version' on host 'sqlnota03.dbb.dk' @ Tue Jul 2 17:47:21 2013 [1372774536.502973] [016.2] [pid=3840] Keeping original service check event (ignoring the new one). 

我经历了很多次configuration,找不到任何错误,Icinga报告说运行icinga -v <icinga.cfg>时configuration正常。

有没有人可以发现我做错了什么?

configuration是:

 define host { use windows-server host_name <the host> address 192.168.1.61 hostgroups mssql, termsrv, windows, nsclient_version } define service { use generic-service hostgroup_name nsclient_version service_description NSClient_version servicegroups nsclient_version check_command check_nt!CLIENTVERSION } # 'check_nt' command definition define command { command_name check_nt command_line check_nt command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3' } 

似乎有一个服务检查卡在系统的某处,使Icinga不能运行一个新的?

我已经replace了check_nt命令,该命令应该用一个check_nt本来运行,该脚本只是触及/tmp的本地文件,以查看它是否正在运行。 事实并非如此。

编辑

我用旧的nagios网页界面安排一个新的检查和(终于)得到这个:

 Processing: 'SERVICE ALERT: sqlnota03.db 

b.dk; NSClient_version; $ SERVICESTATE $; $ SERVICESTATETYPE $; $ SERVICEATTEMPT $;为服务NSClient_version定义的命令不存在

现在我不确定信息是什么意思 – 可执行check_nt不能find或其他东西…?

我发现错误。

这是两件事的结合:

  • Icinga-web没有正确安排检查。 由于某种原因,它只是忽略了检查命令(我会在以后看)。
  • 一旦我计划了一次检查,显然command_line参数的path是错误的。

所以我改变了这个:

 command_line check_nt command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3' 

对此:

 command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3' 

我很惊讶花了多less时间让Icinga运行一个实际的检查,所以我可以诊断错误。