Я использую icinga2 для мониторинга и хочу включить такие устройства, как NVR, расположенные на сайтах клиентов. Их нельзя пинговать, чтобы проверить состояние хоста.
Агент Icinga2 прекрасно сообщает обо всем, что мне нужно, без необходимости перенаправлять определенные порты.
Однако само состояние хоста всегда «ВНИЗ», потому что это проверяется с помощью команды ping. Мне нужно, чтобы хост считался «ВЫКЛЮЧЕННЫМ» только в том случае, если агент не сообщил о чем-либо своевременно. На данный момент я проверяю веб-сайт HTTPS, который предоставляет сетевой видеорегистратор, но это не совсем то, что мне нужно, поскольку вполне возможно, что служба сетевого видеорегистратора не работает, но само устройство работает.
Проверка по умолчанию установлена в generic-host
называется hostalive
, который проверит, доступен ли хост каким-либо образом.
Вам нужно будет изменить состояние хоста на фиктивную проверку. Поскольку Icinga2 всегда хочет знать, жив ли еще хост.
Пример:
template Host "non-pingable" {
import "generic-host"
check_command = "dummy"
vars.dummy_state = 0
vars.dummy_text = "Host can not be pinged, should be up, hopefully..."
}
Это запустит очень общую проверку, но установит состояние вашего хоста на UP.
Вы также можете использовать любую другую проверку, например SSH или тест порта.
Я бы использовал для этого проверку соединения кластерной зоны, чтобы убедиться, что клиент хоста действительно доступен и подключен.
Установите vars.cluster_zone в своем объекте хоста на зону клиента и также замените команду проверки хоста.