Cómo instalar Nagios Core en Ubuntu 20.04

Aprendemos a instalar Nagios Core sobre una distribución Ubuntu 20.04. Nos es la primera que hablamos de esta popular herramienta de monitoreo, pero tocaba la correspondiente actualización de la guía para la última versión de Ubuntu, en este 2021 que recién comienza

Cómo siempre, para esta entrada, me he servido de un VPS recién creado en mi compañía de confianza Clouding.io

Instalar Nagios Core en Ubuntu 20.04

Antes de proceder a su instalación hablemos un poco de este producto. Nagios es sin duda la plataforma más popular, en lo que respecta a la monitorización. No solamente por todos los años que lleva en el mercado, sino también por su fiabilidad. Muestra de ello es la cantidad de «forks» que tiene, como por ejemplo Icinga.

Nagios está pensando para ser escalable y flexible, y tiene como fin garantizar la tranquilidad de los administradores de sistemas. Nos permite tener un conocimiento rápido de toda la infraestructura de IT. Permite detectar y reparar problemas, además de mitigar problemas futuros, antes de que afectan a los usuarios finales y a los clientes.

Entre sus ventajas encontramos:

  • Planifica actualizaciones de la infraestructura antes de que los sistemas obsoletos puedan fallar
  • Respuesta rápida a los problemas
  • Puede incluso solucionar problemas automáticamente cuando se detectan
  • Coordinar la respuesta con el equipo técnico
  • Se asegura que se cumplan todas las SLA de nuestra organización
  • Podemos controlar toda la infraestructura y los procesos comerciales

Para esta entrada vamos a utilizar la última versión, a fecha de hoy, que es la 4.4.6

Instalación de Nagios Core

Lo primero de todo, una vez ya hemos accedido en el host, vamos a actualizar los repositorios y los paquetes del sistema, todo ello lo haremos con el usuario «root»

apt update
apt upgrade

Instalación de librerías y dependencias

A continuación, instalamos las librerías y dependencias necesarias:

apt install autoconf gcc libc6 make wget unzip 
apt install apache2 php libapache2-mod-php libgd-dev -y

Entre otros hemos instalado las herramientas necesarias para poder compilar el código fuente, además del servidor web Apache y PHP

Descargar y compilar Nagios Core

Podemos consultar la última versión estaba de la página oficial.

Descargamos la última versión del código fuente

Simplemente localizamos el paquete y lo descargamos desde la consola de comandos:

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz

Una vez descargado el paquete lo descomprimimos:

tar zxvf nagios-4.4.6.tar.gz

Accedemos a la carpeta recién creada:

cd nagios-4.4.6

Configuramos Nagios Core para que utilice Apache como servidor web, de la siguiente manera:

./configure --with-httpd-conf=/etc/apache2/sites-enabled

Si todo ha ido bien, nos mostrará un mensaje parecido al siguiente al finalizar:

Nagios tras indicar la configuración previa a compilar

Ahora sí, ya podemos compilar:

make all

Creamos el usuario y el grupo correspondiente. Y añadimos el usuario al grupo de Apache:

make install-groups-users
usermod -aG nagios www-data

Instalamos Nagiosm adenás de los ficheros HTML y CGI:/

make install

Instalamos los scripts de inicio de Nagios:

make install-init
make install-daemoninit

Instalamos y configuramos los permisos en el directorio para almacenar el archivo de comando externo de Nagios Core.

make install-commandmode

Instalamos los ficheros de configuración de ejemplo:

make install-config

Instalamos los ficheros de configuración para Apache:

make install-webconf

Habilitamos el modulo «rewrite» y CGI

a2enmod rewrite
a2enmod cgi

Configuramos el acceso a Nagios vía web:

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

En este paso debemos escoger la contraseña que más nos interese. El usuario «nagiosadmin» es el usuario administrador por defecto, si queremos utilizar otro, podemos editar el fichero de configuración /usr/local/nagios/etc/nagios.cfg, con ese fin.

Encender el servicio de Nagios

Con el comando make install-init hemos instalado las unidades de Nagios para Systemd. Para habilitarlo y encenderlo haremos estos pasos:

systemctl enable --now nagios

Y para comprobar su estado:

systemctl status nagios

con un resultado en mi caso:

Estado del servicio de Nagios con Systemd

Instalar los Nagios Plugins

Con los plugins de Nagios podemos añadir funcionalidades adicionales a la herramienta.

Podemos consultar las últimas versiones desde la web del proyecto en GitHub

cd ~
VER="2.3.3"
curl -SL \
https://github.com/nagios-plugins/nagios-plugins/releases/download/release-$VER/nagios-plugins-$VER.tar.gz \
| tar -xzf -

Accedemos a la carpeta:

cd nagios-plugins-2.3.3

Compilamos e instalamos los plugins de Nagios:

./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
sudo make install

Una vez instalados, los podemos consultar en la ruta /usr/local/nagios/libexec.

Acceder a Nagios Core vía web

Una vez finalizada la instalación en este parte, debemos reiniciar el servicio Apache, además de añadirlo al inicio:

systemctl restart apache2
systemctl enable --now apache2

Ahora sí, ya podemos acceder al producto, desde nuestro navegador favorito, indicando la IP del servidor http://IP-o-nombre-del-servidor-web/nagios.

Nos pedirá que añadimos el usuario y la contraeña, que hemos asignado antes:

Acceso con usuario y contraseña

Una vez dentro, ya podemos ver el producto recién instalado:

Interfaz web de Nagios Core

Instalación de NRPE

Pero no hemos acabado todavía, ahora toca instalar una pieza fundamental que se llama NRPE, un addon que nos permitirá poder trabajar con otros equipos y sus respectivos servicios,  desde el servidor central de Nagios.

Su instalación no es complicada y hay que instalarlo en los clientes que queramos monitorizar.

Instalación plugins de Nagios en el cliente

Recuerda que los requisitos son los mismo de antes.

cd /tmp
wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Descomprimirmos el fichero comprimido y compilamos:

tar xzf nagios-plugins-2.2.1.tar.gz
cd nagios-plugins-2.2.1
gunzip -c nagios-plugins-2.2.1.tar.gz | tar xf -
./configure
make
make install

Creamos usuarios, grupos y asignamos permisos y propietarios:

useradd nagios
groupadd nagios
usermod -a -G nagios nagios
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

NRPE utiliza para funcionar el servicio xinetd, del que ya hablé en su día, por lo que lo tenemos que instalar:

apt install xinetd
systemctl start xinetd
systemctl enable xinetd

Instalación de NRPE

Si queremos utilizar NRPE como servicio o «daemon«, seguiremos estos pasos.

Descargamos los ficheros de NRPE, posteriormente descomprimimos y compilamos.

cd /tmp
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
tar xvf nrpe-4.0.3.tar.gz
cd nrpe-nrpe-4.0.3
./configure
make all
make install 
make install-config
make install-inetd

Nos debemos cerceriorar que en el fichero «/etc/services», existe esta línea:

5666/tcp

Encendemos el servicio NRPE y reiniciamos Xinetd

systemctl enable nrpe
systemctl start nrpe
systemctl restart xinetd

Y esto es todo, espero que esta entrada os sea de utilidad en algún momento. Nos vamos leyendo.

Fuentes consultadas

NRPE Documentation