Мне было интересно, есть ли возможность, что Nagios может прекратить мониторинг хоста, если он выключен, и включить мониторинг, когда он включен?
Идея заключалась в том, чтобы использовать мой сервер Nagios, который будет отслеживать, выключен ли сервер-клиент, с помощью сценария, который использует API, и если сервер-клиент отключен, он автоматически удалит свой мониторинг на нем, но если сервер включен, он будет автоматически переустановить мониторинг в шаблоны,
Причина, по которой мне это нужно, заключается в том, что есть почасовые серверы КЛИЕНТОВ, которые мы также должны отслеживать, и когда ежечасные серверы отключены, он СПАМЕТ НАС предупреждениями.
Я знаю, что есть способы лучше; Я приветствую любое решение.
Вы не можете легко контролировать хозяин если он будет включаться / выключаться в неопределенное время, но вы все равно можете отслеживать службы на хосте.
Если вы не включите уведомления хоста, вы не будете получать уведомления, когда хост отключается / запускается, а уведомления службы будут подавлены, когда хост не работает. Это означает, что вы будете получать сервисные уведомления, когда хост включен, но ничего, когда хост не работает. Веб-интерфейс будет выглядеть беспорядочно, но логика уведомлений будет работать.
В качестве альтернативы вы можете использовать пассивные проверки (вместо активных проверок), и просто попросите хост отправить результаты проверки службы по некоторому расписанию (например, через cron).
Чтобы действительно достичь того, о чем вы конкретно просили (автоматическое удаление мониторинга хоста, когда он выключен), потребуется использовать адаптивный мониторинг, что является довольно сложной темой.
Что мне нравится в Nagios, так это то, что фреймворк предоставляет достаточно инструментов для решения сложных задач мониторинга. Это скорее подход к решению этой задачи, чем решение.
Как отмечает @kasperd выше, Nagios не имеет механизма, чтобы определить, включен / выключен хост или сломан. Если вы можете создать сценарий, чтобы определить, должен ли хост быть включен, то этот подход будет работать.
Nagios поддерживает идею зависимостей хоста и / или сервиса. Идея состоит в том, что хост или служба не считается отключенной, если одна из зависимостей не работает. Учитывая это, вы могли:
Определите клиентский хост "A", за которым нужно следить.
Определите хост «Вкл. / Выкл.», Который будет использоваться для определения, выключен ли хост.
Сделать хост «A» зависимым от хоста «B»
С этой конфигурацией уведомление для хоста A будет обрабатываться только в том случае, если хост «B» нормальный. См. Раздел «Зависимость хоста» в документации. В качестве альтернативы вы можете сделать это с помощью специальной проверки хоста, которая определяет как состояние «должно быть включено», так и фактическое состояние, и возвращает правильный статус.