Icinga2 es una herramienta de monitoreo de red gratuita, de código abierto y una de las más populares. Está escrito en PHP y C++ y le permite monitorear los recursos de la red, notifica las interrupciones y genera datos de rendimiento para generar informes. Es capaz de monitorear varios protocolos, incluidos SMTP, POP3, HTTP, NNTP, ping, carga de CPU, uso de disco, conmutadores, enrutadores y más. Está hecho de dos pilas Icinga2 e Icinga Web 2. Icinga2 se usa como servidor de monitoreo mientras que Icinga Web 2 es la interfaz web para seguir monitoreando.
En este artículo, le mostraré cómo instalar el servidor de monitoreo Icinga2 en Debian 11.
Requisitos
- Un servidor que ejecuta Debian 11.
- Se configura una contraseña raíz en el servidor.
Instalar servidor LAMP
Primero, deberá instalar el servidor web Apache, MariaDB, PHP y otras extensiones requeridas en su servidor. Puede 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 que todos los paquetes estén instalados, edite el archivo php.ini y cambie algunas configuraciones:
nano /etc/php/7.4/apache2/php.ini
Cambie 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
Guarde y cierre el archivo, luego reinicie el servicio Apache para aplicar los cambios:
systemctl restart apache2
A continuación, deberá establecer una contraseña raíz de MariaDB y asegurar la instalación. Puede hacerlo ejecutando el siguiente script:
mysql_secure_installation
Responda todas las preguntas como se muestra 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
De forma predeterminada, el paquete Icinga2 se incluye en el repositorio predeterminado de Debian 11. Puedes instalarlo usando el siguiente comando:
apt-get install icinga2 monitoring-plugins -y
Una vez que todos los paquetes estén instalados, inicie Icinga2 y habilítelo para que se inicie al reiniciar el sistema:
systemctl start icinga2
systemctl enable icinga2
Para verificar el estado de Icinga2, ejecute el siguiente comando:
systemctl status icinga2
Salida de muestra:
? 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, deberá instalar el complemento MySQL para Icinga2. Puedes instalarlo usando el siguiente comando:
apt-get install icinga2-ido-mysql -y
Durante la instalación, se le pedirá que habilite la función ido-mysql de Icinga 2:
Seleccione Sí y pulsa Intro . Se le pedirá que cree una base de datos para Icinga2.
Seleccione Sí y pulsa Intro . Se le pedirá que establezca la contraseña de la aplicación Icinga2:
Proporcione su contraseña y presione Entrar para finalizar la instalación.
Esto creará una base de datos y un usuario llamado icinga2 y establece una contraseña.
Nota :Recuerde la base de datos, el usuario y la contraseña de icinga2. Lo necesitará durante la instalación basada en web. A continuación, habilite el módulo ido-mysql con el siguiente comando:
icinga2 feature enable ido-mysql
Finalmente, reinicie el servicio Icinga2 para aplicar los cambios:
systemctl restart icinga2
Instalar y configurar Icinga Web 2
Icinga Web 2 proporciona una interfaz web para monitorear Icinga2. Puede instalarlo con el siguiente comando:
apt-get install icingaweb2 icingacli -y
Una vez completada la instalación, deberá crear una base de datos y un usuario para Icinga Web 2.
Primero, inicie sesión en MariaDB con el siguiente comando:
mysql -u root -p
Una vez que inicie sesión, cree 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, elimine los privilegios y salga de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Luego, genera un token secreto con el siguiente comando:
icingacli setup token create
Deberías obtener el siguiente resultado:
The newly generated setup token is: 73bb878b50a35df8
Acceder a la interfaz web de Icinga2
Ahora, abra su navegador web y acceda al asistente de instalación web de Icinga2 usando la URL http://your-server-ip/icingaweb2/setup . Debería ver la siguiente página:
Proporcione su token secreto y haga clic en Siguiente botón. Debería ver la siguiente página:
Seleccione Supervisión y haga clic en Siguiente botón. Debería ver la siguiente página:
Asegúrese de que todas las extensiones de PHP estén instaladas y luego haga clic en Siguiente botón. Debería ver la siguiente página:
Seleccione su tipo de autenticación y haga clic en Siguiente botón. Debería ver la siguiente página:
Proporcione sus credenciales de la base de datos web de Icinga2 y haga clic en Siguiente botón. Debería ver la siguiente página:
Seleccione el nombre de su servidor y haga clic en Siguiente botón. Debería ver la siguiente página:
Proporcione su usuario administrador y haga clic en Siguiente botón. Debería ver la siguiente página:
Haga clic en Siguiente botón. Debería ver la siguiente página:
Revise todas las configuraciones y haga clic en Siguiente botón. Será redirigido a la siguiente página:
Haga clic en Siguiente botón. Debería ver la siguiente página:
Seleccione el nombre de su servidor y haga clic en Siguiente botón. Debería ver la siguiente página:
Proporcione sus credenciales de la base de datos Icinga IDO y haga clic en Siguiente botón. Debería ver la siguiente página:
Seleccione sus opciones preferidas y haga clic en Siguiente botón. Debería ver la siguiente página:
Seleccione su seguridad de monitoreo y haga clic en Siguiente botón. Debería ver la siguiente página:
Revise su configuración y haga clic en Finalizar botón. Debería ver la siguiente página:
Haga clic en Iniciar sesión en Icinga Web 2 . Debería ver la siguiente página:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver la siguiente página:
Conclusión
¡Felicidades! Ha instalado y configurado con éxito el servidor de monitoreo Icinga2 en Debian 11. Ahora puede agregar hosts remotos y comenzar a monitorear desde el panel de control de Icinga Web 2.