Cómo instalar la herramienta de monitorización Nagios en Ubuntu 22.04

Nagios es una potente herramienta de supervisión gratuita y de código abierto que se utiliza para supervisar servidores Linux y Windows y redes e infraestructuras. Con Nagios, puedes supervisar el uso de la CPU, el uso del disco y varios servicios, como HTTP, SSH, FTP, SMTP y más. Tiene una interfaz web sencilla y fácil de usar que te ayuda a supervisar todos los servidores desde una ubicación central. Se puede integrar fácilmente con aplicaciones de terceros mediante múltiples API. Nagios funciona supervisando continuamente los hosts y servicios que especifiques y alertándote cuando las cosas van mal.

Este tutorial te mostrará cómo instalar Nagios Core en un servidor Ubuntu 22.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 22.04.
  • Una contraseña de root configurada en el servidor.

Instalar la dependencia necesaria

Antes de empezar, tendrás que actualizar el paquete del sistema e instalar otras dependencias necesarias en tu servidor:

apt-get update -y
apt-get install wget unzip vim curl openssl build-essential libgd-dev libssl-dev libapache2-mod-php php-gd php apache2 -y

Una vez instalados todos los paquetes, puedes pasar al siguiente paso.

Instalar Nagios Core desde el código fuente

Por defecto, la última versión de Nagios Core no está disponible en el repositorio por defecto de 22.04. Así que se recomienda compilar Nagios desde el código fuente.

Primero, descarga la última versión de Nagios Core del repositorio Git con el siguiente comando:

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

Una vez descargada, extrae el archivo descargado con el siguiente comando:

tar -xvzf nagios-4.4.7.tar.gz

A continuación, cambia el directorio al extraído y configura el Nagios Core con el siguiente comando:

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

Deberías obtener la siguiente salida:

*** Configuration summary for nagios 4.4.7 2022-04-14 ***:

 General Options:
 -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
       Command user/group:  nagios,nagios
             Event Broker:  yes
        Install ${prefix}:  /usr/local/nagios
    Install ${includedir}:  /usr/local/nagios/include/nagios
                Lock file:  /run/nagios.lock
   Check result directory:  /usr/local/nagios/var/spool/checkresults
           Init directory:  /lib/systemd/system
  Apache conf.d directory:  /etc/apache2/sites-enabled
             Mail program:  /bin/mail
                  Host OS:  linux-gnu
          IOBroker Method:  epoll

 Web Interface Options:
 ------------------------
                 HTML URL:  http://localhost/nagios/
                  CGI URL:  http://localhost/nagios/cgi-bin/
 Traceroute (used by WAP):  


Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.

A continuación, ejecuta el siguiente comando para compilar el Nagios:

make all

A continuación, crea el usuario y el grupo necesarios, y añade el usuario Nagios al grupo www-data con el siguiente comando:

make install-groups-users
usermod -a -G nagios www-data

A continuación, instala el Nagios Core con el siguiente comando:

make install

Deberías ver la siguiente salida:

*** Main program, CGIs and HTML files installed ***

You can continue with installing Nagios as follows (type 'make'
without any arguments for a list of all possible options):

  make install-init
     - This installs the init script in /lib/systemd/system

  make install-commandmode
     - This installs and configures permissions on the
       directory for holding the external command file

  make install-config
     - This installs sample config files in /usr/local/nagios/etc

make[1]: Leaving directory '/root/nagios-4.4.7'

Una vez instalado el Nagios Core, tendrás que crear un archivo de servicio systemd para gestionar el servicio Nagios. Puedes crear el script systemd init con el siguiente comando:

make install-daemoninit

A continuación, establece el permiso adecuado en el directorio de instalación de Nagios con el siguiente comando:

make install-commandmode

A continuación, crea un archivo de configuración de Nagios de ejemplo con el siguiente comando:

make install-config

A continuación, instala la interfaz web de Nagios con el siguiente comando:

make install-webconf
a2enmod rewrite cgi

A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

A continuación, instala el tema para la interfaz web de Nagios.

make install-exfoliation

Crear un usuario administrador de Nagios

A continuación, tendrás que crear un usuario administrador para acceder a la interfaz web de Nagios. Puedes crearlo con el siguiente comando:

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

Establece la contraseña que desees como se muestra a continuación:

New password: 
Re-type new password: 
Adding password for user nagiosadmin

Instalar plugins de Nagios

A continuación, tendrás que descargar los plugins de Nagios para monitorizar los servicios del sistema. Puedes descargarlo del repositorio Git con el siguiente comando:

wget https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.0/nagios-plugins-2.4.0.tar.gz

Una vez descargado, extrae el archivo descargado con el siguiente comando:

tar -xvzf nagios-plugins-2.4.0.tar.gz

A continuación, cambia el directorio al extraído y configúralo con el siguiente comando:

cd nagios-plugins-2.4.0
./configure --with-nagios-user=nagios --with-nagios-group=nagios

A continuación, instálalo con el siguiente comando

make
make install

A continuación, verifica los archivos de configuración de Nagios de muestra antes de iniciarlo con el siguiente comando:

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

Si todo va bien, deberías obtener la siguiente salida:

Running pre-flight check on configuration data...

Checking objects...
	Checked 8 services.
	Checked 1 hosts.
	Checked 1 host groups.
	Checked 0 service groups.
	Checked 1 contacts.
	Checked 1 contact groups.
	Checked 24 commands.
	Checked 5 time periods.
	Checked 0 host escalations.
	Checked 0 service escalations.
Checking for circular paths...
	Checked 1 hosts
	Checked 0 service dependencies
	Checked 0 host dependencies
	Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Iniciar el servicio Nagios

Ahora, inicia el servicio Nagios y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start nagios
systemctl enable nagios

También puedes comprobar el estado del servicio Nagios con el siguiente comando:

systemctl status nagios

Deberías obtener la siguiente salida:

? nagios.service - Nagios Core 4.4.7
     Loaded: loaded (/lib/systemd/system/nagios.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-05-04 17:18:52 UTC; 1s ago
       Docs: https://www.nagios.org/documentation
    Process: 15854 ExecStartPre=/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg (code=exited, status=0/SUCCESS)
    Process: 15855 ExecStart=/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg (code=exited, status=0/SUCCESS)
   Main PID: 15856 (nagios)
      Tasks: 6 (limit: 2241)
     Memory: 5.2M
        CPU: 355ms
     CGroup: /system.slice/nagios.service
             ??15856 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
             ??15857 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
             ??15858 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
             ??15859 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
             ??15860 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
             ??15861 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

June 12 06:10:52 jellyfish nagios[15856]: qh: core query handler registered
June 12 06:10:52 jellyfish nagios[15856]: qh: echo service query handler registered
June 12 06:10:52 jellyfish nagios[15856]: qh: help for the query handler registered
June 12 06:10:52 jellyfish nagios[15856]: wproc: Successfully registered manager as @wproc with query handler
June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15858;pid=15858
June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15857;pid=15857
June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15860;pid=15860
June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15859;pid=15859
June 12 06:10:53 jellyfish nagios[15856]: Successfully launched command file worker with pid 15861
June 12 06:10:53 jellyfish nagios[15856]: HOST ALERT: localhost;DOWN;SOFT;1;(No output on stdout)

Accede a la Interfaz Web de Nagios

Ahora, abre tu navegador web y escribe la URL http://your-server-ip/nagios. Se te redirigirá a la pantalla de inicio de sesión de Nagios:

Inicio de sesión en Nagios

Introduce tu nombre de usuario y contraseña de administrador de Nagios y haz clic en el botón Aceptar. Deberías ver el panel de control por defecto de Nagios en la siguiente pantalla:

Panel Nagios

Conclusión

Enhorabuena! has instalado correctamente la última versión de Nagios Core en el servidor Ubuntu 22.04. Ya puedes implementar Nagios en tu infraestructura, añadir tus hosts de monitorización y empezar a monitorizarlos a través de un navegador web. No dudes en preguntarme si tienes alguna duda.

Scroll al inicio