Monitorear un cliente linux en Nagios usando Nrpe

Published:

NRPE es un «addon» que nos sirve para poder monitorear un cliente de linux ejecutando plugins en forma remota y que nuestro Nagios core pueda colectar datos, si venís siguiendo la guía que publicamos no vas a tener problemas en incorporarlo siempre y cuando sigas los siguientes pasos.
Esto requiere de 2 partes, primero configurar el cliente a monitorear y segundo, hacer la configuración en el servidor de nagios.

1- Configurar el Cliente

Primero instalamos lo necesario, veamos si tenemos un cliente Debian o derivada y Centos/Redhat, vemos si esta instalado haciendo lo siguiente.

Debian / Ubuntu

# apt-cache search nrpe

nagios-nrpe-plugin – Nagios Remote Plugin Executor Plugin
nagios-nrpe-server – Nagios Remote Plugin Executor Server
nagios-plugins-basic – Plugins for the nagios network monitoring and management system
nagios-plugins – Plugins for the nagios network monitoring and management system

# apt-get install nagios-nrpe-server nagios-plugins-basic nagios-plugins

El servicio se inicia

# service nagios-nrpe-server start
# service nagios-nrpe-server status
# service nagios-nrpe-server enable

Centos / Redhat

# yum search nrpe

============ N/S Matched: nrpe =======
nagios-plugins-nrpe.x86_64 : Provides nrpe plugin for Nagios
nrpe.x86_64 : Host/service/network monitoring agent for Nagios

# yum install nagios-plugins-nrpe nagios-plugins-all nrpe
# service nagios-nrpe-server start
# service nagios-nrpe-server status

Configuración de NRPE en el Cliente

El archivo de configuración esta en /etc/nagios/nrpe.cfg
Vamos a buscar 2 cosas importantes en principio, dentro de este archivo, que permita al host local y al servidor nagios de destino obtener datos (colocamos las ip correspondientes separados por comas) y permitir argumentos (lo dejamos = a 1).

# Host permitidos
allowed_hosts=127.0.0.1,172.16.100.230

# Permitir argumentos
dont_blame_nrpe=1

Casi al final del archivo vamos a ver los comandos que más se usan pero hay muchos más, en breve veremos como agregar uno nuevo, les dejo algunos como vienen:

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

#command[check_users]=/usr/lib/nagios/plugins/check_users -w $ARG1$ -c $ARG2$
#command[check_load]=/usr/lib/nagios/plugins/check_load -w $ARG1$ -c $ARG2$
#command[check_disk]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
#command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

NOTA: en command[check_hda1] tenemos para verifica el disco, pero hay que ver si nuestra partición es hda1 o sda1 o lo que sea, esto hay que modificarlo para que no de error, y vemos que configuración tenemos con un # df -h.

Reiniciamos el servicio, y cada modificación de configuración de nrpe en el cliente hay que reiniciarlo para que tome los cambios.

Debian y derivadas:

# service nagios-nrpe-server restart

En CentOS, Fedora o RHEL:

# service nrpe restart
# chkconfig nrpe on

2- Configurando NRPE en el servidor de Nagios

Instalación necesaria en el servidor de nagios.

Debian

# apt-get install nagios-nrpe-plugin

Centos

# yum install nagios-plugins-nrpe

Lo próximo es ver si esta el script en
/usr/lib64/nagios/plugins/check_nrpe para 64 bits
/usr/lib/nagios/plugins/check_nrpe para 32 bits

Probamos que nuestro server se comunica con el cliente

# cd /usr/lib64/nagios/plugins
# ./check_nrpe -H 172.16.100.100

Nos debe contestar con la versión algo como:

NRPE v3.0.1

Damos de alta el comando

# nano /etc/nagios/objects/commands.cfg
## NRPE: Para CentOS 64 bit, usar la ruta /usr/lib64 y de 32 bits /usr/lib ##
define command{
 command_name check_nrpe
 command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -c '$ARG1$'
}

Creamos el cfg del cliente
Primero el host y después los servicios.

# nano /usr/local/nagios/etc/cliente.cfg
define host{ 
 use linux­server
 host_name cliente
 alias cliente 
 address 172.16.100.100
 }

define service{
 use generic-service
 host_name cliente 
 service_description CPU Load
 check_command check_nrpe!check_load
 }

define service{
 use generic-service
 host_name cliente
 service_description Total Processes
 check_command check_nrpe!check_total_procs
 }

define service{
 use generic-service
 host_name cliente
 service_description Users Load
 check_command check_nrpe!check_users
 }

define service{
 use generic-service
 host_name cliente
 service_description Check Zombies
 check_command check_nrpe!check_zombie_procs
 }

define service{
 use generic-service
 host_name cliente
 service_description Check hda1
 check_command check_nrpe!check_hda1
 }

Guardamos y verificamos que no haya errores en Nagios

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Finalmente reiniciamos el servicio de nagios

# service nagios restart

Después de unos minutos revisamos si el host se agrego correctamente.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles