Icinga es una aplicación de monitoreo de red de código abierto que nos proporciona las interfaces Icinga Web 1 e Icinga Web 2 para administrar y monitorear completamente los hosts y servicios a través de un tablero. Icinga Web 2 es el sucesor de Icinga web, que es liviano, rápido y flexible para integrarse en otros proyectos que admiten múltiples métodos de autenticación como Active Directory, LDAP o base de datos y múltiples back-end de monitoreo. Por lo tanto, este es un gran avance en la creación de hosts y acciones de servicios, en lugar de definirlos a través de los archivos de configuración de Icinga y cada usuario ahora puede crearlos con la interfaz web e incluso compartirlos con otros.
Podemos personalizar y configurar Icinga Web 2 usando muchos módulos para sus vistas, filtros y paneles. Las marcas de tiempo y las actualizaciones de estado se pueden actualizar automáticamente cada segundo, avanzando sin problemas, ahorrándole a sus ojos la tensión de las pantallas parpadeantes.
En este tutorial, aprendemos cómo instalar Icinga 2 e Icinga Web2 en CentOS 7.
Instalación de requisitos previos
La instalación de Icinga Web 2 depende de una serie de los siguientes paquetes que deben instalarse en su sistema antes de la instalación de Icinga Web 2 en CentOS 7.
Sigamos los pasos a continuación para completar los requisitos previos instalando los paquetes necesarios y otras configuraciones.
1) Actualización del sistema
Inicie sesión en su sistema con privilegios de usuario root o sudo y ejecute el siguiente comando para actualizar su sistema.
# yum update
2) Instalación de Icinga 2
Para instalar Icinga 2 utilizaremos los repositorios de paquetes oficiales que se pueden descargar desde esta página web de Icinga.
Para configurar los repositorios de EPRL para la instalación de Icinga, ejecute los siguientes comandos.
Para importar la clave de archivo y configurar las compilaciones estables surrent de Icinga, ejecute el siguiente comando.
# rpm --import http://packages.icinga.org/icinga.key
# wget http://packages.icinga.org/epel/ICINGA-release.repo -O /etc/yum.repos.d/ICINGA-release.repo
# yum makecache
Ahora ejecute el comando de instalación de Icinga 2 como se muestra a continuación.
# yum install icinga2
El siguiente número de paquetes, incluidas las dependencias, se instalará como se muestra. Para continuar, escriba la tecla "Y" para continuar.
===========================================================================================
Package Arch Version Repository Size
===========================================================================================
Installing:
icinga2 x86_64 2.3.10-1.el7.centos icinga-stable-release 9.1 k
Installing for dependencies:
boost-program-options x86_64 1.53.0-23.el7 base 155 k
boost-regex x86_64 1.53.0-23.el7 base 294 k
boost-system x86_64 1.53.0-23.el7 base 39 k
boost-thread x86_64 1.53.0-23.el7 base 56 k
icinga2-bin x86_64 2.3.10-1.el7.centos icinga-stable-release 2.2 M
icinga2-common x86_64 2.3.10-1.el7.centos icinga-stable-release 73 k
Transaction Summary
===========================================================================================
Install 1 Package (+6 Dependent packages)
Total download size: 2.8 M
Installed size: 15 M
Is this ok [y/d/N]: y
3) Iniciando Icinga 2
Tras la instalación exitosa de Icinga 2, ahora inicie sus servicios y habilítelos para que se inicien en cada reinicio.
Ejecute los siguientes comandos para habilitar, iniciar y verificar el estado del servicio Icinga 2 en Centos 7.
# systemctl enable icinga2
# systemctl start icinga2
# systemctl status icinga2
4) Configuración de la base de datos MySQL
Usaremos la base de datos MySQL que se usará para la interfaz web 2 de Icinga. Entonces, ejecutemos los siguientes comandos para instalar MySQL MariaDB.
# yum install mariadb-server mariadb
Una vez completada la instalación, inicie los servicios de mariadb y configure su contraseña de root con el siguiente comando.
#systemctl enable mariadb
#systemctl start mariadb
#mysql_secure_installation
Crear nueva base de datos
Ahora inicie sesión en mysql/mariadb y cree la nueva base de datos con un nuevo usuario con sus privilegios específicos en la base de datos usando los siguientes comandos.
MariaDB [(none)]> CREATE DATABASE icinga2;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2'@'localhost' IDENTIFIED BY 'icinga123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>exit
5) Instalación del módulo IDO de MySQL
Ejecute el siguiente comando para instalar el módulo IDO MySQL para Icinga2.
#yum install icinga2-ido-mysql
Ahora importe el esquema IDO de Icinga 2 usando el siguiente comando.
# mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Se creará un nuevo archivo de configuración después de la instalación del módulo Icinga IDO que se encuentra en /etc/icinga2/features-disponible/ido-mysql.conf. Entonces, abra este archivo usando cualquier editor y actualice las credenciales de la base de datos en este archivo.
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"
}
Luego habilite el módulo y verifique la lista que ahora debería aparecer debajo del módulo habilitado usando el siguiente comando en centos 7.
[root@centos-7 ~]# icinga2 feature enable ido-mysql
warning/cli: Feature 'ido-mysql' already enabled.
Para verificar qué funciones están habilitadas y deshabilitadas.
[root@centos-7 ~]# icinga2 feature list
Verifique y cambie la configuración de la base de datos si es necesario utilizando el archivo a continuación.
# vim /etc/icinga2/features-available/ido-mysql.conf
6) Configuración del servidor web
Después de completar la instalación de la base de datos y la configuración, ahora pasamos a la instalación del servidor web Apache antes de iniciar Icinga Web 2.
Ejecutemos los siguientes comandos para configurar la instalación de su servidor web.
En centOS, puede usar los siguientes comandos para instalar el servidor apache e iniciar sus servicios como se muestra.
# yum install httpd
# systemctl enable httpd
# systemctl start httpd
Configuración del cortafuegos
Use los siguientes comandos para permitir los servicios de apache en su firewall.
# firewall-cmd --add-service=http
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# service iptables save
7) Configuración de canal de comando externo
Para habilitar el canal de comando externo, usaremos lo siguiente, de modo que las interfaces web y otros complementos de Icinga puedan enviar comandos a Icinga 2 a través del canal de comando externo.
# icinga2 feature enable command
Enabling feature command. Make sure to restart Icinga 2 for these changes to take effect.
# service icinga2 restart
# icinga2 feature list
Disabled features: api compatlog debuglog gelf graphite icingastatus livestatus opentsdb perfdata statusdata syslog
Enabled features: checker command ido-mysql mainlog notification
Instalación de Icinga Web 2
Ahora inicia la instalación de Icinga Web 2
# rpm --import http://packages.icinga.org/icinga.key
# curl -o /etc/yum.repos.d/ICINGA-release.repo http://packages.icinga.org/epel/ICINGA-release.repo
# yum makecache
# yum install icingaweb2 icingacli
Configuración de Icinga Web 2
Cuando se complete la instalación, abra su navegador web y proporcione la URL usando su nombre de host o la dirección IP con la adición de '/ icingaweb2/setup'. Encontrará el asistente de configuración de Icinga Web 2 a continuación, como se muestra.
Como se muestra arriba, esto solicita un token de configuración, así que asegúrese de ejecutar el servidor en el que se ejecuta esta instalación de Icinga Web 2. Vuelve a tu terminal y ejecuta los siguientes comandos.
# icingacli setup token create
El token de configuración recién generado es:8cfe15c9b0d7ef2a
Si olvida el token recién creado, puede verificarlo usando el siguiente comando.
# icingacli setup token show The current setup token is: 8cfe15c9b0d7ef2a
Copie el token recién creado y colóquelo en la configuración web para pasar a la siguiente configuración.
Luego será dirigido a la configuración de los módulos preinstalados, así que simplemente presione la siguiente tecla.
Ahora bien, esta a continuación es la sección principal para configurar todos los requisitos antes de pasar al siguiente paso.
Tenemos que cumplir con todos estos requisitos, así que primero configuraremos la zona horaria y luego instalaremos los módulos php requeridos usando los siguientes comandos.
# vim /etc/php5/apache2/php.ini [Date] date.timezone = Europe/London :wq!
# apt-get install php5-json php5-gd php5-imagick php5-pgsql php5-intl
Después de la instalación, reinicie los servicios web de Apache y presione la tecla de actualización para volver a verificar los requisitos y no encontrará ningún módulo faltante como se muestra a continuación.
La siguiente opción es elegir el tipo de autenticación, donde usaremos aquí la base de datos como método de autenticación.
Ahora necesitamos configurar el recurso de la base de datos donde almacenar usuarios y grupos de usuarios. Antes de pasar a la siguiente opción, presione la tecla de validación de la base de datos.
Al proporcionar las credenciales, es posible que reciba el siguiente mensaje, pero no hay nada de qué preocuparse si no puede validar su base de datos, solo elija la opción de omitir validación y haga clic en el botón siguiente.
Si elige omitir la validación, se le pedirá que vuelva a crear su cuenta de administrador, elija el nombre de usuario y le proporcione una contraseña.
Luego, elija las opciones apropiadas para ajustar todas las opciones de configuración relacionadas con la aplicación y el registro para que se ajusten a sus necesidades, como se muestra.
En este punto, ha configurado Icinga Web 2 con éxito. Puede revisar los cambios que se supone que deben realizarse antes de configurarlo. Asegúrese de que todo sea correcto (¡siéntase libre de navegar hacia atrás para hacer las correcciones!) para que pueda comenzar a usar Icinga Web 2 inmediatamente después de que se haya configurado correctamente.
¡Bienvenido a la configuración del módulo de monitorización para Icinga Web 2!
Este es el módulo principal de Icinga Web 2. Ofrece varias vistas de estado e informes con poderosas capacidades de filtro que le permiten realizar un seguimiento de los eventos más importantes en su entorno de monitoreo.
A continuación, elija la configuración del servidor de supervisión que le permita recuperar la información.
Elija el nombre de la base de datos, el usuario y su contraseña que creó después de instalar el módulo Icinga IDO MySQL y luego valide la base de datos.
Elija las opciones predeterminadas para el transporte de comandos y la seguridad de monitoreo y que haya configurado el módulo de monitoreo correctamente. Ahora revise los cambios y haga clic en el botón Finalizar para "Finalizar" para asegurarse de que todo se haya configurado correctamente.
Panel de control Icinga Web 2
Conclusión
Hemos instalado y configurado con éxito Icinga Web 2 y estamos listos para monitorear nuestros hosts y servicios a través de su interfaz web interactiva. Esperamos que comprenda todos los pasos, así que no dude en compartir su experiencia si tiene algún tipo de dificultad mientras prepara su propia configuración de Icinga Web 2 en CentOS o Ubutu.