Cómo instalar y configurar Icinga 2 / Icinga Web 2 en CentOS 7 y RHEL 7

Icinga 2 es una herramienta de monitoreo de código abierto que se utiliza para verificar la disponibilidad de los recursos de TI (red, servidores, etc.) e informar la interrupción en caso de que un recurso esté inactivo. También genera datos de rendimiento para fines de informes.

Icinga 2 tiene un diseño de subprocesos múltiples y puede ejecutar miles de comprobaciones cada segundo sin afectar la CPU. También podemos configurar Icinga 2 con clústeres de alta disponibilidad con una configuración distribuida para entornos grandes/complejos.

En este tutorial, aprenderemos a instalar Icinga 2 en sistemas CentOS/RHEL 7. A continuación se muestran los detalles de configuración de mi laboratorio para Icinga 2

  • Nombre de host de la máquina “icinga2.example.com”
  • Dirección IP “192.168.1.2”
  • Sistema operativo: CentOS 7 / RHEL 7
  • Toda la instalación se realizará a través del usuario linuxtechi, que forma parte del grupo de rueda.

Requisitos para Icinga 2

1) Necesitamos tener una máquina con el servidor LAMP instalado para la instalación de Icinga 2. Para crear un servidor LAMP, primero instalaremos el servidor web apache con el siguiente comando,

[[email protected] ~]$ sudo yum install httpd

A continuación, instale el servidor mariadb (base de datos) con el siguiente comando yum,

[[email protected] ~]$ sudo yum install mariadb mariadb-server

Inicie y habilite el servicio mariadb usando los comandos debajo,

[[email protected] ~]$ sudo systemctl start mariadb && sudo systemctl enable mariadb

Ahora asegure la instalación de mysql ejecutando el siguiente comando,

[[email protected] ~]$ sudo mysql_secure_installation

Luego siga las instrucciones en pantalla para asegurar la instalación de mysql.

mysql-secure-installation-command-centos7

Por último, instale los paquetes PHP necesarios, pero necesitamos los paquetes PHP más recientes. Para instalar los últimos paquetes php, instalaremos paquetes scl,

[[email protected] ~]$ sudo yum install centos-release-scl

A continuación, ejecute el siguiente comando yum para instalar los últimos paquetes php para Icinga,

[[email protected] ~]$ sudo yum install rh-php71-php-mysqlnd rh-php71-php-cli php-Icinga rh-php71-php-common rh-php71-php-fpm rh-php71-php-pgsql rh-php71-php-ldap rh-php71-php-intl rh-php71-php-xml rh-php71-php-gd rh-php71-php-pdo rh-php71-php-mbstring -y

A continuación, configuraremos una zona horaria predeterminada en php, buscaremos date.timezone y agregaremos el siguiente contenido

[[email protected] ~]$ sudo vi /etc/opt/rh/rh-php71/php.ini

date.timezone = India/Kolkata

Cambie la zona horaria como mejor le parezca y guarde el archivo. Ahora inicie y habilite el servicio apache,

[[email protected] ~]$ sudo systemctl start httpd && sudo systemctl enable httpd

2) También necesitamos tener habilitado el repositorio EPEL ya que algunos paquetes requeridos por Icinga 2 están disponibles en los repositorios EPEL. Instale el repositorio EPEL en CentOS/RHEL 7 con el siguiente comando:

[[email protected] ~]$ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

Para RHEL, habilite el repositorio opcional con el siguiente comando,

# subscription-manager repos --enable rhel-7-server-optional-rpms

Instalación de icinga 2

Icinga está disponible en forma de paquete RPM, pero para eso primero debemos habilitar el repositorio icinga yum, ejecute el siguiente comando desde la terminal para habilitarlo

[[email protected] ~]$ sudo yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm

Ahora instalaremos el icinga 2 junto con sus complementos,

[[email protected] ~]$ sudo yum install icinga2-ido-mysql icingaweb2 icingacli nagios-plugins-all

También instalaremos un paquete adicional, icingaweb2-selinux, ya que mantendremos habilitado nuestro selinux,

[[email protected] ~]$ sudo yum install icingaweb2-selinux  -y

Ahora reinicie los servicios apache, icinga2 y fpm, y habilítelos para el arranque,

[[email protected] ~]$ sudo systemctl restart httpd.service
[[email protected] ~]$ sudo systemctl start icinga2.service
[[email protected] ~]$ sudo systemctl enable icinga2.service
[[email protected] ~]$ sudo systemctl start rh-php71-php-fpm.service
[[email protected] ~]$ sudo systemctl enable rh-php71-php-fpm.service

Configurar reglas de Firewall para ICINGA 2

En caso de que el firewall del sistema operativo se esté ejecutando y habilitado en su servidor, configure las siguientes reglas de firewall para los puertos 80 y 5665, de modo que podamos acceder a la página web desde nuestra red local y habilitar el monitoreo a través del puerto 5665.

[[email protected] ~]$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp  
[[email protected] ~]$ sudo firewall-cmd --zone=public --permanent --add-port=5665/tcp
[[email protected] ~]$ sudo firewall-cmd --reload
Success
[[email protected] ~]$

En cuanto a las políticas de SELinux, ya hemos realizado los cambios necesarios instalando el ‘icinga-selinux‘ paquete.

Acceda a Icinga 2 Web e inicie el asistente de instalación:

Ahora abra un navegador web e ingrese la siguiente URL para acceder a la configuración web de icinga 2,

http:///icingaweb2/setup

En mi caso, la URL es http://192.168.1.2/icingaweb2/setup

donde, 192.168.1.2 es la dirección IP de la máquina donde tenemos instalado ICINGA 2. Tan pronto ingresemos la URL, seremos recibidos con la siguiente pantalla,

Icinga-web2-setup-token-centos7

Ahora necesitamos crear el token de configuración. Ejecute los siguientes comandos para crear el token de configuración,

[[email protected] ~]$ sudo groupadd -r icingaweb2
[[email protected] ~]$ sudo usermod -a -G icingaweb2 apache
[[email protected] ~]$ sudo icingacli setup config directory --group icingaweb2
[[email protected] ~]$ sudo icingacli setup token create
The newly generated setup token is: de74e67ae840e90e
[[email protected] ~]$

Al ejecutar el último comando, obtendremos un token como salida. Copie el token y péguelo en la página web,

token-icinga2-web-centos7

El proceso para crear token también se menciona en la página web. En la siguiente pantalla, seleccione monitoreo y haga clic en siguiente,

Seleccione-Monitoreo-Icinga2-Web-Instalación

En la siguiente pantalla, encontraremos varios módulos php que hemos instalado, revíselos y haga clic en siguiente,

Review-Php-modules-icinfa2web-instalacion

En la siguiente pantalla, seleccione el tipo de autenticación. Estaremos usando ‘Base de datos‘, presiona siguiente,

Icinga2-Web-autenticación-tipo-centos7

Ahora necesitamos crear una base de datos para Icinga, ejecute los siguientes comandos para crear una nueva base de datos para Icinga,

[[email protected] ~]$ mysql -u root -p
Enter password:
MariaDB [(none)]> create database icinga2;
Query OK, 1 row affected (0.00 sec)

Ahora salga de la interfaz de mariadb y proporcione la información en la página de configuración y haga clic en validar,

Base de datos-Recurso-Icinga2-Web-CentOS7

Una vez que la Configuración se haya validado con éxito y luego haga clic en Siguiente

A continuación, seleccione el nombre del servidor de autenticación, lo mantendremos predeterminado,

Icinga2-Web-autenticación-backend

A continuación, seleccione el nombre de usuario y la contraseña para administrar el portal web de administración de Icinga (sitio web)

Icinga2-Web-Admin-Nombre de usuario

A continuación, configure los ajustes con respecto a su aplicación, para nosotros el valor predeterminado es bueno,

Aplicación-Configuración-Icinga2web-CentOS7

Haga clic en próximo,

En la siguiente pantalla, se nos pedirá que revisemos los cambios que hemos realizado para icinga. Asegúrate de que todo esté en orden y pulsa siguiente,

Icinga2Web-Resumen-CentOS7

Icinga2-Web-Core-Module

Ahora configuraremos el módulo de monitoreo de Icinga. Aquí, en las próximas dos pantallas, configuraremos el backend de monitoreo (que se deja como predeterminado) y luego tendremos que ingresar la información de la base de datos nuevamente, pero antes de hacerlo, debemos importar el esquema IDO.

Para importar el esquema, ejecute los siguientes comandos,

[[email protected] ~]$ mysql -u root -p 
 MariaDB [(none)]>  CREATE DATABASE icinga; 
 MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; 
 MariaDB [(none)]> FLUSH PRIVILEGES; 
 MariaDB [(none)]> EXIT;

Aquí creamos otra base de datos para Icinga IDO y ahora le importaremos el esquema IDO,

[[email protected] ~]$ mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql

También realice cambios según su base de datos en el siguiente archivo,

[[email protected] ~]$ sudo vi /etc/icinga2/features-available/ido-mysql.conf
/**
 * The db_ido_mysql library implements IDO functionality
 * for MySQL.
 */
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
  user = "icinga"
  password = "icinga"
  host = "localhost"
  database = "icinga"
}

Icinga2-Web-Monitoring-IDO-CentOS7

Ahora, después de una validación exitosa del IDO, haga clic en Siguiente. En esta pantalla, podemos configurar información sobre nuestra instancia remota de icinga, cámbiela a ‘Archivo de comandos locales‘,

Icinga2-Web-Command-Transporte-CentOS7

Deje el resto de las pantallas como predeterminadas y en la última pantalla, revise todos los cambios y presione Finalizar. Luego obtendremos la siguiente pantalla,

Icinga-Web-Finalizar-Instalación-CentOS7

Icinga2-Web-Installation-Successfully-CentOS7

Haga clic en «Iniciar sesión en icinga Web 2” y redirigiremos la página de inicio de sesión para icinga. Inicie sesión con las credenciales que especificamos en los pasos de instalación anteriores.

Icinga-Web2-Login- Icinga-Web

Tras una autenticación exitosa, ahora podemos ver el tablero de icinga con todos los servicios y su estado,

Icinga-Web2-Dashboard-CentOS7

Esto confirma que hemos instalado con éxito la herramienta de monitoreo Icinga 2. No dude en enviar sus consultas o sugerencias utilizando el cuadro de comentarios a continuación.

Lee mas – Cómo agregar un host remoto de Linux y Windows a Icinga 2 para monitoreo

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *