# Comandos de Monitorización en Nagios NRPE: Configuración y Uso con el Plugin del Cliente

- Link: https://binariocero.com/linux/comandos-de-monitorizacion-en-nagios-nrpe-configuracion-y-uso-con-el-plugin-del-cliente
- Published: 2024-10-28T14:56:57+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

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):

    ```wp-block-preformatted
    sudo apt updatesudo 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:

    ```wp-block-preformatted
    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.

    ```wp-block-preformatted
    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.

    ```wp-block-preformatted
    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.

    ```wp-block-preformatted
    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:

    ```wp-block-preformatted
    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:

    ```wp-block-preformatted
    command[check_http]=/usr/lib/nagios/plugins/check_http -H localhostcommand[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:

    ```wp-block-preformatted
    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`:

    ```wp-block-preformatted
    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:

    ```wp-block-preformatted
    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í:

    ```wp-block-preformatted
    server_address=0.0.0.0server_port=5666allowed_hosts=127.0.0.1,192.168.1.100command[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,6command[check_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200command[check_mem]=/usr/lib/nagios/plugins/check_memory -w 80 -c 90command[check_http]=/usr/lib/nagios/plugins/check_http -H localhostcommand[check_mysql]=/usr/lib/nagios/plugins/check_mysql -H localhost -u usuario -p contraseñacommand[check_ssh]=/usr/lib/nagios/plugins/check_ssh localhostcommand[check_temp]=/usr/lib/nagios/plugins/check_sensors -w 70 -c 80command[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:

    ```wp-block-preformatted
    sudo systemctl restart nrpe
    ```

En el servidor Nagios, verifica la conexión y el estado de los comandos configurados:

    ```wp-block-preformatted
    /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.
