
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.