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.