Вопрос: Nagios - Определить как сервис для всех членов группы * кроме * некоторых хостов?


Мы используем nagios для проверки работы нашего сервера ssh. У нас есть группа check_ssh, определенная для всех членов определенной группы. У нас есть другие сервисы, определенные для этой группы. Все отлично. Однако для 2 членов этой группы они слушают ssh на другом порту. Поэтому я должен сделать для них новую услугу. Это хорошо, но затем nagios жалуется, что я определяю службу SSH дважды для одного и того же хоста.

Могу ли я изменить исходный сервис ssh, чтобы включить всех членов группы A, но исключить хосты X и Y?


4
2017-07-31 13:18


Источник




Ответы:


Используйте директиву host_name в определении службы с восклицанием перед именем хоста. Например:

define service{
        service_description     CPU Stats
        servicegroups   sysres
        use             generic
        hostgroup_name  linux
        host_name       !server1
        check_command   check_iostat
}

9
2017-07-31 13:26





Извините, если эта ветка устарела, но я решил эту точную проблему, поскольку @arun реализовал это решение.

Я еще не нашел, почему именно, и как их повторно включить, но с регулярными выражениями в моем nagios.cfg остановлен «!». (отрицание хоста / группы), работающее для меня.

Как только я отключил его (установите use_regexp_matching = 0 в nagios.cfg), я смог использовать их в порядке.

(nagios 3.3.1, x86_64)


3
2017-07-18 00:37



Вы когда-нибудь узнавали, как одновременно использовать как регулярное выражение, так и исключение хоста? - Adrian Frühwirth
Нет, извините Адриана, меня потянули на другой проект, но мне было бы интересно узнать, есть ли кто-нибудь, или он исправлен и т. Д. - herdingofthecats


define service{
    service_name myservice
    hostgroup_name mygroup
    host_name !dontmonitorthis,!orthis
}

2
2017-07-31 13:28