Icinga 2 es una herramienta de monitoreo gratuita y de código abierto para monitorear servidores, recursos de red. Con Icinga 2, puede configurar alertas sobre interrupciones y generar datos de rendimiento.
Icinga 2 es muy escalable, y puede monitorear entornos complejos más pequeños a más grandes en múltiples ubicaciones.
Aquí veremos cómo instalar Icinga 2 en CentOS 8 / RHEL 8.
Habilitar repositorio EPEL
Los paquetes de Icinga dependen de otros paquetes que se distribuyen en el repositorio de EPEL. Entonces, configure el repositorio EPEL en CentOS 8 / RHEL 8.
CentOS 8
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf config-manager --set-enabled PowerTools
RHEL 8
ARCH=$( /bin/arch )
subscription-manager repos --enable rhel-8-server-optional-rpms
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Añadir repositorio Icinga 2
Icinga proporciona paquetes de Icinga 2 desde su repositorio dedicado. Por lo tanto, instale el rpm de configuración del repositorio de Icinga para configurar automáticamente el repositorio de Icinga.
rpm --import https://packages.icinga.com/icinga.key
dnf install -y https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
Instalar Icinga 2
Después de configurar el repositorio de Icinga, instale Icinga 2 con el comando dnf.
dnf install -y icinga2
Para iniciar el servicio Icinga2, ejecute:
systemctl start icinga2
Para permitir que el servicio Icinga 2 se inicie automáticamente al iniciar el sistema, ejecute:
systemctl enable icinga2
SELinux
Si su sistema tiene habilitado SELinux, instale el siguiente paquete para tener una política específica para Icinga 2.
dnf install -y icinga2-selinux
Instalar complementos de Nagios
Sin complementos, Icinga 2 no sabe cómo monitorear los servicios de la aplicación. Entonces, instale los complementos de Nagios para trabajar con Icinga 2.
dnf install -y nagios-plugins-all
Cortafuegos
Configure el firewall para permitir que los sistemas cliente envíen datos al servidor Icinga 2.
firewall-cmd --permanent --add-port=5665/tcp
firewall-cmd --reload
Configurar DB IDO MySQL
El módulo DB IDO para Icinga 2 se encarga de exportar toda la información de configuración y estado a la base de datos.
En la actualidad, se admiten MySQL y PostgreSQL. Aquí, usaremos el servidor MySQL / MariaDB como servidor de base de datos.
Instalar servidor de base de datos
Instale el servidor MariaDB (v10.3) desde el repositorio del sistema operativo.
LEA: Cómo instalar MariaDB v10.4 en CentOS 8 / RHEL 8
LEA: Cómo instalar MySQL 8 en CentOS 8/RHEL 8
dnf install -y mariadb-server mariadb
Inicie y habilite el servicio MariaDB.
systemctl start mariadb
systemctl enable mariadb
Realice la configuración inicial de MariaDB usando el comando mysql_secure_installation para configurar la contraseña raíz de la base de datos y otras medidas de seguridad importantes.
Instalar módulos IDO para MySQL
Ahora, proceda a instalar los módulos IDO para MySQL usando el siguiente comando.
dnf install -y icinga2-ido-mysql
Crear base de datos para módulos IDO
Inicie sesión en MariaDB usando el siguiente comando.
mysql -u root -p
Cree una base de datos para los módulos IDO. Anote los detalles de la base de datos, ya que los necesitamos cuando configuramos la interfaz web 2 de Icinga.
CREATE DATABASE icinga2;
grant all privileges on icinga2.* to icinga2@localhost identified by 'icinga123';
FLUSH PRIVILEGES;
quit
Después de crear la base de datos, importe el esquema IDO de Icinga 2 con el siguiente comando.
mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Habilitar módulo IDO MySQL
De forma predeterminada, el módulo IDO MySQL (ido-mysql) está deshabilitado. Hagamos una lista de los módulos disponibles y habilitados en Icinga 2.
icinga2 feature list
Output: Disabled features: api command compatlog debuglog elasticsearch gelf graphite ido-mysql influxdb livestatus opentsdb perfdata statusdata syslog Enabled features: checker mainlog notification
Habilite el módulo ido-mysql usando el siguiente comando.
icinga2 feature enable ido-mysql
Además, habilite la función de comando, que ayuda a la interfaz web 2 de Icinga u otros complementos de Icinga a enviar comandos a Icinga 2 a través de un conducto de comando externo.
icinga2 feature enable command
Configurar módulo IDO DB MySQL
Una vez que haya habilitado el módulo IDO, Icinga 2 coloca el nuevo archivo de configuración /etc/icinga2/features-enabled/ido-mysql.conf.
Edite el archivo para actualizar las credenciales de la base de datos manualmente.
vi /etc/icinga2/features-enabled/ido-mysql.conf
Actualice el archivo anterior, como se muestra a continuación.
user = "icinga2", password = "icinga123", host = "localhost", database = "icinga2"
Reinicie el servidor Icinga 2 para que estas funciones habilitadas surtan efecto.
systemctl restart icinga2
Conclusión
Eso es todo. Espero que haya aprendido a instalar Icinga 2 en CentOS 8/RHEL 8. En nuestro próximo artículo, instalaremos la interfaz web 2 de Icinga.