残りのエラーをすべて送信するために、夜間と朝に Nagios がメッセージを送信しないようにする方法

残りのエラーをすべて送信するために、夜間と朝に Nagios がメッセージを送信しないようにする方法

Nagios でサービス ステータスをチェックし、サービス ステータスに関する SMS メッセージを送信します。

一部の問題は夜間には重要ではないため、夜間に送信しないことを好みます。

define timeperiod{
    timeperiod_name non_work
    alias       Non work hours
    sunday      00:00-24:00
    monday      00:00-09:00,18:00-24:00
    tuesday     00:00-09:00,18:00-24:00
    wednesday   00:00-09:00,18:00-24:00
    thursday    00:00-09:00,18:00-24:00
    friday      00:00-09:00,18:00-24:00
    saturday    00:00-24:00
}

しかし、朝には新しい問題だけでなく、すべての問題が送信されるようにしたいです。どのように設定すればよいでしょうか?

それとも、nagios にはこの機能がないのでしょうか?

答え1

夜には重要ではない問題もある

おっしゃるとおり、Nagios ではチェック、通知、通知グループ、個々のユーザーに適用できる期間を設定できます。もちろん、チェックは実行するように指定しても通知は送信されない場合は、電子メールに問題が表示されません。ただし、NagiosのWebページでいつでも完全なアラート履歴を見ることができます。. 夜間のアラートを朝一番にメールで送るcronジョブをスケジュールしてみてはいかがでしょうか? 例:

0 8 * * * wget -O /tmp/nagios.html -i /home/user/nagioslist; mail [email protected] </tmp/nagios.html

/home/user/nagioslist には次のような内容が含まれます:

http://example.com/nagios/cgi-bin/summary.cgi?report=1&displaytype=1
   &timeperiod=last24hours&hostgroup=all&servicegroup=all&host=all&alerttypes=3
   &statetypes=2&hoststates=7&servicestates=120&limit=1000

(これにより、過去 24 時間に検出された最大 1000 個のハード状態が表示されます)

一方、延期したい通知に対して実行する別の通知スクリプトを設定し、それらをキューに入れて後で送信することもできます (例: 'at' を使用)。

または、特定の間隔でのみ送信メールを処理するように MTA を設定することもできます。異なる電子メール アドレスや異なる件名を組み合わせると、受信者、件名、時刻に基づいてメールを効果的に優先順位付けしたり延期したりできます。

答え2

Nagios がデフォルトでこれを行わないかどうかはわかりません。通知期間を逆にして、非勤務時間ではなく勤務時間だけを含めるようにする必要があります。

これをテストするのは簡単です。デフォルトで失敗するチェックと、それに応じて設定された通知期間を現在の時刻の数分後に定義し、この期間にのみメッセージを受信するかどうかを確認します。

これが機能しない場合は、escalation_period ステートメントを使用して、夜間にメールを送信し、勤務時間中に SMS を送信するなど、エスカレーション スキームを試してみることができます。

関連情報