Instalación y Configuración de Nagios NRPE

Nagios NRPE es un daemon que permite ejecutar plugins locales en equipos remotos de equipos Linux, el plugin check_nrpe es llamado por Nagios y hace las peticiones de los plugins hacia el equipo remoto, en el cual se requiere que NRPE este siendo ejecutado  como un daemon o como un servicio en inetd. Partimos de la premisa que se dispone de un servidor con Nagios instalado. Si no es así pueden revisar el articulo de como Instalar Nagios en Centos 6

1. Instalacion de Nagios NRPE (Equipo remoto)

yum install nagios-nrpe nagios-devel nagios-plugins-all pnp4nagios 
service nrpe start
chkconfig nrpe on

 

2. Creación de reglas de monitoreo (Servidor Nagios)

Podemos crear el archivo de configuración en el directorio /etc/nagios/servers/

A continuación se muestran un conjunto de reglas base que han sido almacenadas en el archivo ejemplo.com.cfg

define host{
        use                     linux-server
        host_name               ejemplo.com
        alias                   ejemplo.com
        address                 xxx.xxx.xxx.xxx
        }

define service{
        use                             local-service         ; Name of service template to use
        host_name                       ejemplo.com
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }

define service{
        use                             local-service         ; Name of service template to use
        host_name                       ejemplo.com
        service_description             HTTP
        check_command                   check_http
        notifications_enabled           1
        }

define service {
        use                             generic-service
        host_name                       ejemplo.com
        service_description             Current Load
        check_command                   check_nrpe!check_load
        }

define service {
        use                             generic-service
        host_name                       ejemplo.com
        service_description             Current Users
        check_command                   check_nrpe!check_users
        }

define service{
        use                             generic-service
        host_name                       ejemplo.com
        service_description             /dev/md1 Free Space
        check_command                   check_nrpe!check_md1
        }

define service{
        use                             generic-service
        host_name                       ejemplo.com
        service_description             Total Processes
        check_command                   check_nrpe!check_total_procs
        }

define service{
        use                             generic-service
        host_name                       ejemplo.com
        service_description             Zombie Processes
        check_command                   check_nrpe!check_zombie_procs
        }

define service{
        use                             generic-service
        host_name                       ejemplo.com
        service_description             Memory Usage
        check_command                   check_nrpe!check_mem
        }

 

3. Configuración Nagios NRPE (Servidor Remoto)

Para que todo funcione correctamente, debemos asegurarnos que los comandos solicitados sean soportados en el servidor remoto. La verificación de memoria no viene instalada por defecto por lo que nos tocará agregar el plugin. Asi también la verificación de disco duro dependerá de los dispositivos de cada computadora, por lo que se debe poner especial atención. Primeramente instalamos el plug-in adicional, para ello creamos el siguiente archivo:

vim /usr/lib64/nagios/plugins/check_memory

y colocamos el siguiente contenido:

#!/bin/bash

# Nagios plugin to check memory consumption
# Excludes Swap and Caches so only the real memory consumption is considered

. /usr/lib64/nagios/plugins/utils.sh

# set default values for the thresholds
WARN=90
CRIT=95

while getopts "c:w:h" ARG; do
        case $ARG in
                w) WARN=$OPTARG;;
                c) CRIT=$OPTARG;;
                h) echo "Usage: $0 -w <warning threshold> -c <critical threshold>"; exit;;
        esac
done

MEM_TOTAL=`free | fgrep "Mem:" | awk '{print $2}'`;
MEM_USED=`free | fgrep "/+ buffers/cache" | awk '{print $3}'`;

PERCENTAGE=$(($MEM_USED*100/$MEM_TOTAL))
echo "${PERCENTAGE}% ($((($MEM_USED)/1024)) of $((MEM_TOTAL/1024)) MB) used";

if [ $PERCENTAGE -gt $CRIT ]; then
        exit $STATE_CRITICAL;
elif [ $PERCENTAGE -gt $WARN ]; then
        exit $STATE_WARNING;
else
        exit $STATE_OK;
fi

Posteriormente le damos permisos de ejecución:

chmod 755 /usr/lib64/nagios/plugins/check_memory

Finalmente, verificamos los comandos disponibles en la configuración de NRPE en el servidor remoto en el archivo:

vi /etc/nagios/nrpe.cfg

Debemos tener algo así:

command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_md1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md1
command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 300 -c 400
command[check_mem]=/usr/lib64/nagios/plugins/check_memory -w 80 -c 95

Notar que md1 es el nombre del dispositivo del disco.Debemos tambien verificar que la linea

allowed_hosts=127.0.0.1

Tenga la IP del servidor Nagios

4. Reiniciar servicios

En el servidor de Nagios

service nagios restart

En el servidor remoto

service nrpe restart

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Blue Captcha Image
Refrescar

*