GNU/Linux >> Tutoriales Linux >  >> Cent OS

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 con fines informativos.

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"
  • SO: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.

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 cortafuegos 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,

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,

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,

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

En la siguiente pantalla, seleccione el tipo de autenticación. Usaremos 'Base de datos ',  pulsa siguiente,

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,

Una vez que la configuración se haya validado correctamente, haga clic en Siguiente

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

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

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

Haga clic en Siguiente ,

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,

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"
}

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 comando local ',

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

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.

Luego de una autenticación exitosa, ahora podemos ver el panel de control de icinga con todos los servicios y su estado,

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.

Más información :Cómo agregar hosts remotos de Linux y Windows a Icinga 2 para monitoreo


Cent OS
  1. Cómo instalar y configurar R en el sistema RHEL 8/CentOS 8 Linux

  2. Cómo instalar y configurar samba en RHEL 8 / CentOS 8

  3. Cómo instalar y configurar Nagios en CentOS 7

  4. CentOS/RHEL 7:Cómo instalar y configurar telnet

  5. Cómo instalar y configurar Samba en CentOS/RHEL

Cómo instalar y configurar KVM en RHEL 8/CentOS 8

Cómo instalar y configurar Checkmk en CentOS 8 / RHEL 8

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

Cómo instalar Icinga 2 e Icinga Web 2 en CentOS 7

Cómo instalar y configurar Icinga2 e Icinga2 Web en CentOS 8

Cómo instalar y configurar Jenkins en CentOS 8 / RHEL 8