Cómo agregar un host Linux al servidor de monitoreo Nagios usando el complemento NRPE


En la primera parte de este artículo, explicamos en detalle cómo instalar y configurar la última versión de Nagios 4.4.5 en el servidor RHEL/CentOS 8/7 y Fedora 30. En este artículo, le mostraremos cómo agregar una máquina Linux remota y sus servicios al host de monitoreo de Nagios usando el agente NRPE.

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

  1. Cómo instalar Nagios 4.4.5 en RHEL/CentOS 8/7 y Fedora 30
  2. Cómo agregar un host de Windows al servidor de monitoreo de Nagios

Una vez que lo haya instalado, puede continuar con la instalación del agente NRPE en su host Linux remoto. Antes de continuar, permítanos darle una breve descripción de NRPE.

¿Qué es NRPE?

El complemento NRPE (Nagios Remote Plugin Executor) le permite monitorear cualquier servicio remoto Linux/Unix o dispositivo de red. Este complemento NRPE permite a Nagios monitorear cualquier recurso local como carga de CPU, intercambio, uso de memoria, usuarios en línea, etc. en máquinas remotas de Linux. 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 remota de Linux. Sin estos, el demonio NRPE no funcionará y no monitoreará nada.

Instalación del complemento NRPE

Para usar el NRPE, deberá realizar algunas tareas adicionales tanto en el host de monitoreo de Nagios como en el host Linux remoto en el que se instaló el NRPE. Cubriremos ambas partes de la instalación por separado.

Suponemos que está instalando el NRPE en un host que admite envoltorios TCP y el demonio Xinted instalado en él. Hoy en día, la mayoría de las distribuciones modernas de Linux tienen estos dos instalados de forma predeterminada. De lo contrario, lo instalaremos más tarde durante la instalación cuando sea necesario.

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

Necesitamos instalar las bibliotecas necesarias como gcc, glibc, glibc-common y GD y sus bibliotecas de desarrollo antes de instalar.

[[email protected]]# yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

-------------- On Fedora --------------
[[email protected]]# dnf install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

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

[[email protected]]# useradd nagios
[[email protected]]# passwd nagios

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

[[email protected]]# cd /root/nagios

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

[[email protected] nagios~]# wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

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

[[email protected] nagios~]# tar -xvf nagios-plugins-2.1.2.tar.gz

Después, la extracción de una nueva carpeta aparecerá en ese directorio.

[[email protected] nagios ~]# ls -l

total 2640
drwxr-xr-x. 15 root root    4096 Aug  1 21:58 nagios-plugins-2.1.2
-rw-r--r--.  1 root root 2695301 Aug  1 21:58 nagios-plugins-2.1.2.tar.gz

A continuación, compile e instale usando los siguientes comandos

[[email protected] nagios]# cd nagios-plugins-2.1.2
[[email protected] nagios-plugins-2.1.2]# ./configure 
[[email protected] nagios-plugins-2.1.2]# make
[[email protected] nagios-plugins-2.1.2]# make install

Establezca los permisos en el directorio de complementos.

[[email protected] nagios-plugins-2.1.2]# chown nagios.nagios /usr/local/nagios
[[email protected] nagios-plugins-2.1.2]# chown -R nagios.nagios /usr/local/nagios/libexec

La mayoría de los sistemas están instalados de forma predeterminada. Si no es así, instale el paquete xinetd usando el siguiente comando yum.

[[email protected] nagios-plugins-2.1.2]# yum install xinetd

-------------- On Fedora --------------
[[email protected] nagios-plugins-2.1.2]# dnf install xinetd

Descargue los últimos paquetes NRPE Plugin 3.2 con el comando wget.

[[email protected] nagios-plugins-2.1.2]# cd /root/nagios
[[email protected] nagios]# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz

Desempaquete el tarball del código fuente de NRPE.

[[email protected] nagios]# tar xzf nrpe-3.2.1.tar.gz
[[email protected] nrpe-3.2]# cd nrpe-3.2.1

Compile e instale el complemento NRPE.

[[email protected] nrpe-3.2.1]# ./configure
[[email protected] nrpe-3.2.1]# make all

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

[[email protected] nrpe-3.2]# make install-plugin
[[email protected] nrpe-3.2.1]# make install-daemon
[[email protected] nrpe-3.2.1]# make install-daemon-config

Instale el demonio NRPE en xinetd como servicio.

[[email protected] nrpe-3.2.1]# make install-xinetd
OR
[[email protected] nrpe-3.2.1]# make install-inetd

Ahora abra el archivo /etc/xinetd.d/nrpe y agregue el host local y la dirección IP del servidor de monitoreo de Nagios.

only_from = 127.0.0.1 localhost <nagios_ip_address>

A continuación, abra el archivo/etc/services y agregue la siguiente entrada para el demonio NRPE en la parte inferior del archivo.

nrpe            5666/tcp                 NRPE

Reinicie el servicio xinetd.

[[email protected]]# service xinetd restart

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

[[email protected]]# netstat -at | grep nrpe

tcp        0      0 *:nrpe                      *:*                         LISTEN

Si obtiene un resultado similar al anterior, significa que funciona correctamente. Si no es así, asegúrese de verificar lo siguiente.

  1. Verifique que haya agregado la entrada nrpe correctamente en el archivo/etc/services
  2. El only_from contiene una entrada para "nagios_ip_address" en el archivo /etc/xinetd.d/nrpe.
  3. El xinetd se instala y se inicia.
  4. Verifique los errores en los archivos de registro del sistema para acerca de xinetd o nrpe y solucione esos problemas.

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

[[email protected]]# /usr/local/nagios/libexec/check_nrpe -H localhost

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

NRPE v3.2

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

-------------- On RHEL/CentOS 6/5 and Fedora --------------
[[email protected]]# iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT

-------------- On RHEL/CentOS 8/7 and Fedora 19 Onwards --------------
[[email protected]]# firewall-cmd --permanent --zone=public --add-port=5666/tcp

Ejecute el siguiente comando para guardar la nueva regla de iptables para que sobreviva en los reinicios del sistema.

-------------- On RHEL/CentOS 6/5 and Fedora --------------
[[email protected]]# service iptables save

El archivo de configuración NRPE predeterminado que se instaló tiene varias definiciones de comando que se usarán para monitorear esta máquina. El archivo de configuración de muestra ubicado en.

[[email protected]]# vi /usr/local/nagios/etc/nrpe.cfg

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

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
# /usr/local/nagios/libexec/check_nrpe -H localhost -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 localhost -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 localhost -c check_total_procs

PROCS CRITICAL: 297 processes
# /usr/local/nagios/libexec/check_nrpe -H localhost -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. Por último, 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 en su servidor de monitoreo de Nagios ...

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

  1. Instale el complemento check_nrpe.
  2. Cree una definición de comando de Nagios usando el complemento check_nrpe.
  3. Cree un host Nagios y agregue definiciones de servicio para monitorear el host Linux remoto.

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

[[email protected]]# cd /root/nagios
[[email protected]]# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz

Desempaquete el tarball del código fuente de NRPE.

[[email protected]]# tar xzf nrpe-3.2.1.tar.gz
[[email protected]]# cd nrpe-3.2

Compile e instale el complemento NRPE.

[[email protected]]# ./configure
[[email protected]]# make all
[[email protected]]# make install-daemon

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.

[[email protected]]# /usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

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

NRPE v3.2

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

  1. Asegúrese de que su firewall no esté bloqueando la comunicación entre el host remoto y el host de monitoreo.
  2. Asegúrese de que el demonio NRPE esté instalado correctamente en xinetd.
  3. Asegúrese de que las reglas de firewall del host remoto de Linux impiden que el servidor de monitoreo se comunique con el demonio NRPE.

Agregar un host Linux remoto al servidor de monitoreo de Nagios

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

[[email protected]]# cd /usr/local/nagios/etc/
[[email protected]]# touch hosts.cfg
[[email protected]]# touch services.cfg

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

[[email protected]]# 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

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

[[email protected]]# 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.

[[email protected]]# 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
        }

Ahora la definición del comando NRPE debe crearse en el archivo commands.cfg.

[[email protected]]# 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 en busca de errores.

[[email protected]]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

Reinicie Nagios:

[[email protected]]# service nagios restart

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

¡Eso es! por ahora, en nuestro próximo artículo, le mostraré cómo agregar el host de Windows al servidor de monitoreo de Nagios. Si tiene dificultades 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 Tecmint.com para obtener más artículos valiosos.