Могу ли я остановить мониторинг хоста, если он выключен, и включить мониторинг, когда он включен?

Мне было интересно, есть ли вероятность, что Nagios может прекратить мониторинг хоста, если он выключен, и включить мониторинг, когда он включен?

Идея заключалась в том, чтобы использовать мой сервер Nagios, который будет отслеживать, выключен ли сервер CLIENT через скрипт, использующий API, и если сервер CLIENT выключен, он автоматически удалит свой мониторинг на нем, но если сервер включен, он будет переустановить мониторинг автоматически в шаблоны,

Причина в том, что мне это нужно, потому что существуют почасовые серверы CLIENT, которые мы также должны отслеживать, а когда почасовые серверы выключены, они рассылают нам предупреждения.

Я знаю, что есть лучшие способы для этого; Я приветствую каждое решение.

2 ответа

Вы не можете легко контролировать хост, если он будет включен / выключен в неопределенное время, но вы все равно можете контролировать сервисы на хосте.

Если вы не включите уведомления хоста, вы не будете получать уведомления, когда хост отключается / поднимается, а сервисные уведомления будут подавлены, когда хост выключен. Это означает, что вы будете получать сервисные уведомления, когда хост работает, но ничего, когда хост не работает. Веб-интерфейс будет выглядеть как беспорядок, но логика уведомлений будет работать.

В качестве альтернативы, вы можете использовать пассивные проверки (вместо активных проверок) и просто сделать так, чтобы хост отправлял результаты проверки службы по какому-то расписанию (например, через cron).

Чтобы действительно достичь того, о чем вы конкретно спрашивали (автоматическое удаление мониторинга хоста, когда он выключен), потребуется использование адаптивного мониторинга, что является довольно сложной темой.

Что мне нравится в Nagios, так это структура, предоставляющая достаточно инструментов для решения сложных задач мониторинга. Это скорее подход к решению этой проблемы, а не решение.

Как отмечает @kasperd выше, у Nagios нет механизма, позволяющего определить, включен ли хост в выключенном состоянии или нет. Если вы можете написать сценарий, чтобы определить, должен ли хост быть "включен", тогда этот подход будет работать.

Nagios поддерживает идею зависимостей хоста и / или сервиса. Идея заключается в том, что хост или служба не будут отключены, если одна из зависимостей не работает. Учитывая это, вы могли бы:

  • Определите клиентский хост "А", который нужно отслеживать

  • Определите "вкл / выкл" хост "B", который будет использоваться, чтобы определить, выключен ли хост

    • Разработайте собственный скрипт проверки, который может определить, включен ли хост. Имейте это в виду, если хост выключен. нормально если вкл.
  • Сделать хост "A" зависимым от хоста "B"

С помощью этой конфигурации уведомление для хоста A будет обрабатываться только в том случае, если хост "B" работает нормально. См. Host Dependency в документации. В качестве альтернативы вы можете сделать это с помощью пользовательской проверки хоста, которая определяет как "должно быть включено", так и фактическое состояние и возвращает правильный статус.

Другие вопросы по тегам