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:
Selecciona Sí y pulsa Intro. Se te pedirá que crees una base de datos para Icinga2.
Selecciona Sí y pulsa Intro. Se te pedirá que establezcas la contraseña de la aplicación Icinga2:
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:
Proporciona tu token secreto y haz clic en el botón Siguiente. Deberías ver la siguiente página:
Selecciona la Monitorización y haz clic en el botón Siguiente. Deberías ver la siguiente página:
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:
Selecciona tu tipo de autenticación y haz clic en el botón Siguiente. Deberías ver la siguiente página:
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:
Selecciona el nombre de tu backend y haz clic en el botón Siguiente. Deberías ver la siguiente página:
Proporciona tu usuario administrador y haz clic en el botón Siguiente. Deberías ver la siguiente página:
Haz clic en el botón Siguiente. Deberías ver la siguiente página:
Revisa todos los ajustes y haz clic en el botón Siguiente. Serás redirigido a la siguiente página:
Haz clic en el botón Siguiente. Deberías ver la siguiente página:
Selecciona el nombre de tu backend y haz clic en el botón Siguiente. Deberías ver la siguiente página:
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:
Selecciona tus opciones preferidas y haz clic en el botón Siguiente. Deberías ver la siguiente página:
Selecciona tu seguridad de monitorización y haz clic en el botón Siguiente. Deberías ver la siguiente página:
Revisa tu configuración y haz clic en el botón Finalizar. Deberías ver la siguiente página:
Haz clic en el botón Iniciar sesión en Icinga Web 2. Deberías ver la siguiente página:
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:
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.