Para que el servidor Nagios empiece a mostrar información, necesitamos que en las máquinas a monitorizar haya instalado un cliente.
Hoy explicaré la instalación del agente en servidores GNU Linux.
La instalación la haré sobre un servidor Debian que tengo en producción y que uso de cajón desastre cuando quiero poner un servicio que no necesita correr en un servidor dedicado.
Compilación e instalación de los plugins de Nagios
Si la instalación la hacemos en un servidor Debian o familia como es mi caso, habrá que instalar las siguientes librerías para que no nos de errores de compilación y además agregar manualmente el usuario nagios:
# apt install build-essential
# apt-get install libssl-dev
Agregamos el usuario nagios
# useradd nagios
Descargamos la última versión de los plugins de Nagios.
# wget https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar.gz
Descomprimimos el paquete descargado.
# tar -xzvf nagios-plugins-2.3.3.tar.gz
Navegamos al directorio donde se ha desempaquetado.
# cd nagios-plugins-2.3.3
Ejecutamos el script configure para preparar el SO para la compilación.
# ./configure
Ejecutamos los comandos make para instalar los plugins de Nagios.
# make install
Instalación del módulo NRPE
Descargamos la última versión del módulo NRPE.
# cd ..
# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
Descomprimimos el paquete descargado.
# tar -xzvf nrpe-4.0.3.tar.gz
Navegamos al directorio donde se ha desempaquetado.
# cd nrpe-4.0.3
Ejecutamos el script configure para preparar el SO para la compilación.
# ./configure
Y lanzamos la compilación.
# make all
# make install
# make install-config
# make install-init
Editamos el archivo de configuración de NRPE. Sin esta modificación Nagios no lo puede monitorizar.
# nano /usr/local/nagios/etc/nrpe.cfg
Y añadimos la ip de nuestro servidor Nagios en la línea allowed_hosts y separamos con coma (,).
allowed_hosts=127.0.0.1,::1,IP_SERVIDOR_NAGIOS
Habilitamos el servicio NRPE
# systemctl enable nrpe
Y lo iniciamos
# systemctl start nrpe
Con estos pasos, ya tendríamos instalado el agente en el servidor cliente.
Comprobar la comunicación con servidor Nagios.
En nuestro servidor nagios, navegamos hacia la ruta:
# cd /usr/local/nagios/libexec/
Y ejecutamos el binario check_nrpe.
# ./check_nrpe -H ip_servidor_cliente
Si nos devuelve la versión del plugin, es porque hay comunicación entre servidor y cliente y está todo correcto.
Agregar un cliente a servidor Nagios
Hasta ahora lo único que hemos hecho es instalar el agente en el servidor cliente y hacer una prueba de comunicación desde el servidor Nagios.
Para agregar un cliente y que nuestro Nagios lo esté monitorizando constantemente, realizaremos las siguientes acciones.
Creamos un template para el servidor que vamos a agregar en la siguiente ruta:
# nano /usr/local/nagios/etc/objects/linux.cfg
Como yo he agregado un servidor linux, le he llamado a mi template «linux.cfg»
Dentro del template podemos definir hosts y servicios.
Ejemplo de definición de host:
define host{
use linux-server
host_name cliente_linux
alias Servidor de múltiples servicios
address IP_Cliente_Monitorizar
}
Donde:
use Es la plantilla general a utilizar
host_name Es el nombre que le vamos a dar a ese servidor
alias Es la descripción del servidor
address Es la IP del cliente a monitorizar
Nota: Todo lo que no definamos en este apartado, lo tomará de la plantilla general utilizada, es este caso linux-server.
Ejemplo de definición de servicio:
define service{
use generic-service
host_name cliente_linux
service_description Disco duro
check_command check_nrpe!check_hda1
}
Donde:
use Es la plantilla general a utilizar
host_name Es el nombre del servidor donde pondremos el servicio
service_description Es la descripción del servicio
check_command Es el comando a utilizar en el servicio definido
Definimos tantos servicios como necesitemos monitorizar.
Cuando hayamos definido los servicios que necesitamos, informamos a Nagios que hay un nuevo archivo de configuración.
Para ello editamos el fichero nagios.cfg, buscamos la sección OBJECT CONFIGURATION FILE(S) y agregamos una nueva línea indicando el nombre del template que hemos creado.
# nano /usr/local/nagios/etc/nagios.cfg
...
# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
...
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
...
Comprobamos que no hemos cometido errores al escribir el archivo de configuracón.
# nagioscheck
Y reiniciamos el servicio de Nagios para que cargue el nuevo template que hemos añadido.
# systemctl restart nagios
Vamos a la aplicación web de Nagios y vemos el servidor (Servicios) que hemos agregado con los servicios que hemos definido. El host llamado localhost, es el propio Nagios que muestra información de su NRPE.
![](https://cannalb1ts.com/wp-content/uploads/2021/02/Screenshot_20210224_232218-1024x227.png)
Resolución de posibles problemas
El plugin NRPE en el cliente, llama al disco duro HDA1 y nos puede aparecer el mensaje HDA1 => NO reconoce el disco duro del cliente
Para corregir esto, editamos en el cliente el archivo nrpe.cfg
# nano /usr/local/nagios/etc/nrpe.cfg
Buscamos la sección de comandos y en el plugin check_hda1 pasamos como parámetro el nombre del disco duro del cliente a monitorizar: sda1 en mi caso.
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
Reiniciamos el servicio NRPE
# systemctl restart nrpe
Y con eso ya habremos subsanado el error.
Saludos =)