URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 82416
[ Назад ]

Исходное сообщение
"nagios и contacts groups"

Отправлено Nerian , 15-Окт-08 17:42 
Всем привет, может кто сможет подсказать.

В нагиосе описано много хостов, и шаблоном заданы несколько сервисов типа пинга и snmp трапов которые есть на каждом хосте.

Как для этих сервисов сделать так чтобы в зависимости от contact_group хоста приходили сообщения?

Тоесть обычно в нагиос если описать сервис:

define host{
        use                     generic-host  ; Name of template
        host_name               novell-msk
        ...
        hostgroup                  novell-msk
        }

define host{
        use                     generic-host  ; Name of template
        host_name               novell-ptr
        ...
        hostgroup                  novell-ptr
        }

define service{
        use                             generic-service         ; Name of service template
        hostgroup_name                  *
        service_description             FTP
        ...
        contact_groups                  novell-admins
        check_command                   check_tcp!510!
        }

нужно чтобы тем кто в группе novell-ptr приходили только о ptr, а тем кто в msk только в msk... совсем уже запутался.


Содержание

Сообщения в этом обсуждении
"nagios и contacts groups"
Отправлено Drag0n7 , 16-Окт-08 11:57 
К сожалению в описании группы хостов нет возможности задать контакт-группу.
http://nagios.sourceforge.net/docs/3_0/objectdefinitions.htm...

Но для каждого хоста можно задать с помощью опций contacts или contact_groups
http://nagios.sourceforge.net/docs/3_0/objectdefinitions.htm...


"nagios и contacts groups"
Отправлено Nerian , 16-Окт-08 14:09 
>К сожалению в описании группы хостов нет возможности задать контакт-группу.
>http://nagios.sourceforge.net/docs/3_0/objectdefinitions.htm...
>
>Но для каждого хоста можно задать с помощью опций contacts или contact_groups
>
>http://nagios.sourceforge.net/docs/3_0/objectdefinitions.htm...

Спасибо за ответ, я наверное просто вопрос не правильно задал.
Попробую подругому объяснить что хотелось бы получить.

У меня есть 100 хостов, и к примеру два сервиса, которые висят на всех этих хостах.
Они описаны вот так:

define service{
        ...
        hostgroup_name                  *
        service_description             FTP
        ...
        contact_groups                  novell-admins
        }

define service{
        ...
        hostgroup_name                  *
        service_description             PING
        ...
        contact_groups                  novell-admins
        }

Тоесть благодоря hostgroup_name * сервис не приходиться для каждого хоста прописывать. Но тогда встаёть вопрос как разделить уведомления об этих сервисах. Тоесть чтоб за одни 50 хостов на которых висит данный сервис приходило сообщение одному человеку, а за другие 50 другому. Грубо говоря чтоб уведомления о сервисах приходило тому кто в contact(contact_group) хоста, а не сервиса.


"nagios и contacts groups"
Отправлено Nimdar , 16-Окт-08 15:00 
>[оверквотинг удален]
>          
>   novell-admins
>        }
>
>Тоесть благодоря hostgroup_name * сервис не приходиться для каждого хоста прописывать. Но
>тогда встаёть вопрос как разделить уведомления об этих сервисах. Тоесть чтоб
>за одни 50 хостов на которых висит данный сервис приходило сообщение
>одному человеку, а за другие 50 другому. Грубо говоря чтоб уведомления
>о сервисах приходило тому кто в contact(contact_group) хоста, а не сервиса.
>

Если я правильно понял задачу, то проблему можно решить используя шаблоны. Например для хостов будет следующим образом.

Создаём два шаблона:
1. define host {
        name                            template-host-1    ; The name of this host template
        contact_groups               group1          ; Notifications get sent to the admins by default
        register                        0               ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
        }

2. define host {
        name                            template-host-2    ; The name of this host template
        contact_groups               group2          ; Notifications get sent to the admins by default
        register                        0               ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
        }

Далее в описаниях хостов:
define host{
        use                     template-host-1
         name           host1
           ....
           .....
        }

define host{
        use                     template-host-2
         name            host2
           ....
           .....
        }

Соответственно, точно так же можно рулить и сервисами.