Guía Completa de Configuración de NRPE en Servidores Cliente para Monitorización con Nagios

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Nagios es una de las herramientas de monitorización más utilizadas en el ámbito de la administración de sistemas y redes. Esta herramienta permite a los administradores mantener el control sobre el estado de diversos servicios y dispositivos, lo que facilita la detección de problemas antes de que afecten gravemente el sistema. Para que Nagios funcione correctamente, es necesario configurar tanto el servidor Nagios como los servidores cliente. En este artículo, detallaremos las principales configuraciones en el archivo de configuración del agente Nagios en el servidor cliente, comúnmente denominado nrpe.cfg en servidores Linux.

1. ¿Qué es el NRPE?

El Nagios Remote Plugin Executor (NRPE) es un complemento que permite a los servidores Nagios ejecutar comandos remotos en los servidores cliente. Esta configuración es esencial para monitorizar servicios y recursos específicos (como CPU, memoria y discos) en sistemas remotos. El archivo de configuración principal para NRPE es nrpe.cfg, donde se especifican los parámetros necesarios para una correcta operación.

2. Ubicación del Archivo de Configuración

El archivo de configuración de NRPE generalmente se encuentra en:

/etc/nagios/nrpe.cfg

Asegúrate de que los permisos y propiedad del archivo son seguros para evitar accesos no deseados, ya que contiene configuraciones críticas.

3. Configuración Básica de nrpe.cfg

3.1 Parámetros Generales

server_address

Define la dirección IP en la que el servicio NRPE escuchará peticiones. Es importante configurarla correctamente para asegurar la comunicación entre el servidor Nagios y el cliente.

server_address=127.0.0.1

Para una configuración típica de servidor cliente, se suele establecer en 0.0.0.0 o en la IP específica del cliente.

server_port

Establece el puerto que NRPE utilizará para escuchar las conexiones entrantes. Por defecto, este puerto es el 5666, pero puede cambiarse si es necesario.

server_port=5666

3.2 Control de Acceso

allowed_hosts

Este parámetro define las direcciones IP que tienen permitido acceder al cliente. Se debe especificar la IP del servidor Nagios principal (o las direcciones de los servidores Nagios autorizados).

allowed_hosts=127.0.0.1,192.168.1.100

Si deseas permitir múltiples IP, sepáralas con comas. Esta configuración es clave para proteger el cliente NRPE de accesos no autorizados.

3.3 Parámetros de Seguridad

dont_blame_nrpe

Este parámetro permite establecer ciertos niveles de seguridad. Cuando se configura en 1, permite pasar argumentos a los comandos remotos, aunque esto puede implicar un riesgo de seguridad si no se configura correctamente.

dont_blame_nrpe=1

Se recomienda tener precaución al activar esta opción y configurar adecuadamente los comandos para evitar inyecciones de código.

allowed_ciphers

Define el tipo de cifrado utilizado en la conexión. Si es necesario restringir o especificar un cifrado en particular, esta opción permite establecer el tipo de cifrado autorizado.

allowed_ciphers=HIGH

3.4 Configuración de Comandos de Monitorizar

En nrpe.cfg, se configuran los comandos específicos que se pueden ejecutar remotamente desde el servidor Nagios. Cada comando está compuesto por un alias y el comando correspondiente que NRPE ejecutará en el servidor cliente.

command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,4,3 -c 10,8,6
command[check_procs]=/usr/lib/nagios/plugins/check_procs -w 250 -c 400

Estos son algunos ejemplos comunes:

  • check_disk: Monitorea el espacio en disco.
  • check_load: Monitorea la carga del sistema.
  • check_procs: Monitorea el número de procesos en ejecución.

Puedes personalizar cada comando según los umbrales de advertencia (-w) y crítico (-c) que necesites.

3.5 Opciones Adicionales de Configuración

log_facility

Define la facilidad de registro en el sistema de logs, como en el archivo /var/log/syslog o un archivo personalizado. Esto facilita la auditoría y depuración de problemas en NRPE.

log_facility=daemon

debug

Activa o desactiva el modo de depuración. Cuando debug=1, NRPE registra información adicional, útil para la resolución de problemas, pero debe usarse con precaución en producción.

debug=0

command_timeout

Define el tiempo máximo en segundos que un comando de monitorización puede tardar en ejecutarse. Esto ayuda a evitar que comandos que consumen demasiado tiempo se queden bloqueados.

command_timeout=60

4. Ejemplo Completo de Configuración

Un archivo nrpe.cfg típico podría verse así:

server_address=0.0.0.0
server_port=5666
allowed_hosts=127.0.0.1,192.168.1.100
dont_blame_nrpe=0
allowed_ciphers=HIGH

command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,4,3 -c 10,8,6
command[check_procs]=/usr/lib/nagios/plugins/check_procs -w 250 -c 400

log_facility=daemon
debug=0
command_timeout=60

5. Reiniciar el Servicio NRPE

Para aplicar los cambios en la configuración, es necesario reiniciar el servicio NRPE. Esto se realiza con el siguiente comando:

sudo systemctl restart nrpe

Si prefieres verificar la configuración antes de reiniciar, puedes probar la configuración de Nagios con:

sudo nagios -v /etc/nagios/nagios.cfg

6. Verificación de la Conexión desde el Servidor Nagios

Desde el servidor Nagios, puedes probar la conexión al servidor cliente con el siguiente comando:

/usr/lib/nagios/plugins/check_nrpe -H <IP_cliente>

Esto permite verificar si NRPE está correctamente configurado y puede comunicarse con el servidor.

Conclusión

La configuración de NRPE en el servidor cliente de Nagios es un paso fundamental para implementar una monitorización efectiva. Desde la configuración básica de direcciones IP y puertos hasta la personalización de comandos y parámetros de seguridad, cada detalle en el archivo nrpe.cfg garantiza una comunicación segura y estable.