Supondo que a diretiva interval_length
esteja definida como 60 pelo 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
...
}
Preste atenção no:
-
normal_check_interval
: este serviço é verificado a cada 20 minutos sob condição normal -
retry_check_interval
: o número de minutos a aguardar antes de agendar uma nova verificação quando o serviço foi alterado para o estado não OK. Observe que, se o serviço tiver sido repetidomax_attempts
time sem uma alteração em seu status, ele será revertido para ser agendado emcheck_interval
rate.
e use este modelo para 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 um escalonamento de serviços para alterar o notification_interval
com base no o estado do serviço, algo assim:
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 esse escalonamento de serviço é usado quando o serviço está no estado WARNING, UNKNOWN ou CRITICAL. E agora você tem novos intervalos de notificação: 10 minutos.