Como fazer com que o nagios não envie mensagens durante a noite e pela manhã para enviar todos os erros restantes

Como fazer com que o nagios não envie mensagens durante a noite e pela manhã para enviar todos os erros restantes

Tenho o Nagios verificando o status do serviço e enviando mensagens SMS sobre o status do serviço.

Alguns problemas não são importantes à noite e preferem não enviá-los à noite.

define timeperiod{
    timeperiod_name non_work
    alias       Non work hours
    sunday      00:00-24:00
    monday      00:00-09:00,18:00-24:00
    tuesday     00:00-09:00,18:00-24:00
    wednesday   00:00-09:00,18:00-24:00
    thursday    00:00-09:00,18:00-24:00
    friday      00:00-09:00,18:00-24:00
    saturday    00:00-24:00
}

Porém, pela manhã gostaria que todos os problemas, e não apenas os novos, fossem enviados. Como posso configurar isso?

Ou os nagios não possuem essas funções?

Responder1

Alguns problemas não são importantes à noite

Como você sugere, o Nagios permite configurar períodos de tempo que você pode aplicar às verificações, às notificações, aos grupos de notificação e aos usuários individuais. É claro que se você especificar que as verificações serão realizadas, mas nenhuma notificação for enviada, você não verá o problema em seu e-mailmas você pode ver o histórico completo de alertas a qualquer momento nas páginas do Nagios. Por que não agendar um cron job para enviar por e-mail os alertas noturnos logo pela manhã? por exemplo

0 8 * * * wget -O /tmp/nagios.html -i /home/user/nagioslist; mail [email protected] </tmp/nagios.html

Onde /home/user/nagioslist contém algo como:

http://example.com/nagios/cgi-bin/summary.cgi?report=1&displaytype=1
   &timeperiod=last24hours&hostgroup=all&servicegroup=all&host=all&alerttypes=3
   &statetypes=2&hoststates=7&servicestates=120&limit=1000

(isso exibiria até 1.000 estados rígidos detectados nas últimas 24 horas)

OTOH, você pode configurar um script de notificação diferente para executar as notificações que deseja adiar e simplesmente colocá-las em uma fila para serem enviadas posteriormente (por exemplo, usando 'at').

Ou você pode configurar o MTA para processar suas mensagens de saída apenas em intervalos específicos - combinado com diferentes endereços de e-mail/assuntos diferentes, então você pode efetivamente priorizar/adiar mensagens com base no destinatário/assunto/hora do dia.

Responder2

Não tenho certeza se o nagios não faz isso por padrão. Você só precisaria reverter o período de notificação para incluir apenas o horário de trabalho em vez do horário de folga.

É fácil testar isso: basta definir uma verificação que falhe por padrão, um período de notificação definido de acordo, começando alguns minutos após o horário atual e ver se você recebe mensagens apenas nesse período.

Caso isso não funcione, você pode tentar brincar com esquemas de escalonamento, enviando e-mails durante a noite e SMS durante o horário de trabalho, com a ajuda da instrução escalation_period.

informação relacionada