Cómo instalar la herramienta de monitorización Nagios en Debian 12

Nagios es un sistema de monitorización de código abierto para controlar la salud y el rendimiento de la infraestructura informática. Proporciona alertas en tiempo real y resúmenes del estado de servidores, redes y aplicaciones, permitiendo la resolución proactiva de problemas.

En esta guía aprenderás a instalar Nagios en un servidor Debian 12. Instalarás Nagios en Debian mediante el gestor de paquetes en lugar de compilarlo manualmente.

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios sudo.

Instalar Nagios en Debian

Para instalar Nagios, puedes instalarlo manualmente compilándolo por tu cuenta. O también puedes instalar Nagios a través de un gestor de paquetes como APT. En este ejemplo, instalarás Nagios en Debian 12 a través del repositorio APT, que es más rápido y sencillo.

Para empezar, ejecuta el siguiente comando para refrescar y actualizar el índice de paquetes de Debian.

sudo apt update

actualizar repo

Una vez actualizado el índice de paquetes, ejecuta el siguiente comando para instalar Nagios, el plugin de monitorización y el plugin Nagios NRPE a través del repositorio de Debian.

sudo apt install nagios4 nagios4-common monitoring-plugins-contrib nagios-nrpe-plugin

Escribe Y para proceder a la instalación. Con esto, instalarás las dependencias para Nagios, que incluyen los paquetes del servidor web Apache y PHP 8.2.

instalar nagios en debian 12

Con Nagios instalado, ejecuta el siguiente comando systemctl para habilitar el servicio nagios4.

sudo systemctl enable nagios4

A continuación, verifica el servicio nagios4 para asegurarte de que se está ejecutando mediante el siguiente comando. Deberías ver el servicio nagios4 con el estado activo (en ejecución) y habilitado.

sudo systemctl is-enabled nagios4
sudo systemctl status nagios4

comprobar el servicio nagios

Ahora también puedes verificar el estado del servidor web Apache para asegurarte de que está instalado y en ejecución mediante el comando que aparece a continuación.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

comprobar el servicio apache2

Por último, abre tu navegador web y visita tu instalación de Nagios http://192.168.5.15/nagios4. Deberías ver el panel de control de Nagios como el siguiente:

panel nagios

Archivos y directorios de configuración de Nagios

Como has instalado Nagios a través del repositorio APT debian, es recomendable que conozcas la estructura de directorios y la configuración de tu instalación de Nagios.

A continuación se indican los archivos y directorios de configuración de Nagios que debes conocer:

  • /etc/nagios4: la configuración por defecto para la instalación de Nagios.
  • /etc/apache2/conf-available/nagios4-cgi.conf: La configuración de Nagios relacionada con la integración del servidor web Apache.
  • /etc/nagios-plugins: El directorio para el plugin de monitorización de Nagios.
  • /usr/lib/nagios/plugins: Ubicación de los comandos de comprobación para el plugin de monitorización de Nagios.

Activar la autenticación de Nagios

Por defecto, Nagios viene con la autenticación desactivada, pero sólo la red local puede acceder a tu instalación. En este ejemplo, habilitarás la autenticación para Nagios. De esta forma, sólo los usuarios con el nombre de usuario y la contraseña correctos podrán acceder al panel de Nagios.

Abre el archivo /etc/nagios4/cgi. conf utilizando el siguiente comando del editor nano.

sudo nano /etc/nagios4/cgi.conf

Busca la línea de use_authentication y cambia el valor a 1 para habilitar la autenticación de Nagios.

# AUTHENTICATION USAGE
# This option controls whether or not the CGIs will use any
# Authentication when displaying host and service information, as
# well as committing commands to Nagios for processing.
#
# Read the HTML documentation to learn how the authorization works!
#
# NOTE: It is a really *bad* idea to disable authorization, unless
# you plan on removing the command CGI (cmd.cgi)! Failure to do
# so will leave you wide open to kiddies messing with Nagios and
# possibly hitting you with a denial of service attack by filling up
# your drive by continuously writing to your command file!
#
# Setting this value to 0 will cause the CGIs to *not* use
# authentication (bad idea), while any other value will make them
# use the authentication functions (the default).

use_authentication=1

Guarda y cierra el archivo cuando hayas terminado.

A continuación, reinicia el servicio nagios4 utilizando el siguiente comando para que surta efecto.

sudo systemctl restart nagios4

Con esto, sólo el usuario‘nagiosadmin‘ podrá acceder a tu instalación de Nagios. Podrás seguir accediendo al panel de control de Nagios, pero la página de informes y monitorización quedará denegada por esto.

Configurar Apache Basic Auth para Nagios

Ahora que has habilitado la autenticación de Nagios en la parte de Nagios, el siguiente paso es configurar la autenticación en el servidor web Apache mediante basic_auth.

Primero, ejecuta el siguiente comando para habilitar los módulos necesarios, cgi, cgid y rewrite.

sudo a2enmod cgi cgid rewrite

módulo enablke cgi y reescritura

Abre los archivos de configuración de Apache para la instalación de Nagios /etc/apache2/conf-available/nagios4-cgi.conf utilizando el siguiente comando del editor nano.

sudo nano /etc/apache2/conf-available/nagios4-cgi.conf

Busca la línea de‘<DirectoryMatch … </DirectoryMatch>’ y sustituye la configuración por defecto por la siguiente. En este caso, habilitarás el módulo Apache basic_auth contenidos web Nagios. Los usuarios de la base de datos que se utilizarán en el archivo /etc/nagios4/htdigest.users.

<DirectoryMatch (/usr/share/nagios4/htdocs|/usr/lib/cgi-bin/nagios4|/etc/nagios4/stylesheets)>
 Options FollowSymLinks
 DirectoryIndex index.php index.html
 AllowOverride AuthConfig
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Core"
AuthType Basic
AuthUserFile /etc/nagios4/htdigest.users
Require valid-user
Require all denied

</DirectoryMatch>

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para crear un nuevo usuario nagiosadmin para Apache basic auth. Por defecto, Nagios sólo permite al usuario nagiosadmin mostrar y gestionar Nagios.

sudo htpasswd /etc/nagios4/htdigest.users nagiosadmin

Introduce tu contraseña y repite.

configurar autenticación apache nagios

Por último, ejecuta el siguiente comando para reiniciar el servicio apache2 y aplicar tus cambios. A continuación, verifica Apache para asegurarte de que se está ejecutando.

sudo systemctl restart apache2
sudo systemctl status apache2

comprobar el servicio apache

Tras completar este paso, se te pedirá que accedas a tu instalación de Nagios.

Acceder a la instalación de Nagios con la autenticación activada

Vuelve a tu navegador web y recarga tu pestaña de Nagios. Si la configuración es correcta, se te pedirá el módulo Apache basic_auth.

Introduce el usuario nagiosadmin con tu contraseña y haz clic en Iniciar sesión para continuar.

Iniciar sesión en Nagios

Si tu contraseña es correcta, se te mostrará el panel de control de Nagios.

Panel Nagios

Haz clic en el menú Hosts y verás el localhost con el estado UP.

Lista de hosts de Nagios

Ahora haz clic en el menú Servicios y verás la monitorización del sistema por defecto en Nagios, que incluye la carga del sistema, usuarios conectados, estado HTTP, ping, uso del disco de la raíz/partición, estado SSH, estado SWAP, y también el proceso total en el sistema.

Nagios services

Conclusión

¡Enhorabuena y bien hecho! Has terminado la instalación de la herramienta de monitorización Nagios en el servidor Debian 12. Has instalado Nagios a través del repositorio APT de Debian, que proporciona la forma más sencilla de desplegar Nagios. Además, también has activado la autenticación en Nagios e implementado el módulo basic_auth de Apache para asegurar tu instalación de Nagios.

A partir de ahora, puedes añadir y monitorizar hosts a través de Nagios, o puedes explorar el plugin NRPE para monitorizar hosts remotos a través de Nagios.

También te podría gustar...