Pregunta:
Hemos configurado Nagios
con check_load
través del complemento NRPE
para monitorear la carga del servidor, informa cuando la carga es alta, pero no tiene la opción de tomar una instantánea de los procesos superiores (como el comando top
) en ese momento.
¿Hay nagios
NRPE
para eso?
Respuesta:
Puede hacerlo con controladores de eventos .
Primero, agregue un controlador de eventos para su definición de promedio 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
}
El comando processes_snapshot
se define en commands.cfg
:
define command{
command_name processes_snapshot
command_line $USER1$/eventhandlers/processes_snapshot.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$
}
Y en segundo lugar, escriba un script de controlador 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
El comando processes_snapshot
se define en nrpe.cfg
en el xx
de acogida como belows:
command[processes_snapshot]=top -cSbn 1 | tail -n +8 | sort -rn -k11 | head > /tmp/proc_snap.txt
PD: no he probado esta configuración.