web-dev-qa-db-ja.com

Icinga / Nagiosで永続的な確認を行う方法は?

Icinga(Nagiosフォーク)を使用して、外部ホストとサービスの稼働時間も監視しています。現在、「クリティカル」カウントを見ると、内部サービスが影響を受けているか(すぐに対処する必要がある)、外部サービスが影響を受けているか(問題を認識しているだけ)を判断するのが難しいことがわかりました。

チェックされたホスト/サービスの将来のダウンタイムに備えて、問題の確認応答を維持する方法はありますか?外部ホスト/サービスの状態変化を自動確認する方法はありますか?

2
blerontin

外部ホストの自動確認を行う方法を見つけました。

まず、外部ホストのイベントハンドラーを定義します。

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ドキュメント を参照してください。

3
blerontin