Nagiosのアラート通知
そもそも、nagiosの監視ってホストとサービスで分かれていて、個別にアラート通知が行われてる。
で、例えば特定のサービスのメンテナンスとかで監視NGになるけどアラート飛ばさなくていいよって場合、
Webページ側からちまちまとやるんだけど、対象が多いとひたすらにうざい。。。
自動化
ここのところ潮流になってる自動化のビッグウェーブにのってアラート飛ばさない設定を
ある程度自動でやってしまえるという話。
ざっくりとは、この方の記事を参考にするとまぁ分かる。
Nagiosには基本的にAPIとかってなくて(あるよって人は教えてくれると嬉しいです)、
外部コマンドというなんか頑張ってるものがあります。
外部コマンドに特定のパラメータを組合せることで、わざわざマウスクリックを連打しなくてすむようになります。
↑で紹介した記事内で下記のコマンドが実行されてるんですが、
# echo "[$(date +%s)] DISABLE_HOST_SVC_NOTIFICATIONS;test01" > /var/spool/nagios/cmd/nagios.cmd
これなにやってるかというと、
- [$(date +%s)]
- [UTC表記時間]
- DISABLE_HOST_SVC_NOTIFICATIONS;test01
- DISABLE_HOST_SVC_NOTIFICATIONS
- ホストの全てのサービスの通知無効
- test01
- 通知を止めたいホスト名
- /var/spool/nagios/cmd/nagios.cmd
- 外部コマンドのフルパス
- ※パッケージからインストールしている場合
- ※ソースから入れている場合、特にインストールディレクトリを変更していなければ下記
- 外部コマンドのフルパス
- DISABLE_HOST_SVC_NOTIFICATIONS
$ /usr/local/nagios/var/rw/nagios.cmd
実際に実行すると、/usr/local/nagios/var/nagios.logに↓のように記録される。
[1461240837] EXTERNAL COMMAND: DISABLE_HOST_SVC_NOTIFICATIONS;testo1
なのでこいつを上手く利用してやればいい。
上の例は、特定のホストの全サービスだったけど、特定のサービスだけ適応…といったことも可能