Icinga(Nagiosフォーク)を使用して、外部ホストとサービスの稼働時間も監視しています。現在、「クリティカル」カウントを見ると、内部サービスが影響を受けているか(すぐに対処する必要がある)、外部サービスが影響を受けているか(問題を認識しているだけ)を判断するのが難しいことがわかりました。
チェックされたホスト/サービスの将来のダウンタイムに備えて、問題の確認応答を維持する方法はありますか?外部ホスト/サービスの状態変化を自動確認する方法はありますか?
外部ホストの自動確認を行う方法を見つけました。
まず、外部ホストのイベントハンドラーを定義します。
define Host {
name some-external-server
# ...
event_handler handle_external_Host
# ...
}
次に、イベントハンドラーとして使用するコマンドを定義します。
define command {
command_name handle_external_Host
command_line $USER1$/eventhandlers/acknowledge_Host_problem $HOSTNAME$ icingaadmin "Handled by external user"
}
最後に、イベントハンドラスクリプトをファイル/ usr/local/icinga/libexec/eventhandlers/accnowledge_Host_problem(またはイベントハンドラがインストールされている場所)に配置します。
#!/bin/sh
printf_cmd="/usr/bin/printf"
command_file="/usr/local/icinga/var/rw/icinga.cmd"
hostname="$1"
author="$2"
comment="$3"
# get the current date/time in seconds since UNIX Epoch
now=`date +%s`
# pipe the command to the command file
$printf_cmd "[%lu] ACKNOWLEDGE_Host_PROBLEM;%s;1;1;0;%s;%s\n" $now "$hostname" "$author" "$comment" >> $command_file
コマンド「chmod + x」などを使用してスクリプトを実行可能にすることを忘れないでください。 ACKNOWLEDGE_Host_PROBLEMの詳細については、 Icingaドキュメント を参照してください。