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
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.
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.
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.
Configura el ‘icinga2-ido-mysql’ con el comando dbconfig, elige ‘Sí’ para continuar.
Escribe tu contraseña para el «icinga2-ido-mysql».
Repite la contraseña para el ‘icinga2-ido-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.
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.
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.
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».
Ahora tienes que elegir el módulo Icinga para tu instalación, deja el módulo ‘Monitorización’ y pulsa ‘Siguiente’.
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’.
Ahora tienes que elegir Autenticación para acceder al icingaweb2, elige ‘Base de datos’ y pulsa ‘Siguiente’.
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».
Ahora para la Autenticación Backend, elige ‘icingaweb2’ y pulsa ‘Siguiente’.
Escribe el admin y la contraseña de icingaweb2 y vuelve a pulsar «Siguiente».
En la Configuración de la Aplicación, déjalo por defecto y pulsa «Siguiente».
Confirma toda la configuración y pulsa «Siguiente».
Aparecerá la página de bienvenida a icingaweb2. Pulsa ‘Siguiente’ de nuevo para configurar el backend de monitorización.
Establece el nombre del Backend como ‘icinga2’ con el tipo ‘IDO’, y haz clic en ‘Siguiente’.
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’.
Para el ‘Transporte de comandos’, elige el ‘Archivo de comandos local’ y déjalo por defecto. Después haz clic en «Siguiente».
Y para la Seguridad de Monitorización, déjala por defecto y pulsa «Siguiente».
Confirma toda la configuración y pulsa el botón «Finalizar».
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.
Introduce el usuario que has configurado en la parte superior y pulsa el botón ‘Iniciar sesión’.
Escribe el usuario que has configurado en la parte superior y pulsa el botón ‘Iniciar sesión’.
Y finalmente, la instalación y configuración de icinga2 e icingaweb2 en el servidor Ubuntu 20.04 se han completado con éxito.