web-dev-qa-db-ja.com

Nagios:Windows / Linuxのコマンドラインからの通知を無効にします

私たちの定期的なメンテナンスでは、サービスを停止する必要があります。

問題は、これらのサービスにNagiosチェックがあり、Webインターフェイスにアクセスしてチェックを無効にするか、電子メールを取得する必要があることです。

Windowsおよび/またはLinuxゲストのコマンドラインからNagiosチェック(または通知)を無効にして有効にする方法はありますか?理想的には、これはNagiosサーバー自体ではなく、メンテナンスを実行しているマシンで発生します。

メンテナンス前の通知/チェックを無効にし、メンテナンス後にそれらを再度有効にしたいと思います。

5
andyhky

ゲストがWebインターフェースにアクセスできると仮定すると、次のコマンドラインが機能するはずです。

通知を無効にする

curl -d "cmd_typ=23&cmd_mod=2&Host=[THE Host]&service=[THE SERVICE]&btnSubmit=Commit" "http://[[NAGIOS SERVER]/nagios/cgi-bin/cmd.cgi"

通知を有効にするため

curl -d "cmd_typ=22&cmd_mod=2&Host=[THE Host]&service=[THE SERVICE]&btnSubmit=Commit" "http://[[NAGIOS SERVER]/nagios/cgi-bin/cmd.cgi"

設定によっては、curlの--insecureまたは--userオプションを使用する必要がある場合もあります。

IIRCでは、cmd_type番号はサービスグル​​ープとホストグループで異なります。Webブラウザーで使用されているリンクを確認してください。

7
Matt

nagios.cmdコマンドでホスト通知を有効/無効にできます

例えば:

My-Hostのすべての通知を無効にする

now=`date +%s`
#Check first path nagios.cmd & printf 
commandfile='/var/lib/nagios3/rw/nagios.cmd'  

/usr/bin/printf "[%lu] DISABLE_Host_NOTIFICATIONS;my-Host\n" $now > $commandfile

My-Hostのすべての通知を有効にする

now=`date +%s`
#Check first path nagios.cmd & printf 
commandfile='/var/lib/nagios3/rw/nagios.cmd'  
/usr/bin/printf "[%lu] ENABLE_Host_NOTIFICATIONS;my-Host\n" $now > $commandfile

このURLも確認できます Nagios通知コマンド

2
nikitux

このような用途では、nagiosサービスファイルを編集し、Webインターフェースで行ったように、このホスト上のすべてのサービスのチェックを無効にし、いくつかのオプションの変更が必要になる場合があります。
例を見てみましょうマシンnibiruでDNSサービスのチェックを無効にする必要がある場合は、次のようにアクティブ/パッシブチェックを無効にします。


define service{
    Host_name               nibiru
    service_description     DNS
    ...
    active_checks_enabled   0  ; set value to 0
    passive_checks_enabled  0  ; set value to 0
    ...
}
0
Ali Mezgani