nsca
を分散監視の目的でNagios
に実装していますが、どこにでも答えが見つからないという奇妙な点を除いて、すべてが機能しているようです。
パッシブチェックは送受信されますが、出力には常に初期化されていない4番目の変数が表示されるため、$OUTPUT$
と表示されます。それは、小切手が非中央サーバに適切な情報を表示しているかのように見えますが、送信されると、正しく補間されていないように見えます。
commands.cfg
define command{
command_name submit_check_result
command_line /usr/share/nagios3/plugins/eventhandlers/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$OUTPUT$'
}
submit_check_result
#!/bin/sh
return_code=-1
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=-1
;;
esac
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca 192.168.40.168 -c /etc/send_nsca.cfg
例サービス
define service {
host_name example_host
service_description PING
check_command check_icmp
active_checks_enabled 1
passive_checks_enabled 0
obsess_over_service 1
max_check_attempts 5
normal_check_interval 5
retry_check_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups admins
}
非中央サーバのログからの出力は示しています
Nov 29 22:52:52 nagios-server nagios3: SERVICE ALERT: example_host;PING;OK;HARD;5;OK - 192.168.1.1: rta nan, lost 0%
中央サーバーにログの出力は示しています。中央のサーバー(Webインターフェイス)上の
EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;example_host;PING;0;$OUTPUT$
ステータス情報を示しています
はPING OK 2016-11-29 22:54:50 0d 0h 54m 6s 1/5 $OUTPUT$
それはどちらかだけで、このサービスではありません。すべてのサービス(Nagiosサーバ自体が "check_load、check_proc、etc."のために本質的に事前設定されているものを含む)。
ご協力いただければ幸いです。