Implementación de Monitoreo de Infraestructura con Nagios Core y NRPE

Nagios Core es una de las soluciones de código abierto más robustas para la supervisión de servidores y servicios de red. Permite a los administradores de sistemas detectar fallos en la infraestructura antes de que afecten a los usuarios finales. En este artículo, detallaremos el proceso de despliegue de Nagios, sus complementos y el agente NRPE para el monitoreo remoto.

1. Planificación del Entorno

Para esta implementación, utilizaremos un entorno basado en Linux (CentOS 7) con arquitectura LAMP. Los componentes principales incluyen:

  • Nagios Core: El motor principle de monitoreo.
  • Nagios Plugins: Scripts necesarios para realizar las comprobaciones.
  • NRPE (Nagios Remote Plugin Executor): Permite ejecutar scripts de monitoreo en máquinas remotas (modo agente).

2. Preparación y Dependencias en el Servidor

Antes de compilar Nagios, es imperativo instalar las herramientas de desarrollo y las bibliotecas necesarias para la interfaz web y el procesamiento de gráficos.

# Instalación de paquetes de soporte
yum install -y httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel perl-devel perl-CPAN

# Creación de la cuenta de servicio y grupo de comandos
useradd monitor
groupadd grp-nagios
usermod -a -G grp-nagios monitor
usermod -a -G grp-nagios apache

3. Compilación e Instalación de Nagios Core

Descargamos el código fuente en un directorio temporal para proceder con la compilación personalizada.

mkdir /tmp/nagios_setup && cd /tmp/nagios_setup
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.1.tar.gz
tar -zxvf nagios-4.3.1.tar.gz
cd nagios-4.3.1

# Configuración del script de compilación
./configure --with-command-group=grp-nagios --with-nagios-user=monitor

# Ejecución de la instalación
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf

4. Configuración de Acceso Web y Apache

Para acceder al panel de control, debemos definir un usuario administrativo y configurar el servidor HTTP.

# Creación del usuario para la interfaz web
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

# Verificación de la configuración de Apache
systemctl enable httpd
systemctl restart httpd

Si es neecsario integrar PHP como módulo de Apache de forma manual o mediante recompilación, asegúrese de que el parámetro --with-apxs2 esté presente para generar el archivo libphp7.so en el directorio de módulos de Apache.

5. Instalación de Nagios Plugins

Sin los plugins, Nagios no puede ejecutar comprobaciones de estado (como verificar el uso de disco o la carga de CPU).

cd /tmp/nagios_setup
curl -L -O https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
tar -zxvf nagios-plugins-2.2.1.tar.gz
cd nagios-plugins-2.2.1

./configure --with-nagios-user=monitor --with-nagios-group=grp-nagios
make && make install

6. Configuración de NRPE en el Servidor

El agente NRPE permite que el servidor Nagios se comunique con hosts remotos de forma segura.

cd /tmp/nagios_setup
curl -L -O https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.1.0/nrpe-3.1.0.tar.gz
tar -zxvf nrpe-3.1.0.tar.gz
cd nrpe-3.1.0

./configure
make all
make install-plugin
make install-daemon
make install-config

# Iniciar el servicio NRPE (puerto predeterminado 5666)
/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg

7. Configuración del Agente en el Host Remoto (Cliente)

En las máquinas que deseamos monitorear, solo instalamos los plugins y el daemon de NRPE.

# Creación de usuario en el cliente
useradd nagios -M -s /sbin/nologin

# Instalación de plugins (procedimiento similar al servidor)
# ... [Compilación de nagios-plugins-2.2.1] ...

# Instalación de NRPE en el cliente
cd nrpe-3.1.0
./configure
make all
make install-daemon
make install-config

# Configuración de permisos en nrpe.cfg
# Editar /usr/local/nagios/etc/nrpe.cfg para permitir la IP del servidor Nagios
# allowed_hosts=127.0.0.1,IP_DEL_SERVIDOR_NAGIOS

# Ejecutar el agente
/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg

8. Verificación de Conectividad

Desde el servidor principal, validamos que existe comunicación con el agente remoto mediante el plugin check_nrpe.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
# La respuesta debería mostrar la versión de NRPE instalada

Una vez completados estos pasos, el panel web de Nagios estará disponible en http://tu_ip/nagios, permitiendo la visualización del estado de los servicios y la configuración de alertas personalizadas para la infraestructura.

Etiquetas: Nagios NRPE linux Monitoring DevOps

Publicado el 9-2 11:38