Supondo que a interval_length
diretiva esteja configurada para 60 por padrão:
$ grep interval_length /usr/local/nagios/etc/nagios.cfg
# This value works of the interval_length you specify later. If you leave
# actual seconds rather than a multiple of the interval_length variable.
interval_length=60
Para os serviços especiais, você precisa definir um modelo diferente para ele em /usr/local/nagios/etc/objects/templates.cfg
:
define service{
name special-service
...
max_check_attempts 3
normal_check_interval 20
retry_check_interval 3
notification_interval 60
...
}
Prestar atenção à:
normal_check_interval
: este serviço é verificado a cada 20 minutos em condições normais
retry_check_interval
: o número de minutos a aguardar antes de agendar uma nova verificação quando o serviço foi alterado para um estado não OK. Observe que, se o serviço tiver sido tentado novamente max_attempts
sem uma alteração em seu status, ele voltará a ser agendado à check_interval
taxa.
e use este modelo para o seu serviço:
define service{
use special-service
host_name xx
service_description yy
check_command zz
contact_groups admins
}
Você também pode precisar definir uma escalação de serviço para alterar o notification_interval
baseado no estado do serviço, algo como isto:
define serviceescalation{
host_name xx
service_description yy
last_notification 0
notification_interval 10
escalation_options [w,u,c]
contact_groups admins
}
Isso significa que essa escalação de serviço é usada quando o serviço está no estado AVISO, DESCONHECIDO ou CRÍTICO. E agora você tem um novo intervalo de notificação: 10 minutos.