linux – Complemento de Nagios para tomar una instantánea del proceso cuando la carga es alta

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım