
Nagios がホストのダウンまたはアップを検出したときに Bash コマンド/スクリプトを実行するようにしたいと思います。これにより、ダウンしたホストにある程度対応できるようになり、非常に興味深いものになります。
これをどうやってやればいいのでしょうか?
答え1
イベント ハンドラーはあなたの友達です:nagios 3.0 のドキュメント。
答え2
コマンドファイルに必要なコマンドを追加します
define command{
# try this before
command_name my_restart
command_line /usr/lib64/nagios/plugins/my_restart.sh $HOSTADDRESS$ $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
}
サービス定義に
define service{
.....
event_handler my_restart
....
}
スクリプトで受け取る引数はコマンド ファイルで定義されているもので、スクリプトで echo $@ を実行することでも確認できます。リモート ホストに対して呼び出す場合のホスト アドレスとサービス状態 (CRITICAL、OK、または WARNING で異なるアクションを実行します) を知っておくことが重要です。
少なくとも最初はスクリプトにログイン機能を追加することをお勧めします。