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

Можно ли исключить определенные хосты из команды check_command Nagios

У меня такая конфигурация:

define host {
name                            generic-host

[...]

check_command                   check-host-alive

[...]

register                        0
}

чек-хост-жив - это проверка связи по умолчанию, которая сообщает о критической ситуации, когда происходит 100% потеря пакетов или время приема-передачи 5000 мс.

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

Хост определяется так:

define host {
host_name                   some.example.com
use                         generic-host
hostgroups                  my-servers
address                     127.0.0.1
}

Поскольку в моей конфигурации несколько серверов, и все они должны быть проверены, живы ли они, мне нужно исключить этот единственный из чек-хост-жив чек. Есть ли способ сделать это?

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, но это испортит логику проверки / уведомления, что приведет к уведомлению для каждой службы на хосте, если / когда она выйдет из строя.

generic-host - это ваш базовый шаблон, и если вы хотите изменить параметр унаследованных значений, вы можете перезаписать параметр своим собственным.

Вы должны иметь возможность установить "check_enabled 0" для этого хоста. Но рекомендация Свена об альтернативной команде check_command, вероятно, лучше.