Comando de notificação NAGIOS para service / contactgroup

5

Temos três modelos para serviços, low-priority , high-priorty e medium-priorty . Serviços de baixa prioridade são anexados ao contactgroup low , serviços de prioridade média são anexados ao grupo de contato medium e alta prioridade (OK, você provavelmente já entendeu).

Serviços de baixa prioridade não são notificados, alertas de prioridade média são notificados por e-mail e alertas de alta prioridade são notificados por e-mail e telefone. Exceto que eles não (ainda)

O que eu preciso fazer é especificar que os alertas gerados por high-priorty services devem executar os comandos de notificação notify-service-by-email e notify-service-by-phone . A partir da leitura da documentação (e do meu conhecimento do Nagios) a única maneira que sei de definir comandos de notificação é a opção service_notification_commands em um contato, mas isso significaria que cada contato precisaria de duas definições, uma para telefone e outra para email. Como eu obteria o high-priority services para chamar o comando notify-service-by-phone ?

Mais informações;

Modelos de serviço

;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 é o modelo padrão das configurações do NAGIOS com alguns ajustes)

Serviços

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

Grupos de contato

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,[...]
        }

Contatos

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[...]
    }
    
por Smudge 07.12.2011 / 20:58

1 resposta

2

Parece que você precisa definir seus contatos duas vezes. Uma definição a ser notificada apenas por email e outra definição a ser notificada por email e telefone.

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
        }

Seus contatos devem ser definidos de acordo com esses dois tipos de contatos:

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[...]
    }
    
por 07.12.2011 / 21:18

Tags