Vous pouvez le faire avec les gestionnaires d'événements .
Tout d'abord, ajoutez un gestionnaire d'événements pour votre définition de la moyenne de chargement :
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
}
があります。 processes_snapshot
est définie dans commands.cfg
:
define command{
command_name processes_snapshot
command_line $USER1$/eventhandlers/processes_snapshot.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$
}
Et deuxièmement, écrivez un gestionnaire d'événement script ( 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
La commande processes_snapshot
est défini dans nrpe.cfg
sur le xx
comme ci-dessous :
command[processes_snapshot]=top -cSbn 1 | tail -n +8 | sort -rn -k11 | head > /tmp/proc_snap.txt
PS : Je n'ai pas testé cette configuration.