Назад | Перейти на главную страницу

Nagios: отключить уведомления из командной строки в Windows / Linux.

Наше текущее обслуживание требует, чтобы сервисы были остановлены.

Проблема в том, что в этих сервисах есть проверки 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
    ...
}