Наше текущее обслуживание требует, чтобы сервисы были остановлены.
Проблема в том, что в этих сервисах есть проверки Nagios, и нам нужно либо перейти в веб-интерфейс и отключить проверку, либо получить электронные письма.
Есть ли способ из командной строки в гостевой системе Windows и / или Linux отключить проверку Nagios (или уведомления) и включить ее? В идеале это должно происходить на машине, на которой мы выполняем обслуживание, а не на самом сервере Nagios.
Я хотел бы отключить уведомления / проверки перед обслуживанием и снова включить их после обслуживания.
Предполагая, что гость может получить доступ к веб-интерфейсу, должны работать следующие командные строки:
Чтобы отключить уведомления
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"
В зависимости от ваших настроек вам также может потребоваться использовать параметры --insecure или --user для curl.
И IIRC, номер cmd_type отличается для групп обслуживания и хостов - посмотрите, какие ссылки используются в вашем веб-браузере.
Вы можете включить / отключить уведомление хоста с помощью nagios.cmd команда
например:
Отключить все уведомления для моего хоста
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
Включить все уведомления для моего хоста
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 Notification
Для такого использования вы можете отредактировать свой файл служб nagios и отключить проверку всех служб на этом хосте, как вы делали в веб-интерфейсе, и это требует модификации некоторых параметров.
Рассмотрим пример. Если вам нужно отключить проверки службы DNS на машине nibiru, отключите активные / пассивные проверки, как показано ниже.
define service{
host_name nibiru
service_description DNS
...
active_checks_enabled 0 ; set value to 0
passive_checks_enabled 0 ; set value to 0
...
}