Nagios es una herramienta poderosa y ampliamente utilizada para el monitoreo de sistemas, redes y aplicaciones. Una de sus capacidades más útiles es la ejecución de comandos de monitoreo en servidores remotos a través del plugin NRPE (Nagios Remote Plugin Executor). Este complemento permite que el servidor Nagios ejecute comandos en servidores cliente, facilitando el monitoreo de parámetros esenciales como el uso de CPU, memoria, disco y servicios.
En este artículo, exploraremos los comandos de monitoreo más comunes que puedes configurar en el archivo nrpe.cfg
en el servidor cliente al instalar el plugin de Nagios, y cómo personalizarlos para un monitoreo efectivo.
Instalación del Plugin NRPE en el Servidor Cliente
Antes de configurar los comandos de monitoreo, es necesario instalar NRPE en el servidor cliente. A continuación, se muestran los pasos para instalar NRPE en una distribución Linux (Debian/Ubuntu como ejemplo):
sudo apt update
sudo apt install nagios-nrpe-server nagios-plugins
Para otras distribuciones, puedes usar el gestor de paquetes correspondiente.
El archivo de configuración de NRPE, /etc/nagios/nrpe.cfg
, será donde definiremos los comandos de monitoreo que el servidor Nagios ejecutará en el cliente.
Configuración del Archivo nrpe.cfg
La estructura del archivo nrpe.cfg
es bastante sencilla. Cada comando se configura usando el siguiente formato:
command[alias]=ruta/al/comando -opciones
Donde:
alias
es un nombre descriptivo del comando que será utilizado por Nagios.ruta/al/comando
es la ruta del plugin de Nagios correspondiente.
A continuación, veamos algunos de los comandos más útiles y cómo configurarlos.
Comandos Comunes de Monitoreo en nrpe.cfg
1. Monitoreo de Espacio en Disco
Este comando verifica el espacio en disco y muestra alertas si supera los umbrales de advertencia o crítico definidos.
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
-w
: Define el umbral de advertencia, en este caso, cuando el espacio libre en el disco es inferior al 20%.-c
: Define el umbral crítico, aquí cuando el espacio libre es menor al 10%.-p
: Especifica la partición que se va a monitorizar (en este caso/
, el disco raíz).
2. Monitoreo de Carga del Sistema
Este comando verifica la carga del sistema, útil para monitorizar el uso de CPU.
command[check_load]=/usr/lib/nagios/plugins/check_load -w 5,4,3 -c 10,8,6
-w
y-c
: Especifican los umbrales de advertencia y críticos, en este caso configurados para un sistema de 3 promedios de carga (últimos 1, 5 y 15 minutos).
3. Monitoreo de Procesos en Ejecución
Este comando revisa la cantidad de procesos en ejecución, alertando si el número excede los límites establecidos.
command[check_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
-w
: Umbral de advertencia, que en este caso alerta cuando hay más de 150 procesos.-c
: Umbral crítico, que genera una alerta si el número de procesos supera los 200.
4. Monitoreo de Uso de Memoria
Para monitorizar el uso de memoria y asegurarse de que el sistema no esté alcanzando su límite, se puede usar el siguiente comando:
command[check_mem]=/usr/lib/nagios/plugins/check_memory -w 80 -c 90
-w
: Umbral de advertencia, en este caso alerta cuando la memoria está al 80% de uso.-c
: Umbral crítico, generando una alerta si la memoria está al 90%.
5. Monitoreo de Servicios
Para monitorizar el estado de servicios específicos, como Apache o MySQL, puedes usar el siguiente comando:
command[check_http]=/usr/lib/nagios/plugins/check_http -H localhost
command[check_mysql]=/usr/lib/nagios/plugins/check_mysql -H localhost -u usuario -p contraseña
Estos comandos permiten verificar si los servicios están activos y respondiendo adecuadamente:
check_http
: Verifica si el servidor web está activo en el servidor cliente.check_mysql
: Verifica si MySQL está activo, autenticándose con un usuario y contraseña.
6. Monitoreo de Estado del SSH
Para asegurarse de que el servicio SSH esté activo, puedes utilizar:
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh localhost
Este comando verifica la disponibilidad de SSH en el cliente, permitiendo recibir alertas si el servicio cae.
7. Monitoreo de Temperatura del Sistema
En sistemas compatibles, puedes monitorizar la temperatura del hardware utilizando sensors
:
command[check_temp]=/usr/lib/nagios/plugins/check_sensors -w 70 -c 80
-w
y-c
: Umbrales de advertencia y crítico, definidos aquí para 70°C y 80°C respectivamente.
Este comando es especialmente útil para servidores físicos, previniendo posibles fallos por sobrecalentamiento.
8. Monitoreo de Ping (Latencia de Red)
Para verificar la conectividad y latencia de red entre el servidor y el cliente:
command[check_ping]=/usr/lib/nagios/plugins/check_ping -H 8.8.8.8 -w 100.0,20% -c 500.0,60%
-w
y-c
: Umbrales de advertencia y crítico para la latencia y el porcentaje de pérdida de paquetes.
Este comando alerta si la latencia o la pérdida de paquetes superan los límites definidos, lo cual es útil para monitorizar la calidad de conexión de red.
Ejemplo Completo del Archivo nrpe.cfg
Un archivo nrpe.cfg
típico con los comandos descritos puede verse así:
server_address=0.0.0.0
server_port=5666
allowed_hosts=127.0.0.1,192.168.1.100
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 150 -c 200
command[check_mem]=/usr/lib/nagios/plugins/check_memory -w 80 -c 90
command[check_http]=/usr/lib/nagios/plugins/check_http -H localhost
command[check_mysql]=/usr/lib/nagios/plugins/check_mysql -H localhost -u usuario -p contraseña
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh localhost
command[check_temp]=/usr/lib/nagios/plugins/check_sensors -w 70 -c 80
command[check_ping]=/usr/lib/nagios/plugins/check_ping -H 8.8.8.8 -w 100.0,20% -c 500.0,60%
Aplicación de la Configuración
Para aplicar los cambios, reinicia el servicio NRPE en el cliente:
sudo systemctl restart nrpe
En el servidor Nagios, verifica la conexión y el estado de los comandos configurados:
/usr/lib/nagios/plugins/check_nrpe -H <IP_cliente>
Conclusión
Configurar comandos en el archivo nrpe.cfg
del cliente permite a los administradores personalizar el monitoreo de cada servidor según sus necesidades específicas. Estos comandos son esenciales para una supervisión detallada de los recursos del sistema y los servicios, asegurando la estabilidad y el rendimiento óptimo de la infraestructura.