我有一个奇怪的问题:Icinga(nagios)不运行我在debian框中设置的check_nt 。
我所做的是安排NSClient_version和PING的强制检查。 如果我查看日志文件,我可以看到两个命令都计划运行:
[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或其他东西…?
我发现错误。
这是两件事的结合:
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运行一个实际的检查,所以我可以诊断错误。