Búsqueda de sitios web

Cómo agregar Linux remoto al servidor Nagios usando el complemento NRPE


En la primera parte del artículo de la serie Nagios, explicamos en detalle cómo instalar y configurar la última versión de Nagios Core y Nagios Plugins en distribuciones basadas en RHEL como como CentOS Stream, Rocky Linux, AlmaLinux y Fedora.

En este artículo, le mostraremos cómo agregar una máquina Remote Linux y sus servicios al host Nagios Core Monitoring usando NRPE (Nagios Remote Plugin Executor).

Esperamos que ya tengas Nagios Core instalado y funcionando correctamente. De lo contrario, utilice la siguiente guía de instalación para instalarlo en el sistema.

Si planea agregar un host Windows remoto al servidor de monitoreo Nagios, utilice la siguiente guía:

Una vez que lo haya instalado, puede continuar para instalar el agente NRPE en su host Linux remoto. Antes de continuar, permítanos brindarle una breve descripción de NRPE.

¿Qué es el NRPE?

El complemento NRPE (Nagios Remote Plugin Executor) le permite monitorear cualquier servicio remoto Linux/Unix y dispositivos de red. , o recursos como carga de CPU, intercambio, uso de memoria, usuarios en línea, etc. en Linux local/remoto máquinas.

Después de todo, estos recursos locales no están expuestos en su mayoría a máquinas externas; se debe instalar y configurar un agente NRPE en las máquinas remotas.

Nota: El complemento NRPE requiere que los complementos de Nagios estén instalados en la máquina Linux remota. Sin estos, el demonio NRPE no funcionará y no supervisará nada.

Instalación del complemento NRPE en el servidor Nagios y el host Linux remoto

Para utilizar el NRPE, deberá realizar algunas tareas adicionales tanto en el Servidor de monitoreo Nagios como en el Host Linux remoto en el que está instalado el NRPE. en. Cubriremos ambas partes de la instalación por separado.

Instalación de complementos de Nagios y NRPE en un host Linux remoto

Utilice las instrucciones siguientes para instalar los complementos de Nagios y el demonio NRPE en el host Linux remoto.

Paso 1: instalar las dependencias necesarias

Necesitamos instalar las bibliotecas requeridas como gcc, glibc, glibc-common y GD y sus bibliotecas de desarrollo usando el administrador de paquetes yum.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Paso 2: crear usuario de Nagios

Cree una nueva cuenta de usuario de nagios y establezca una contraseña.

useradd nagios
passwd nagios
Paso 3: instale los complementos de Nagios

Cree un directorio para la instalación del complemento nagios y todas sus descargas futuras.

mkdir /root/nagios
cd /root/nagios

Ahora descargue el último paquete de complementos de Nagios con el comando wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Paso 4: extraiga los complementos de Nagios

Ejecute el siguiente comando tar para extraer el código fuente tarball.

tar -xvf nagios-plugins-2.3.3.tar.gz

Después, al extraer una nueva carpeta, aparecerá en ese directorio.

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
Paso 5: compilar e instalar complementos de Nagios

A continuación, compila e instala los complementos de nagios usando los siguientes comandos

cd nagios-plugins-2.3.3
./configure 
make
make install

Configure los permisos en el directorio del complemento usando el comando chown.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Paso 6: Instalación del complemento NRPE

Para instalar el complemento nrpe, primero descargue el complemento NRPE más reciente o use el siguiente comando wget.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Desempaquete el archivo tar del código fuente de NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Compile e instale el complemento NRPE.

./configure
make all

Nota: Si recibe el siguiente error al ejecutar el comando "hacer todo":

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

Luego, debe deshabilitar SSL para la configuración nrpe con el indicador ./configure --disable-ssl como se muestra.

./configure --disable-ssl
make all

A continuación, instale el demonio del complemento NRPE y los archivos de configuración de muestra.

make install-plugin
make install-daemon
make install-config

Instale el demonio NRPE en systemd como servicio.

make install-init
Paso 7: Configurar el complemento NRPE

Ahora abra el archivo /usr/local/nagios/etc/nrpe.cfg y agregue el host local y la dirección IP del Nagios. Servidor de monitorización.

allowed_hosts=127.0.0.1,192.168.102

A continuación, habilite y reinicie el servicio nrpe.

systemctl enable nrpe
systemctl restart nrpe
Paso 8: abra el puerto NRPE en el firewall

Asegúrese de que el Firewall de la máquina local permita acceder al demonio NRPE desde servidores remotos. Para hacer esto, ejecute el siguiente comando iptables.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Paso 8: Verificar el demonio NRPE localmente

Ejecute el siguiente comando netstat para verificar que el demonio NRPE funcione correctamente en systemd.


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

Si obtiene un resultado similar al anterior, significa que funciona correctamente. De lo contrario, asegúrese de verificar lo siguiente.

  • Asegúrese de verificar que la entrada nrpe esté agregada correctamente en el archivo /etc/services.
  • allowed_hosts contiene una entrada para “nagios_ip_address” en el archivo /usr/local/nagios/etc/nrpe.cfg.
  • Verifique los errores en los archivos de registro del sistema para aproximadamente nrpe y solucione esos problemas.

A continuación, verifique que el demonio NRPE esté funcionando correctamente ejecutando el comando “check_nrpe” que se instaló anteriormente con fines de prueba.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

Obtendrá la siguiente cadena en la pantalla, que le muestra qué versión de NRPE está instalada:

NRPE v4.0.2
Paso 9: Personaliza los comandos NRPE

El archivo de configuración NRPE predeterminado que se instaló tiene varias definiciones de comandos que se utilizarán para monitorear esta máquina. El archivo de configuración de muestra se encuentra en.

vi /usr/local/nagios/etc/nrpe.cfg

Las siguientes son las definiciones de comandos predeterminadas que se encuentran en la parte inferior del archivo de configuración. Por el momento, asumimos que está utilizando estos comandos. Puede comprobarlos utilizando los siguientes comandos.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs

PROCS CRITICAL: 297 processes
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

Puede editar y agregar nuevas definiciones de comandos editando el archivo de configuración NRPE. Finalmente, ha instalado y configurado correctamente el agente NRPE en el host Linux remoto.

Ahora es el momento de instalar un componente NRPE y agregar algunos servicios a su Servidor de Monitoreo Nagios

Instalación de NRPE en el servidor de monitoreo de Nagios

Ahora inicie sesión en su Servidor de Monitoreo Nagios. Aquí deberá hacer lo siguiente:

  • Instale el complemento check_nrpe.
  • Cree una definición de comando de Nagios usando el complemento check_nrpe.
  • Cree un host Nagios y agregue definiciones de servicios para monitorear el host Linux remoto.
Paso 1: Instale el complemento NRPE en Nagios

Vaya al directorio de descarga de nagios y descargue el último complemento NRPE o utilice el siguiente comando wget.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Desempaquete el archivo tar del código fuente de NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Compile e instale el complemento NRPE.

./configure
make all
make install-plugin
make install-daemon
make install-init
Paso 2: Verificar el demonio NRPE de forma remota

Asegúrese de que el complemento check_nrpe pueda comunicarse con el demonio NRPE en el host Linux remoto. Agregue la dirección IP en el siguiente comando con la dirección IP de su host Linux remoto.

/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

Recibirá una cadena que le muestra qué versión de NRPE está instalada en el host remoto, como esta:

NRPE v4.0.2

Si recibe un error de tiempo de espera del complemento, verifique lo siguiente.

  • Asegúrese de que su firewall no esté bloqueando la comunicación entre el host remoto y el host de monitoreo.
  • Asegúrese de que el demonio NRPE esté instalado correctamente en systemd.
  • Asegúrese de que las reglas de firewall del host Linux remoto impidan que el servidor de supervisión se comunique con el demonio NRPE.

Agregar un host Linux remoto al servidor de monitoreo de Nagios

Para agregar un host remoto, necesita crear dos archivos nuevos “hosts.cfg” y “services.cfg” en “/usr/local/nagios/ etc/” ubicación.

Paso 1: Crear el archivo de servicios y host de Nagios
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Ahora agregue estos dos archivos al archivo de configuración principal de Nagios. Abra el archivo nagios.cfg con cualquier editor.

vi /usr/local/nagios/etc/nagios.cfg

Ahora agregue los dos archivos recién creados como se muestra a continuación.

You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
Paso 2: Configurar el archivo de servicios y host de Nagios

Ahora abra el archivo hosts.cfg y agregue el nombre de plantilla de host predeterminado y defina hosts remotos como se muestra a continuación. Asegúrese de reemplazar nombre_host, alias y dirección con los detalles de su servidor host remoto.

vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
check_period                    24x7        
check_interval                  5       
retry_interval                  1       
max_check_attempts              10      
check_command                   check-host-alive
notification_period             24x7    
notification_interval           30      
notification_options            d,r     
contact_groups                  admins  
register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

A continuación, abra el archivo services.cfg y agregue los siguientes servicios para monitorear.

vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }
Paso 3: Configurar la definición del comando NRPE

Ahora es necesario crear la definición del comando NRPE en el archivo commands.cfg.

vi /usr/local/nagios/etc/objects/commands.cfg

Agregue la siguiente definición de comando NRPE al final del archivo.

###############################################################################
NRPE CHECK COMMAND
#
Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

Finalmente, verifique los archivos de configuración de Nagios para detectar errores.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

Finalmente, reinicie Nagios para aplicar los cambios de configuración recientes:

systemctl restart nagios
Paso 4: Monitoreo remoto de Linux en Nagios

Ahora vaya a la interfaz Web de monitoreo de Nagios en “http://Su-dirección-IP-de-servidor/nagios” o “http://FQDN/nagios ” y proporcione el nombre de usuario “nagiosadmin” y la contraseña. Compruebe que el host Linux remoto se haya agregado y esté siendo monitoreado.

Conclusión

¡Eso es todo! Por ahora, en mi próximo artículo, le mostraré cómo agregar un host de Windows al servidor de monitoreo de Nagios. Si tiene alguna dificultad al agregar el host remoto a Nagios.

Por favor comente sus consultas o problemas a través de la sección de comentarios, hasta entonces permanezca atento a linux-console.net para obtener más artículos valiosos.