nagios - перепроверить сервис после того, как машина "вышла из строя"
Допустим, у меня есть nagios
клиент. У него запланированное время простоя с 8:00 понедельника до 8:00 вторника, и машина выключена на все время.
Есть сервисная проверка, которую он выполняет один раз в день
check_interval 1440
Допустим, проверка запланирована на 8 вечера. Итак, в понедельник в 8 часов вечера происходит проверка, и она терпит неудачу, и nagios
ничего не делает, потому что запланированное время простоя.
Вторник в 8 утра. Машина возвращается. Но эта одна услуга останется в CRITICAL
состояние до 8 вечера, когда происходит следующая запланированная проверка.
Есть ли способ, которым я могу сказать nagios
"Поддерживать check interval 1440
; но, если вы видите, что машина опускается и снова поднимается, выполните принудительную повторную проверку независимо от интервала "?
1 ответ
Я получил ответ с другого форума.
Я прикрепил обработчик событий (TIL) к своему хост-объекту:
define host{
use linux-server ; Inherit default values from a template
host_name volvo ; The name we're giving to this host
alias volvo ; A longer name associated with the host
event_handler host_state_change
}
Связал мое новое имя обработчика событий с сценарием оболочки
define command{
command_name host_state_change
command_line $USER1$/eventhandlers/hostup.sh $HOSTNAME$ $HOSTSTATE$
}
И создал сценарий, который проверяет, что является новым состоянием (то есть оно изменилось с ВНИЗ на ВВЕРХ, поэтому я ищу ВВЕРХ) и принудительно проверяет сервис через командный файл
printf "[%lu] SCHEDULE_FORCED_SVC_CHECK;$hostname;serial_number;$NOW\n" $NOW > $COMMANDFILE