Foi o que fiz para resolver o meu problema.
1. Script criado /icinga/plugins/change_check_interval.sh
#!/bin/bash
now='date +%s'
commandfile='/var/run/icinga2/cmd/icinga2.cmd'
case "$1" in
OK)
/usr/bin/printf "[%lu] CHANGE_NORMAL_SVC_CHECK_INTERVAL;servername;servicename;180\n" $now >> $commandfile
;;
WARNING)
;;
UNKNOWN)
;;
CRITICAL)
/usr/bin/printf "[%lu] CHANGE_NORMAL_SVC_CHECK_INTERVAL;servername;servicename;10\n" $now >> $commandfile
;;
esac
exit 0
2. Então usei este script para definir event_command em commands.conf
object EventCommand "change_check_interval"{
import "plugin-event-command"
command = [ "/icinga/plugins/change_check_interval.sh", "$service.state$" ]
}
3. E usei o event_command em services.conf
apply Service "Service-Name" {
import "template"
check_command = "nrpe-arg"
vars.remote_nrpe_command = "nrpe command"
vars.remote_nrpe_arguments = "arg1"
event_command = "change_check_interval"
assign where host.name == "servername"
}
Esse manipulador de eventos é executado a cada 180 minutos quando o serviço é aceitável enquanto é executado a cada 10 minutos quando o serviço é crítico.