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

Установить статус хоста из статуса службы на Nagios

Я слежу за сервером с помощью Nagios. Я настроил это так:

host{
name http_server
}

service{
name check-http
host_name http_server
check_command check_http
}

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

Спасибо!

хммм.

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

Я бы не стал этого делать. Я бы использовал страницы «тактического обзора» или «Проблемы». Если вам нужно что-то более интересное, взгляните на NagVis.

В приведенном вами примере у вас есть только одна служба на хосте. В таком случае у меня есть для вас простой ответ!

host{
    name http_server
    check_command check_http
    }

Это сделает состояние HOST зависимым от статуса команды.

Если у вас есть несколько служб, которые вы хотите объединить, рассмотрите следующий подход, но я не уверен, что он сработает.

  • Создайте новую службу, представляющую общее состояние машины. Не имеет большого значения, что это за check_command на самом деле - возможно, check_dummy?
  • Создайте набор объектов ServiceDependency, которые делают эту новую службу зависимой от всех других служб на интересующем вас узле. Итак, когда они терпят неудачу, эта служба также терпит неудачу (или находится в состоянии предупреждения, или неизвестно, или как вы предпочитаете).
  • Сделайте эту новую службу командой check_command для хоста.

Последний шаг, в котором я не уверен. Для этого требуется передать службу как команду check_command, и я не знаю, действительно ли это законно.