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.

Configurar MariaDB para Icinga

Selecciona 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.

icinga2-ido-mysql

Selecciona 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.

Contraseña de la aplicación MySQL

Repite la contraseña

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:

Icinga2 web

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:

Módulos

Ahora, selecciona el módulo que desees y pulsa el botón Siguiente. Deberías ver la siguiente página:

Lista de módulos

Lista de módulos 2

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 el tipo de autenticación

Selecciona Tipo de autenticación como Base de datos y pulsa el botón Siguiente. Deberías ver la siguiente página:

Elegir recurso de base de datos

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:

Selecciona el backend de autenticación

Proporciona el nombre de tu backend y pulsa el botón Siguiente. Deberías ver la siguiente página:

Acceso administrativo

Crea tu usuario administrador de Icingaweb2 y pulsa el botón Siguiente. Debes 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:

Revisar los cambios

Revisa todos los cambios que has realizado y pulsa el botón Siguiente. Debes ver la página siguiente:

Configurar el módulo de monitorización

Haz clic en el botón Siguiente para configurar el módulo de monitorización. Deberías ver la siguiente página:

Monitorización backend

Indica el nombre de tu backend y el tipo de backend, y pulsa el botón Siguiente. Deberías ver la siguiente página:

Supervisión del recurso Ido

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:

Transporte de mando

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:

Supervisar la seguridad

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

Revisar los cambios

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:

Configuración correcta

Haz clic en Iniciar sesión en Icinga Web 2. Se te redirigirá a la siguiente página:

Inicio de sesión en Icinga

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:

Cuadro de mandos de Icinga

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.

También te podría gustar...