Eu uso a seguinte configuração para enviar um email uma vez por dia. Isso me faz saber que tudo está bem com o meu servidor Nagios, o sistema de e-mail e a configuração do Nagios.
# nagios/objects/localhost.cfg
....
# Send a message once per day to make sure nagios is working ok
define service{
use local-service
host_name localhost
service_description Nagios is OK
check_command check_all_is_well
check_period morning ; this is a custom period
normal_check_interval 60
; setting this to an hour and making the check_period
; interval 59 minutes long each day ensures it only
; happens once per day in a specific window
}
e no seu arquivo de configuração timeperiods:
# nagios/objects/timeperiods.cfg
....
define timeperiod{
timeperiod_name morning
alias First thing in the am
monday 06:00-6:59
tuesday 06:00-6:59
wednesday 06:00-6:59
thursday 06:00-6:59
friday 06:00-6:59
saturday 06:00-6:59
sunday 06:00-6:59
}
E o comando check_all_is_ok é um simples wrapper em torno do sendmail:
# check_all_is_ok
#!/bin/bash
echo "All is well from Nagio on 'hostname'" \
| /etc/nagios/sendmail -s "Nagios on PIP is OK" <your email address>
echo "OK: nagios is ok on 'hostname'";
exit 0
Ele não verifica se não houve problemas nas 24 horas anteriores, mas você pode adicionar um pouco do grep-ping dos registros, como guanta sugerido, se precisar. Você também pode realizar o requisito de uma vez por dia definindo normal_check_interval como 1440 (24 horas), mas eu quero que a verificação seja executada em uma janela específica a cada dia.