Escalação de notificação do Nagios

4

Tenho o Nagios configurado corretamente e estou procurando fazer algumas coisas (pequenas) estranhas com notificações.

O que queremos fazer é que as três primeiras notificações sejam disparadas com 5 minutos de intervalo, se ninguém responder, as próximas 3 a cada 30 minutos, e além disso, com 60 minutos de intervalo. Eu tenho tudo funcionando corretamente também.

A última parte do que eu quero fazer é onde o problema ocorre. Eu quero que essas notificações repetidas NÃO enviem durante a noite (entre 23:00 e 08:00), mas para todas as NOVAS notificações, essas devem enviar. O que está acontecendo é que a terceira escalação (a de 60 minutos) funciona bem até as 23:00 e depois volta para o nível de 5 minutos porque está fora do escalation_period que eu configurei.

Eu pensei que poderia contornar isso definindo outro período de escalonamento que é executado durante as horas "noturnas", mas isso também não funcionou. Aqui está o que eu tenho para a configuração:

define service{
        use                             generic-service
        host_name                       mercury
        service_description             ROB_TEST2
        check_command                   check_pop
        contact_groups                  robonly
        }

define serviceescalation{
        host_name                       mercury
        service_description             ROB_TEST2
        first_notification              3
        last_notification               5
        notification_interval           30
        contact_groups                  robonly
        }
define serviceescalation{
        host_name                       mercury
        service_description             ROB_TEST2
        first_notification              6
        last_notification               9999
        notification_interval           60
        contact_groups                  robonly
        escalation_period               daytime
        }
define serviceescalation{
        host_name                       mercury
        service_description             ROB_TEST2
        first_notification              6
        last_notification               9999
        notification_interval           60
        contact_groups                  nobody
        escalation_period               nighttime
        }

Alguma opinião?

    
por Rob Williams 17.06.2011 / 14:58

2 respostas

1

Acho que funcionaria se você especificasse o período de tempo no contato. Defina o contato duas vezes: uma com notificações à noite e novamente com notificações apenas durante o dia.

define service{
    use                             generic-service
    host_name                       mercury
    service_description             ROB_TEST2
    check_command                   check_pop
    contacts                        rob_daytime, rob_nighttime
    }

define serviceescalation{
    host_name                       mercury
    service_description             ROB_TEST2
    first_notification              3
    last_notification               5
    notification_interval           30
    contacts                        rob_daytime, rob_nighttime
    }

define serviceescalation{
    host_name                       mercury
    service_description             ROB_TEST2
    first_notification              6
    last_notification               9999
    notification_interval           60
    contacts                        rob_daytime
    }

define contact{
    contact_name                    rob_daytime
    service_notification_period daytime
    ...
    }

define contact{
    contact_name                    rob_nighttime
    service_notification_period nighttime
    ...
    }

Isso deve lhe dar uma boa noite de sono, mesmo que uma escalação esteja ocorrendo por alguns dias.

Nota : eu não testei isso sozinho; -)

    
por 21.05.2012 / 20:11
1

Seja muito cuidadoso caso decida limitar qualquer coisa por last_notification. Pelo menos com as versões que conheço, entrar em escalonamento não redefine esse contador, o que é relativamente inofensivo. As transições do WARN para o CRIT também não irão - o que tende a acabar mortalmente.

    
por 21.05.2012 / 21:11

Tags