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

У меня следующая конфигурация:

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 ни при каких обстоятельствах по неизвестным мне причинам.

0
задан 10 April 2018 в 13:29
4 ответа

Вы можете просто добавить альтернативный способ проверки живого хоста (например, 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

3
ответ дан 4 December 2019 в 11:25
[11959898] Нельзя просто не проверить хост, но можно использовать любой плагин в качестве проверки хоста.

В случаях, когда check_ping или check_icmp не является опцией, следующим лучшим вариантом будет использование check_tcp, направленного на открытый порт (цель - что-то стабильное типа ssh, что является хорошим аналогом для "это хозяин вверх").

Если вы действительно не можете проверить хост, всегда есть check_dummy, но это испортит логику проверки/уведомления, в результате чего будет выдаваться уведомление для каждого сервиса на хосте, если/когда это произойдет.

.
2
ответ дан 4 December 2019 в 11:25

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

0
ответ дан 4 December 2019 в 11:25

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

.
0
ответ дан 4 December 2019 в 11:25

Теги

Похожие вопросы