Cómo instalar el software de monitorización Icinga 2 en Ubuntu 20.04 LTS

Icinga es una herramienta de supervisión gratuita y de código abierto para tu centro de datos. Es una aplicación de supervisión de redes y sistemas informáticos que comprueba la disponibilidad de tus recursos informáticos y de red, notifica las interrupciones del sistema, genera datos de rendimiento de tus recursos y proporciona una configuración de supervisión distribuida y de alta disponibilidad con la función de clúster integrada.

Icinga se creó como una bifurcación de la herramienta de Monitorización Nagios en 2009. Y ahora, se ha reescrito desde cero en C++, y se ha convertido en una de las herramientas de monitorización más populares de Internet. La palabra «Icinga» es una palabra zulú que significa «busca», «explora» o «examina».

En este tutorial, te mostraremos cómo instalar y configurar la herramienta de supervisión Icinga 2 utilizando un servidor Ubuntu 20.04 LTS. Instalaremos Icinga 2 desde el repositorio oficial y luego configuraremos icingaweb2, la interfaz web ligera y extensible para una herramienta de monitorización icinga2.

Requisitos previos

Para esta guía, instalaremos icinga2 e icingaweb2 utilizando el servidor Ubuntu 20.04 con 2GB de memoria RAM. Si tu despliegue es grande, puedes usar más que eso.

¿Qué vamos a hacer?

  • Instalar los Plugins de Monitorización Icinga2 y Nagios
  • Instalar y Configurar la Base de Datos MySQL
  • Instalar y configurar el módulo MySQL de Icinga
  • Instalar paquetes Apache2 y PHP
  • Instalación y configuración de Icingaweb2
  • Post-Instalación de la Pila Icinga2

Paso 1 – Instalar los plugins de monitorización de Icinga2 y Nagios

Primero` añadiremos el repositorio icinga2 para el Ubuntu 20.04 e instalaremos los paquetes icinga2 y los plugins de Monitorización nagios.

Añade la clave GPG del Icinga2 a tu sistema.

curl https://packages.icinga.com/icinga.key | apt-key add -

Ahora ve al directorio ‘/etc/apt/sources.list.d’ y crea un nuevo archivo de repositorio ‘icinga-focal.list’.

cd /etc/apt/sources.list.d/
vim icinga-focal.list

Pega la siguiente configuración del repositorio.

deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main

Guarda y cierra.

A continuación, actualiza todos los repositorios disponibles e instala los plugins de monitorización de Icinga2 y Nagios utilizando el comando apt que aparece a continuación.

sudo apt update
sudo apt install icinga2 monitoring-plugins

Instala los paquetes icinga2 y los plugins de monitorización de Nagios

Una vez finalizada la instalación, inicia el servicio Icinga2 y añádelo al arranque del sistema.

systemctl start icinga2
systemctl enable icinga2

Después de eso, verifica el servicio icinga2 utilizando el comando de abajo.

systemctl status icinga2

A continuación se muestra el resultado que obtendrás.

Iniciar el servicio Icinga2

Como resultado, el servicio icinga2 está en marcha en el Ubuntu 20.04 FocalFossa.

Paso 2 – Instalar y Configurar el Servidor de Base de Datos MySQL

En este paso, instalaremos el último servidor MySQL en nuestro Ubuntu 20.04 y configuraremos la contraseña para el usuario raíz MySQL por defecto.

Instala el servidor MySQL utilizando el comando apt que aparece a continuación.

sudo apt install mysql-server mysql-client

Después, inicia el servicio MySQL y añádelo al arranque del sistema.

systemctl start mysql
systemctl enable mysql

Y el servicio MySQL ya está en marcha.

A continuación, configuraremos la contraseña para el usuario raíz de MySQL utilizando la herramienta de línea de comandos ‘mysql_secure_installation’, que proporcionan los paquetes de MySQL.

Ejecuta el comando ‘mysql_secure_installation’ que aparece a continuación.

mysql_secure_installation

Ahora se te pedirá que configures una nueva contraseña para el usuario root, escribe tu contraseña segura y escribe ‘Y’ para otras configuraciones.

Press y|Y for Yes, any other key for No: 
Please set the password for root here.

New password:
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Como resultado, se ha completado la instalación del servidor MySQL y la configuración de su contraseña raíz por defecto.

Configurar la contraseña raíz de MySQL

Paso 3 – Instalar y configurar el módulo MySQL de Icinga2

Después de instalar el Servidor MySQL, instalaremos el módulo icinga2 para el soporte de MySQL llamado ‘icinga2-ido-mysql’.

Instala el ‘icinga2-ido-mysql’ usando el comando apt de abajo.

sudo apt install icinga2-ido-mysql

Ahora se te pedirá que habilites la función icinga2 ido-mysql, elige ‘Sí’ para continuar.

Instalar Icinga2 IDO MySQL

Configura el ‘icinga2-ido-mysql’ con el comando dbconfig, elige ‘Sí’ para continuar.

Icinga2 IDO MySQL onfigiuración dbcommon-config

Escribe tu contraseña para el «icinga2-ido-mysql».

Configurar Contraseña Icinga IDO MySQL

Repite la contraseña para el ‘icinga2-ido-mysql’.

Configurar Icinga2 IDO Contraseña MySQL

Como resultado, se ha completado la instalación del paquete «icinga2-ido-mysql» y se ha creado el nuevo usuario MySQL «icinga2».

A continuación, para que Icinga funcione con la nueva versión de MySQL, configuraremos el usuario MySQL ‘icinga2’ con la autenticación de contraseña nativa de MySQL.

Accede al shell de MySQL utilizando el siguiente comando.

mysql -u root -p

Ahora cambia la autenticación del usuario ‘icinga2@localhost’ con el plugin de autenticación nativa de MySQL utilizando la siguiente consulta.

ALTER USER icinga2@localhost IDENTIFIED WITH mysql_native_password BY 'aqwe123@#$';
flush privileges;

Escribe ‘exit’ para salir del intérprete de comandos de MySQL, y el usuario de MySQL ‘icinga2’ utilizará ahora el plugin de autenticación nativo.

A continuación, activa la función ‘ido-mysql’ y comprueba todos los plugins activados utilizando el siguiente comando.

icinga2 feature enable ido-mysql
icinga2 feature list

Y obtendrás que la característica ‘ido-mysql’ está habilitada, para aplicar la nueva configuración, reinicia el servicio icinga2.

systemctl restart icinga2

Y la instalación y configuración de ‘icinga2-ido-mysql’ se han completado.

Activar Icinga2 IDO MySQL

Paso 4 – Instalar los paquetes Apache2 y PHP

En este paso, instalaremos los paquetes Apache y PHP para el icingaweb2. Y utilizaremos PHP 7.3 que está disponible en el repositorio PPA porque, en este momento, el icingaweb2 aún no es compatible con la nueva versión PHP 7.4.

Primero, instala el paquete ‘python3-software-properties’ y añade el repositorio PPA de PHP utilizando el siguiente comando.

sudo apt install python3-software-properties
sudo add-apt-repository ppa:ondrej/php

A continuación, instala los paquetes Apache y PHP utilizando el siguiente comando apt.

sudo apt install apache2 php7.3 php7.3-common php7.3-gd php7.3-ldap php7.3-intl php7.3-curl libapache2-mod-php7.3 php7.3-mysql php7.3-pgsql php7.3-xml

Una vez completada toda la instalación, edita la configuración ‘php.ini’ utilizando el editor vim.

vim /etc/php/7.3/apache2/php.ini

Descomenta la opción ‘date.timezone’ y escribe tu zona horaria.

date.timezone = Asia/Singapore

Descomenta la configuración ‘cgi.fix_pathinfo’ y cambia el valor a ‘0’.

cgi.fix_pathinfo=0

Guarda y cierra.

A continuación, reinicia el servicio Apache2 y añádelo al arranque del sistema.

systemctl restart apache2
systemctl enable apache2

El servicio Apache2 está en funcionamiento, compruébalo utilizando el siguiente comando.

systemctl status apache2

A continuación se muestra el resultado que obtendrás.

Instalar y configurar paquetes Apache y PHP

Como resultado, se ha completado la instalación de los paquetes Apache y PHP para icingaweb2.

Paso 5 – Instalar Icingaweb2

Después de instalar los paquetes Apache y PHP, instalaremos el paquete icingaweb2 y crearemos una nueva base de datos MySQL para icingaweb2.

Instala los paquetes icingaweb2 e icingacli usando el comando apt.

sudo apt install icingaweb2 icingacli

Una vez completada toda la instalación, genera el token icingaweb2 para la instalación utilizando el siguiente comando.

icingacli setup token create

A continuación se muestra el resultado que obtendrás.

The newly generated setup token is: 9b871ead0a60c94f

Ahora copia el código token en tu nota, se utilizará para la instalación de icingaweb2.

A continuación, inicia sesión en el shell MySQL utilizando el comando mysql que aparece a continuación.

mysql -u root -p

Ahora crea una nueva base de datos y un nuevo usuario utilizando las siguientes consultas.

create database icingaweb2;
create user icingaweb2@localhost identified with mysql_native_password by "icingaweb2pass";
grant all privileges on icingaweb2.* to icingaweb2@localhost with grant option;
flush privileges;

Escribe ‘exit’ para salir del intérprete de comandos MySQL.

Instala Icingaweb2 y crea una nueva base de datos

Como resultado, la instalación de icingaweb2 se ha completado, y la nueva base de datos para icingaweb2 se ha creado.

Paso 6 – Postinstalación de Icinga 2 e Icinga Web 2

Abre tu navegador web y escribe la dirección IP del servidor como se indica a continuación. Sustituye la IP por la IP de tu servidor.

http://10.5.5.20/icingaweb2/setup

Pega el código de configuración en la casilla y pulsa el botón «Siguiente».

Configuración de la instalación de Icingaweb

Ahora tienes que elegir el módulo Icinga para tu instalación, deja el módulo ‘Monitorización’ y pulsa ‘Siguiente’.

Elige la instalación

Después, el Icinga comprobará el entorno para su instalación. Asegúrate de que todos los módulos necesarios están en estado verde excepto los ‘Módulos PostgreSQL’, luego haz clic en ‘Siguiente’.

Comprobación de los requisitos del módulo

Ahora tienes que elegir Autenticación para acceder al icingaweb2, elige ‘Base de datos’ y pulsa ‘Siguiente’.

Tipo de autenticación Icingaweb2

Escribe todos los detalles de la base de datos para el ‘icingaweb2’ y haz clic en ‘Validar Configuración’ para probar. Una vez que se haya realizado correctamente, haz clic en el botón «Siguiente».

Configuración de la base de datos para Icingaweb2

Ahora para la Autenticación Backend, elige ‘icingaweb2’ y pulsa ‘Siguiente’.

Autenticación Backend icingaweb2

Escribe el admin y la contraseña de icingaweb2 y vuelve a pulsar «Siguiente».

Crear usuario administrador para Icinga

En la Configuración de la Aplicación, déjalo por defecto y pulsa «Siguiente».

Configuración de la aplicación Icinga

Confirma toda la configuración y pulsa «Siguiente».

Revisar la configuración de icingaweb2

Aparecerá la página de bienvenida a icingaweb2. Pulsa ‘Siguiente’ de nuevo para configurar el backend de monitorización.

Monitroing Backend icinga2

Establece el nombre del Backend como ‘icinga2’ con el tipo ‘IDO’, y haz clic en ‘Siguiente’.

Monitorización Backend Icingae2 IDO

Ahora tienes que configurar el recurso backend MySQL IDO para la aplicación icinga2. Escribe los detalles de la base de datos para icinga2 y haz clic en ‘Validar configuración’. Una vez que se haya realizado correctamente, haz clic en el botón ‘Siguiente’.

Configuración de la base de datos Icinga2

Para el ‘Transporte de comandos’, elige el ‘Archivo de comandos local’ y déjalo por defecto. Después haz clic en «Siguiente».

Comando de configuración Transporte

Y para la Seguridad de Monitorización, déjala por defecto y pulsa «Siguiente».

Monitorea la seguridad

Confirma toda la configuración y pulsa el botón «Finalizar».

Revisar la configuración de icinga

Una vez completadas las instalaciones de Icinga 2 e Icinga web 2, haz clic en el botón ‘Iniciar sesión en Icinga Web 2’ y serás redirigido a la página de inicio de sesión.

Se ha completado la instalación de Icinga

Introduce el usuario que has configurado en la parte superior y pulsa el botón ‘Iniciar sesión’.

Página de acceso a Icinga

Escribe el usuario que has configurado en la parte superior y pulsa el botón ‘Iniciar sesión’.

Panel Icinga

Y finalmente, la instalación y configuración de icinga2 e icingaweb2 en el servidor Ubuntu 20.04 se han completado con éxito.

Referencia

Scroll al inicio