En la última publicación, cubrimos cómo instalar Icinga 2 en CentOS 8 / RHEL 8. Ahora continuamos con la instalación de Icinga web 2, una interfaz web para Icinga 2, donde puede monitorear todos sus servidores.
Aquí veremos cómo instalar Icinga web 2 CentOS 8 / RHEL 8.
Instalar Icinga Web 2
Instalar PHP y Extensiones de PHP
Instale el paquete PHP (v7.2) y las extensiones para Icinga Web 2.
LEA: Cómo instalar PHP 7.4/7.3 en CentOS 8/RHEL 8
dnf install -y php php-json php-xml php-intl php-common php-pdo php-mysqlnd php-cli php-mbstring php-fpm php-gd php-zip php-ldap
Instalar Icinga Web 2
Use el comando yum para instalar el paquete Icinga Web 2 junto con Icinga CLI y el servidor web Apache.
dnf install -y icingaweb2 icingacli httpd
Inicie el servidor web Apache y PHP FPM.
systemctl start httpd
systemctl start php-fpm
Habilite el servidor web Apache y PHP FPM para que se inicien automáticamente al arrancar el sistema.
systemctl enable httpd
systemctl enable php-fpm
SELinux
Si su sistema tiene habilitado SELinux, instale el siguiente paquete para configurar la política de SELinux para Icinga Web 2.
dnf install -y icingaweb2-selinux
Cortafuegos
Permita que el tráfico HTTP en Firewall acceda a la interfaz web de Icinga desde máquinas externas.
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
Configurar Icinga Web 2
Vaya a la siguiente URL para acceder al asistente de configuración de Icinga Web 2, que lo guiará a través de todos los pasos para la instalación de Icinga Web 2.
http://su.ip.addr.ess/icingaweb2/setupPor razones de seguridad, deberá generar el token para comenzar la instalación de Icinga Web 2.
icingacli setup token create
Output: The newly generated setup token is: 08423344cc1ce96f
Copie y pegue el token generado en la página de configuración y luego haga clic en Siguiente .

En la siguiente pantalla, elija los módulos para habilitarlo y configurarlo. Estos módulos se instalaron durante la instalación de Icinga 2. Luego, haga clic en Siguiente .

La siguiente página muestra información sobre el sistema, PHP y las extensiones PHP requeridas.


La extensión PHP de Image Magick no está disponible en el repositorio del sistema operativo. Siga el siguiente enlace para instalarlo.
LEA: Cómo instalar PHP Imagick en CentOS 8 / RHEL 8
Para RHEL 8, elige instalarlo (lo que va en contra de las Políticas de Red Hat) o continuar sin instalar la extensión PHP de Image Magick.Después de la instalación del módulo PHP para Imagick, reinicie los servicios Apache y PHP FPM y haga clic en Actualizar y luego haga clic en Siguiente o simplemente haga clic en Siguiente si no está instalando el módulo PHP Imagick.
systemctl restart httpd
systemctl restart php-fpm

En la página siguiente, configuraremos la autenticación Icinga Web 2. Icinga Web 2 es compatible con Active Directory, LDAP y el mecanismo de autenticación local.
Aquí, para esta demostración, crearemos una cuenta de usuario local de Icinga Web 2. Entonces, seleccione el tipo de autenticación como Base de datos y haga clic en Siguiente .

Inicie sesión en el servidor MySQL/MariaDB.
mysql -u root -p
Cree una base de datos para almacenar los detalles de autenticación.
CREATE DATABASE icingaweb2db;
grant all privileges on icingaweb2db.* to icingaweb2@localhost identified by 'icinga123';
quit
Ingrese los detalles de la base de datos en la siguiente página y luego haga clic en Siguiente .

Haga clic en Siguiente .

Introduzca el nombre de usuario y la contraseña deseados para la cuenta de administrador de Icinga Web 2.

Elija dónde guardar la aplicación y registrar las configuraciones relacionadas. Haga clic en Siguiente .

Revise su configuración en la siguiente pantalla.


Haga clic en Siguiente .
Haga clic en Siguiente sobre la configuración del módulo de monitorización de la página Icinga Web 2.

El backend de monitoreo permite que Icinga Web 2 recupere la información de monitoreo de la base de datos de Icinga 2. Aquí usamos IDO.

Ingrese los detalles de la base de datos de IDO en la siguiente página y luego haga clic en Siguiente .
La base de datos IDO se creó durante la instalación de Icinga 2, haga clic AQUÍ para obtener los detalles de la base de datos.
Configurar transporte de comandos
Esta página le dice cómo desea enviar comandos a su servidor remoto para monitorear.
Icinga Web 2 es compatible con el archivo de comando local, el archivo de comando remoto y la API de Icinga 2 como transporte de comando.
Aquí, para esta demostración, configuraremos Icinga Web 2 con transporte de comando único. Elija cualquiera de los siguientes comandos de transporte
- Archivo de comandos locales
- API Icinga 2 (recomendado)
- Archivo de comando remoto
Puede definir múltiples modos de comando de transporte en Icinga Web 2.
Archivo de comandos locales

API de Icinga 2
Ejecute el siguiente comando para configurar la API de Icinga 2.
icinga2 api setup
Output: information/cli: Generating new CA. information/base: Writing private key to '/var/lib/icinga2/ca//ca.key'. information/base: Writing X509 certificate to '/var/lib/icinga2/ca//ca.crt'. information/cli: Generating new CSR in '/var/lib/icinga2/certs//centos8.itzgeek.local.csr'. information/base: Writing private key to '/var/lib/icinga2/certs//centos8.itzgeek.local.key'. information/base: Writing certificate signing request to '/var/lib/icinga2/certs//centos8.itzgeek.local.csr'. information/cli: Signing CSR with CA and writing certificate to '/var/lib/icinga2/certs//centos8.itzgeek.local.crt'. information/pki: Writing certificate to file '/var/lib/icinga2/certs//centos8.itzgeek.local.crt'. information/cli: Copying CA certificate to '/var/lib/icinga2/certs//ca.crt'. information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'. information/cli: Reading '/etc/icinga2/icinga2.conf'. information/cli: Enabling the 'api' feature. Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect. information/cli: Updating 'NodeName' constant in '/etc/icinga2/constants.conf'. information/cli: Created backup file '/etc/icinga2/constants.conf.orig'. information/cli: Updating 'ZoneName' constant in '/etc/icinga2/constants.conf'. information/cli: Backup file '/etc/icinga2/constants.conf.orig' already exists. Skipping backup. Done. Now restart your Icinga 2 daemon to finish the installation!
Obtenga los detalles del usuario de la API del archivo /etc/icinga2/conf.d/api-users.conf.
cat /etc/icinga2/conf.d/api-users.conf
Output: /** * The ApiUser objects are used for authentication against the API. */ object ApiUser "root" { password = "c6bbfdd8afceceb1" // client_cn = "" permissions = [ "*" ] }
Reinicie el servicio Icinga 2.
systemctl restart icinga2
Utilice el nombre de usuario y la contraseña anteriores en la siguiente página de transporte de comandos.

Ingrese los detalles de las variables para protegerse de las malas.

Revise sus configuraciones de monitoreo.

Icinga Web 2 se ha configurado correctamente. Haga clic en Iniciar sesión en Icinga Web 2 .

Acceder a Icinga Web 2
Inicie sesión en Icinga Web 2 con la cuenta de administrador que creamos anteriormente.

Ahora debería obtener el panel de Icinga Web 2.

Conclusión
Eso es todo. En nuestro próximo artículo, agregaremos clientes Linux remotos a Icinga 2.