Благодаря сторожевому таймеру Intel TCO некоторые серверы, которыми я управляю, теперь перезагружаются при сбое ядра или оборудования, а сценарии инициализации теперь даже «безопасны для перезагрузки». К сожалению, это означает, что я больше не получаю уведомление от nagios, когда машина вышла из строя, потому что служба просто выполняет резервное копирование до того, как проверки сработают достаточно раз, чтобы отправить уведомление.
Есть ли там надежный сценарий или проверка nagios, которые позволят мне получить уведомление, если, скажем, машина выйдет из строя, скажем, 3 раза за последние 48 часов?
На Nagios Exchange есть несколько вариантов "check_uptime". Это позволяет отслеживать быстрые перезагрузки, не устанавливая max_check_attempts равным 1 или 2 для проверки хоста (что предотвращает ложные срабатывания).
Вот этот, например, можно запустить через NRPE (использует uptime
), но также можно проверить через SNMP (Linux, Windows и т. д.).
Как насчет того, чтобы написать такое? Легче всего было бы бежать uptime
в сценарии. Немного лучше было бы добавить сценарий инициализации, который отображает время во вращающийся файл журнала. Возьмите последние три записи в файле и проверьте время, прошедшее с момента первой.