私たちの定期的なメンテナンスでは、サービスを停止する必要があります。
問題は、これらのサービスにNagiosチェックがあり、Webインターフェイスにアクセスしてチェックを無効にするか、電子メールを取得する必要があることです。
Windowsおよび/またはLinuxゲストのコマンドラインからNagiosチェック(または通知)を無効にして有効にする方法はありますか?理想的には、これはNagiosサーバー自体ではなく、メンテナンスを実行しているマシンで発生します。
メンテナンス前の通知/チェックを無効にし、メンテナンス後にそれらを再度有効にしたいと思います。
ゲストが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ブラウザーで使用されているリンクを確認してください。
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通知コマンド
このような用途では、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
...
}