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

Команда уведомления NAGIOS для службы / контактной группы

У нас есть 3 шаблона для сервисов, low-priority, high-priorty и medium-priorty. К контактной группе прикреплены низкоприоритетные услуги low, к контактной группе прикреплены услуги средней приоритетности medium и высокий приоритет (хорошо, вы, наверное, поняли).

Службы с низким приоритетом не уведомляют, уведомления со средним приоритетом отправляются по электронной почте, а предупреждения с высоким приоритетом отправляются по электронной почте и телефону. Но они этого не делают (пока)

Что мне нужно сделать, так это указать, что все предупреждения, генерируемые high-priorty службы должны запускать команды уведомления notify-service-by-email и notify-service-by-phone. Из чтения документации (и моих знаний о Nagios) единственный известный мне способ установить команды уведомлений - это service_notification_commands в контакте, но это будет означать, что для каждого контакта потребуется два определения: одно для телефона и одно для электронной почты. Как бы я получил high-priority услуги по вызову notify-service-by-phone команда?

Больше информации;

Шаблоны услуг

;High priority service (Alert by call, 1 min check period)
define service{
    name                high-priority-service
    notifications_enabled       1
    normal_check_interval       1
    contact_groups                  high
    use             generic-service
    register            0
    }

;Med priority service (Alert by email, 5 min check period)
define service{
    name                med-priority-service
    notifications_enabled       1
    normal_check_interval       5
    contact_groups                  medium
    use             generic-service
    register            0
    }

;Low priority service (No alert, 10 min check period)
define service{
    name                low-priority-service
    normal_check_interval       10
    use             generic-service
    register            0
    }

(generic-service это шаблон по умолчанию из конфигов NAGIOS с некоторыми настройками)

Сервисы

define service{
        use                             high-priority-service
        hostgroup_name                  generic-server-nrpe
        service_description             SSH
        check_command                   check_ssh
        }

Контактные группы

define contactgroup{
        contactgroup_name       low
        alias                   Low Priority Notifications
        members                 sam,[...]
        }

define contactgroup{
        contactgroup_name       medium
        alias                   Medium Priority Notifications
        members                 sam,[...]
        }

define contactgroup{
        contactgroup_name       high
        alias                   High Priority Notifications
        members                 sam,[...]
        }

Контакты

define contact{
        name                            generic-contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        register                        0
        }

define contact{
    contact_name    sam
    use             generic-contact
    alias           Sam
    email           sam[...]
    address1        +44[...]
    }

Похоже, вам нужно дважды определить свои контакты. Одно определение должно получать уведомления только по электронной почте, а другое определение - по электронной почте и по телефону.

define contact{
        name                            generic-contact-high
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email,notify-service-by-phone
        host_notification_commands      notify-host-by-email
        register                        0
        }

define contact{
        name                            generic-contact-med
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        register                        0
        }

Ваши контакты должны быть определены в соответствии с этими двумя типами контактов:

define contact{
    contact_name    sam-high
    use             generic-contact-high
    alias           Sam
    email           sam[...]
    address1        +44[...]
    }

define contact{
    contact_name    sam-med
    use             generic-contact-med
    alias           Sam
    email           sam[...]
    address1        +44[...]
    }