Cómo instalar el software de monitorización Icinga 2 en Debian 10
Icinga 2 es un sistema de monitorización gratuito, de código abierto y de uso generalizado, que puede utilizarse para monitorizar la salud de hosts y servicios en red. Con Icinga 2 puedes controlar la carga de la CPU, el uso de la memoria, el uso del disco, IMAP, POP3, SMTP, HTTP, routers, conmutadores y muchos más. Icinga 2 se puede instalar en los principales sistemas operativos, como Debian, Ubuntu, CentOS, RHEL, FreeBSD, Fedora, ArchLinux y muchos más.
En este tutorial, aprenderemos a instalar y configurar Icinga 2 e Icinga Web 2 en Debian 10.
Requisitos
- Un servidor que ejecute Debian 10.
- Una dirección IP estática configurada en tu servidor.
- Una contraseña de root configurada en tu servidor.
Cómo empezar
En primer lugar, se recomienda actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:
apt-get update -y apt-get upgrade -y
Una vez actualizado tu sistema, reinícialo para aplicar los cambios.
Instalar Apache y PHP
Antes de empezar, necesitarás instalar el servidor web Apache, PHP y otros módulos PHP en tu sistema. Puedes instalarlos todos con el siguiente comando:
apt-get install apache2 libapache2-mod-php php php-common php-curl php-gd php-curl php-dom php-mysql php-intl php-imagick -y
Una vez instalados todos los paquetes, abre el archivo php.ini y modifica algunos ajustes con el siguiente comando:
nano /etc/php/7.3/apache2/php.ini
Cambia las siguientes líneas:
memory_limit = 256M file_uploads = On allow_url_fopen = On allow_url_include = Off post_max_size 64M upload_max_filesize = 100M max_execution_time = 300 default_charset = "UTF-8" date.timezone = "Asia/Kolkata"
Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servicio Apache para aplicar los cambios:
systemctl restart apache2
Cuando hayas terminado, puedes pasar al siguiente paso.
Instalar Icinga2
Por defecto, Icinga2 está disponible en el repositorio por defecto de Debian 10. Puedes instalarlo junto con otras herramientas necesarias ejecutando el siguiente comando:
apt-get install icinga2 vim-icinga2 monitoring-plugins-basic monitoring-plugins-common icingacli -y
Una vez instalados todos los paquetes, inicia el servicio Icinga2 y habilítalo para que se inicie tras reiniciar el sistema con el siguiente comando:
systemctl start icinga2 systemctl enable icinga2
También puedes comprobar el estado de Icinga2 con el siguiente comando:
systemctl status icinga2.service
Deberías obtener la siguiente salida:
? icinga2.service - Icinga host/service/network monitoring system Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-09-28 06:01:32 EDT; 28s ago Docs: https://icinga.com/docs/icinga2/latest/ Main PID: 1619 (icinga2) Tasks: 15 (limit: 1138) Memory: 64.6M CGroup: /system.slice/icinga2.service ??1619 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??1651 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??3060 /usr/lib/nagios/plugins/check_apt ??3061 /usr/bin/apt-get -o Debug::NoLocking=true -s -qq upgrade Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Instantiated 1 Endpoint. Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Instantiated 1 FileLogger. Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Instantiated 215 CheckCommands. Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/icing Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Triggering Start signal for config items Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/FileLogger: 'main-log' started. Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/NotificationComponent: 'notification' started. Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/CheckerComponent: 'checker' started. Sep 28 06:01:32 debian icinga2[1619]: [2019-09-28 06:01:32 -0400] information/ConfigItem: Activated all objects. Sep 28 06:01:32 debian systemd[1]: Started Icinga host/service/network monitoring system.
Una vez que hayas terminado, puedes pasar al siguiente paso.
Instalar y configurar los módulos MariaDB e IDO
A continuación, tendrás que instalar el servidor MariaDB y los módulos IDO en tu sistema. Puedes instalarlos ejecutando el siguiente comando:
apt-get install mariadb-common mariadb-server icinga2-ido-mysql
Durante el proceso de instalación, se te pedirá que habilites la función ido-mysql de Icinga2, como se muestra en la siguiente pantalla.
Selecciona sí y pulsa intro. Se te pedirá que configures la base de datos para icinga2-ido-mysql con dbconfig-common como se muestra en la siguiente pantalla.
Selecciona sí y pulsa intro. Se te pedirá que proporciones la contraseña de la aplicación MySQL para icinga2-ido-mysql
como se muestra en la siguiente pantalla.
Proporciona la contraseña que desees y pulsa el botón Aceptar para finalizar la instalación.
A continuación, tendrás que crear una base de datos y un usuario para Icinga web 2. En primer lugar, inicia sesión en el intérprete de comandos MariaDB con el siguiente comando:
mysql -u root -p
Proporciona tu contraseña de root y crea una base de datos y un usuario para Icinga web 2 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 del shell MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Una vez que hayas terminado, puedes pasar al siguiente paso.
Instalar Icinga Web 2
Icinga Web 2 es un framework de aplicaciones basado en PHP que puede utilizarse para gestionar Icinga2 a través del navegador web. Puedes instalarlo simplemente ejecutando el siguiente comando:
apt-get install icingaweb2 -y
Una vez instalado, crea un grupo de sistema para Icinga web 2 y añade el usuario www-data a este grupo para que Apache pueda tener acceso a los archivos:
addgroup --system icingaweb2 usermod -a -G icingaweb2 www-data
A continuación, tendrás que generar un nuevo token de configuración para Icinga Web 2. Puedes configurarlo con el siguiente comando:
icingacli setup config directory --group icingaweb2 icingacli setup token create
Deberías ver la siguiente salida:
36ab602342cceb9c
Nota: Recuerda este código. Necesitarás este código durante la configuración de Icinga Web 2.
Por último, reinicia el servicio Apache e Icinga2 para aplicar todos los cambios de configuración:
systemctl restart apache2 systemctl restart icinga2
Acceder a Icinga Web 2
Icinga2 e Icinga Web 2 ya están instalados y configurados. Es hora de configurar Icinga web 2.
Abre tu navegador web y escribe la URL http://your-ip-address/icingaweb2/setup. Serás redirigido a la siguiente página:
Proporciona el token de configuración de Icinga web 2 que has generado anteriormente y haz clic en el botón Siguiente. Deberías ver la siguiente página:
Ahora, selecciona el módulo que desees y pulsa el botón Siguiente. Deberías ver la siguiente página:
Asegúrate de que están instalados todos los módulos PHP necesarios. A continuación, haz clic en el botón Siguiente. Deberías ver la siguiente página:
Selecciona Tipo de autenticación como Base de datos y pulsa el botón Siguiente. Deberías ver la siguiente página:
Proporciona los detalles de tu base de datos como, nombre de la base de datos, nombre de usuario de la base de datos, contraseña y haz clic en el botón Siguiente. Deberías ver la siguiente página:
Proporciona el nombre de tu backend y pulsa el botón Siguiente. Deberías ver la siguiente página:
Crea tu usuario administrador de Icingaweb2 y pulsa el botón Siguiente. Debes ver la siguiente página:
Haz clic en el botón Siguiente. Deberías ver la siguiente página:
Revisa todos los cambios que has realizado y pulsa el botón Siguiente. Debes ver la página siguiente:
Haz clic en el botón Siguiente para configurar el módulo de monitorización. Deberías ver la siguiente página:
Indica el nombre de tu backend y el tipo de backend, y pulsa el botón Siguiente. Deberías ver la siguiente página:
Proporciona los detalles de tu base de datos que has creado durante la instalación de IDO y pulsa el botón Siguiente. Deberías ver la siguiente página:
Proporciona tu nombre de transporte, selecciona una línea de comandos local y pulsa el botón Siguiente. Deberías ver la página siguiente:
Haz clic en el botón Siguiente. Deberías ver la página siguiente:
Ahora, revisa todos los cambios que has realizado y pulsa el botón Finalizar. Una vez que la instalación se haya completado con éxito, deberías ver la siguiente página:
Haz clic en Iniciar sesión en Icinga Web 2. Se te redirigirá a la siguiente página:
Introduce tu nombre de usuario y contraseña de administrador de Icinga2 y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Icinga2 en la siguiente página:
Enhorabuena! has instalado y configurado correctamente Icinga2 e Icinga web 2 en un servidor Debian 10. Ahora puedes añadir fácilmente hosts de monitorización a tu servidor y empezar a monitorizar. No dudes en preguntarme si tienes alguna duda.