
Tengo a Nagios verificando el estado del servicio y enviando mensajes SMS sobre el estado del servicio.
Algunos problemas no son importantes por la noche y prefieren no enviarlos por la noche.
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
}
Sin embargo, por la mañana me gustaría que me enviaran todos los problemas, no sólo los nuevos. ¿Cómo puedo configurar eso?
¿O los nagios no tienen estas funciones?
Respuesta1
Algunos problemas no son importantes por la noche.
Como sugieres, Nagios te permite configurar períodos de tiempo que luego puedes aplicar a las comprobaciones, las notificaciones, los grupos de notificaciones y los usuarios individuales. Por supuesto, si especifica que se realizarán las comprobaciones pero no se enviará ninguna notificación, no verá el problema en su correo electrónico.pero puedes consultar el historial de alertas completo en cualquier momento en las páginas web de Nagios.. ¿Por qué no programar una tarea cron para enviarle por correo electrónico las alertas nocturnas a primera hora de la mañana? p.ej
0 8 * * * wget -O /tmp/nagios.html -i /home/user/nagioslist; mail [email protected] </tmp/nagios.html
Donde /home/user/nagioslist contiene 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
(Esto mostraría hasta 1000 estados duros detectados en las últimas 24 horas)
OTOH, puede configurar un script de notificación diferente para que se ejecute para las notificaciones que desea posponer y simplemente colocarlas en una cola para enviarlas más tarde (por ejemplo, usando 'at').
O puede configurar el MTA para que procese su correo saliente solo en intervalos específicos; combinado con diferentes direcciones de correo electrónico/diferentes asuntos, podrá priorizar/diferir el correo de manera efectiva según el destinatario/asunto/hora del día.
Respuesta2
No estoy seguro de si nagios no hace esto de forma predeterminada. Solo necesitaría revertir el período de notificación para que solo incluya las horas laborales en lugar de las horas no laborales.
Es fácil probar esto: simplemente defina una verificación que falle de forma predeterminada, establezca un período de tiempo de notificación correspondiente, comenzando unos minutos después de la hora actual y vea si recibe mensajes solo durante este período.
Si esto no funciona, podría intentar jugar con esquemas de escalada, enviando correos electrónicos por la noche y SMS durante su horario laboral, con la ayuda de la declaración escalation_period.