Você pode fazer isso com manipuladores de eventos .
Primeiro, adicione um manipulador de eventos para sua definição de média de carga:
define service{
use generic-service
host_name xx
service_description Load_Average
check_command check_nrpe!check_load
event_handler processes_snapshot!xx
contact_groups admin-sms
}
O comando processes_snapshot
está definido em commands.cfg
:
define command{
command_name processes_snapshot
command_line $USER1$/eventhandlers/processes_snapshot.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$
}
Em segundo lugar, escreva um script de manipulador de eventos ( processes_snapshot.sh
):
#!/bin/bash
case "$1" in
OK)
;;
WARNING)
/usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot
;;
UNKNOWN)
;;
CRITICAL)
/usr/local/nagios/libexec/check_nrpe -H $4 -c processes_snapshot
;;
esac
exit 0
O comando processes_snapshot
é definido em nrpe.cfg
no host xx
como abaixo:
command[processes_snapshot]=top -cSbn 1 | tail -n +8 | sort -rn -k11 | head > /tmp/proc_snap.txt
PS: Eu não testei esta configuração.