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.