У меня следующая конфигурация:
define host {
name generic-host
[...]
check_command check-host-alive
[...]
register 0
}
check-host-alive - это проверка связи по умолчанию, которая сообщает о критической ситуации, когда происходит 100% потеря пакетов или время приема-передачи 5000 мс.
При определении хоста я использую это как шаблон. Теперь мне нужно отслеживать хост, который блокирует запросы ICMP / Echo, и Nagios постоянно сообщает мне, что он отключен.
Хост определяется следующим образом:
define host {
host_name some.example.com
use generic-host
hostgroups my-servers
address 127.0.0.1
}
Поскольку в моей конфигурации несколько серверов, и все они должны быть проверил, живы ли они, мне нужно исключить этот единственный из проверки check-host-alive . Есть ли способ сделать это?
PS: Системные администраторы, ответственные за отслеживаемый сервер, не будут разрешать запросы ICMP / Echo ни при каких обстоятельствах по неизвестным мне причинам.
Вы можете просто добавить альтернативный способ проверки живого хоста (например, SSH, HTTP или что-то еще, что имеет смысл в вашем окружении), который отменяет определение в вашем шаблоне.
define host {
host_name some.example.com
use generic-host
hostgroups my-servers
address 127.0.0.1
check_command ssh-check
}
Конечно, вы должны определить ssh-check
, чтобы это сработало.
Смотрите https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/objectinheritance.html
В случаях, когда check_ping
или check_icmp
не является опцией, следующим лучшим вариантом будет использование check_tcp
, направленного на открытый порт (цель - что-то стабильное типа ssh, что является хорошим аналогом для "это хозяин вверх").
Если вы действительно не можете проверить хост, всегда есть check_dummy
, но это испортит логику проверки/уведомления, в результате чего будет выдаваться уведомление для каждого сервиса на хосте, если/когда это произойдет.
Вы должны иметь возможность установить "check_enabled 0" для этого одного хоста. Но рекомендация Свена об альтернативной команде check_command, вероятно, лучше.
generic-host
является вашим базовым шаблоном, и если вы хотите изменить параметр Унаследованных значений, вы можете перезаписать параметр своим собственным