Cómo instalar el software de monitorización Icinga 2 en Debian 11

Icinga2 es una herramienta de monitorización de red gratuita, de código abierto y una de las más populares. Está escrita en PHP y C++, y te permite monitorizar los recursos de la red, notificar las interrupciones y generar datos de rendimiento para elaborar informes. Es capaz de monitorizar varios protocolos, como SMTP, POP3, HTTP, NNTP, ping, carga de la CPU, uso del disco, conmutadores, routers, etc. Se compone de dos pilas Icinga2 e Icinga Web 2. Icinga2 se utiliza como servidor de monitorización mientras que Icinga Web 2 es la interfaz web para mantener la monitorización.

En este artículo, te mostraré cómo instalar el servidor de monitorización Icinga2 en Debian 11.

Requisitos previos

  • Un servidor que ejecute Debian 11.
  • Una contraseña de root configurada en el servidor.

Instalar el servidor LAMP

En primer lugar, tendrás que instalar el servidor web Apache, MariaDB, PHP y otras extensiones necesarias en tu servidor. Puedes instalarlos todos con el siguiente comando:

apt-get install apache2 mariadb-server php libapache2-mod-php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-pgsql php-gmp php-imagick -y

Una vez instalados todos los paquetes, edita el archivo php.ini y cambia algunos ajustes:

nano /etc/php/7.4/apache2/php.ini

Cambia las siguientes líneas:

memory_limit = 256M 
post_max_size = 64M
upload_max_filesize = 100M	
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
cgi.fix_pathinfo=0

Guarda y cierra el archivo y luego reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

A continuación, tendrás que establecer una contraseña de root de MariaDB y asegurar la instalación. Puedes hacerlo ejecutando el siguiente script:

mysql_secure_installation

Responde a todas las preguntas como se indica a continuación:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Instalar Icinga2

Por defecto, el paquete Icinga2 está incluido en el repositorio por defecto de Debian 11. Puedes instalarlo con el siguiente comando:

apt-get install icinga2 monitoring-plugins -y

Una vez instalados todos los paquetes, inicia el Icinga2 y haz que se inicie al reiniciar el sistema:

systemctl start icinga2
systemctl enable icinga2

Para comprobar el estado del Icinga2, ejecuta el siguiente comando:

systemctl status icinga2

Ejemplo de salida:

? icinga2.service - Icinga host/service/network monitoring system
     Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-10-03 13:40:11 UTC; 27s ago
       Docs: https://icinga.com/docs/icinga2/latest/
    Process: 20727 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS)
   Main PID: 20734 (icinga2)
      Tasks: 15 (limit: 2341)
     Memory: 12.7M
        CPU: 1.769s
     CGroup: /system.slice/icinga2.service
             ??20734 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??20748 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??20751 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??21621 /usr/lib/nagios/plugins/check_ping -6 -H ::1 -c 200,15% -w 100,5%
             ??21622 /bin/ping -6 -n -U -w 10 -c 5 ::1

Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 Endpoint.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 FileLogger.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 235 CheckCommands.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/i>
Oct 03 13:40:11 debian11 systemd[1]: Started Icinga host/service/network monitoring system.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Triggering Start signal for config items
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/FileLogger: 'main-log' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/NotificationComponent: 'notification' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/CheckerComponent: 'checker' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Activated all objects.

A continuación, tendrás que instalar el plugin de MySQL para Icinga2. Puedes instalarlo con el siguiente comando:

apt-get install icinga2-ido-mysql -y

Durante la instalación, se te pedirá que habilites la función ido-mysql de Icinga 2:

Utilizar el servidor MySQL

Selecciona y pulsa Intro. Se te pedirá que crees una base de datos para Icinga2.

Configurar ido mysql

Selecciona y pulsa Intro. Se te pedirá que establezcas la contraseña de la aplicación Icinga2:

Establecer la contraseña de MySQL

Proporciona tu contraseña y pulsa Intro para finalizar la instalación.

Esto creará una base de datos y un usuario llamado icinga2 y establecerá una contraseña.

Nota: Recuerda la base de datos, el usuario y la contraseña de icinga2. La necesitarás durante la instalación basada en la web. A continuación, activa el módulo ido-mysql con el siguiente comando:

icinga2 feature enable ido-mysql

Por último, reinicia el servicio Icinga2 para aplicar los cambios:

systemctl restart icinga2

Instalar y configurar Icinga Web 2

Icinga Web 2 proporciona una interfaz web para supervisar Icinga2. Puedes instalarla con el siguiente comando:

apt-get install icingaweb2 icingacli -y

Una vez completada la instalación, tendrás que crear una base de datos y un usuario para Icinga Web 2.

En primer lugar, inicia sesión en MariaDB con el siguiente comando:

mysql -u root -p

Una vez iniciada la sesión, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE icingaweb2;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON icingaweb2.* TO 'icingaweb2'@'localhost' IDENTIFIED BY 'password';

A continuación, vacía los privilegios y sal de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

A continuación, genera un token secreto con el siguiente comando:

icingacli setup token create

Deberías obtener la siguiente salida:

The newly generated setup token is: 73bb878b50a35df8

Accede a la interfaz web de Icinga2

Ahora, abre tu navegador web y accede al asistente de instalación web de Icinga2 utilizando la URL http://your-server-ip/icingaweb2/setup. Deberías ver la siguiente página:

Instalador web de Icinga

Proporciona tu token secreto y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Módulos Icinga

Selecciona la Monitorización y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Comprueba los requisitos

Asegúrate de que todas las extensiones de PHP están instaladas y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Autenticación

Selecciona tu tipo de autenticación y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Configuración de la base de datos

Proporciona tus credenciales de la base de datos web Icinga2 y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Auténtico backend

Selecciona el nombre de tu backend y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Administración

Proporciona tu usuario administrador y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Configuración de la aplicación

Haz clic en el botón Siguiente. Deberías ver la siguiente página:

Siguiente paso

Revisa todos los ajustes y haz clic en el botón Siguiente. Serás redirigido a la siguiente página:

Configurar el módulo de monitorización

Haz clic en el botón Siguiente. Deberías ver la siguiente página:

Configurar el backend de monitorización

Selecciona el nombre de tu backend y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Seguimiento del recurso IDO

Proporciona tus credenciales de la base de datos Icinga IDO y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Transporte de mando

Selecciona tus opciones preferidas y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Configuración de seguridad

Selecciona tu seguridad de monitorización y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Terminar la instalación

Revisa tu configuración y haz clic en el botón Finalizar. Deberías ver la siguiente página:

Instalación de Icinga 2 con éxito

Haz clic en el botón Iniciar sesión en Icinga Web 2. Deberías ver la siguiente página:

Inicio de sesión en Icinga 2

Proporciona tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver la siguiente página:

Panel de control de Icinga 2

Conclusión

Enhorabuena! has instalado y configurado con éxito el servidor de monitorización Icinga2 en Debian 11. Ahora puedes añadir hosts remotos y empezar a monitorizar desde el panel de control de Icinga Web 2.

También te podría gustar...