奇妙な問題があります。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
デバッグをオンにした後、私はこれを取得します:
[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).
構成を何度も確認しましたが、エラーは見つかりませんでした。Icingaは、icinga -v <icinga.cfg>
を実行すると構成に問題がないことを報告します。
私が間違っていることを見つけることができる人はいますか?
構成は次のとおりです。
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が新しいサービスを実行できないようにするサービスチェックがシステムのどこかに詰まっているようです?!?
実行する必要のあるcheck_nt
コマンドを、/tmp
内のローカルファイルにアクセスして実行されているかどうかを確認する小さなスクリプトに置き換えました。そうではありません。
編集
私は古いnagiosWebインターフェースを使用して新しいチェックをスケジュールし、(ついに)これを取得しました:
Processing: 'SERVICE ALERT: sqlnota03.db
b.dk; NSClient_version; $ SERVICESTATE $; $ SERVICESTATETYPE $; $ SERVICEATTEMPT $;サービスNSClient_versionに定義されたコマンドが存在しません
メッセージの意味がわかりません。実行可能ファイルcheck_nt
が見つからないか、他の何かが見つかりません...?
エラーが見つかりました。
それは2つのことの組み合わせでした:
command_line
パラメータへのパスが間違っていることが明らかになりました。だから私はこれを変更しました:
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'
Icingaに実際のチェックを実行させてエラーを診断するのにどれだけの時間がかかったかに驚いています。