Com instal·lar Icinga2 a RHEL, Rocky i AlmaLinux


Icinga2 és una aplicació d'alertes i monitorització de xarxes de codi obert rica en funcions que és una bifurcació de l'eina de monitorització de Nagios.

Va ser creat per abordar les deficiències de Nagios i introduir noves funcions, com ara una interfície d'usuari millorada i moderna, una API REST per integrar noves extensions sense necessitat de fer canvis al nucli d'Icinga i connectors de base de dades addicionals.

Icinga2 supervisa la disponibilitat dels amfitrions i els serveis. Alguns d'aquests serveis inclouen SNMP, HTTP, HTTPS i SSH. També supervisa els dispositius de xarxa com ara encaminadors i commutadors.

Icinga també recopila mètriques i genera registres per oferir-vos una imatge completa de la vostra infraestructura de xarxa. A continuació, els registres i les mètriques es visualitzen als taulers de control per posar-ho tot en un millor context.

En aquest article, mostrem com instal·lar l'aplicació de supervisió Icinga2 a RHEL, Rocky Linux i AlmaLinux.

Com a requisit per instal·lar Icinga2, heu de tenir instal·lada la pila LAMP. Una mica de precaució aquí: Icinga2 requereix PHP 7.3 i versions posteriors per a la instal·lació.

Ja tenim un tutorial sobre com instal·lar LAMP a RHEL 8: utilitzeu aquest article per instal·lar només el servidor web Apache i el servidor de bases de dades MariaDB, ja que les instruccions se centren en la instal·lació de PHP 7.2, que no és compatible amb Icinga2.

En el primer pas d'aquesta guia, us guiarem pel procés d'instal·lació de PHP 7.4 i els mòduls necessaris.

Pas 1: instal·leu els mòduls PHP i PHP

Amb Apache i MariaDB instal·lats, continuem i instal·lem PHP 7.4. Si teniu instal·lat PHP 7.2 i versions posteriors, elimineu-lo executant:

$ sudo dnf remove php

A continuació, reinicieu el mòdul PHP actual del sistema.

$ sudo dnf module reset php

Després d'això, enumereu les versions de PHP disponibles tal com es mostra.

$ sudo dnf module list php

A continuació, activeu PHP 7.4.

$ sudo dnf module enable php:7.4

Un cop habilitat el mòdul PHP 7.4, instal·leu PHP i les extensions PHP necessàries.

$ sudo dnf install php-gd php-mbstring php-mysqlnd php-curl php-devel php-pear php-xml php-cli php-soap php-intl php-json php-ldap php-xmlrpc php-zip php-json php-common php-opcache php-gmp php-pgsql make -y

Icinga2 també requereix l'extensió php-imagick. Tanmateix, això no es pot instal·lar de manera convencional com vam fer amb els altres mòduls PHP.

Per instal·lar l'extensió, executeu les ordres següents:

$ dnf install -y ImageMagick ImageMagick-devel
$ sudo pecl install imagick

A continuació, canvieu a l'usuari root i afegiu les extensions al fitxer PHP.INI.

$ su -
$ echo "extension=imagick.so" > /etc/php.d/20-imagick.ini

Per aplicar els canvis, reinicieu el servidor web Apache.

$ sudo systemctl restart httpd

Pas 2: instal·leu Icinga2 a RHEL 8

Per instal·lar Icinga2, hem d'afegir el repositori Icinga ja que Icinga2 no està allotjat als repositoris AppStream.

Per fer-ho, primer, activeu el repositori EPEL.

$ sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

A continuació, activeu la clau de signatura GPG.

$ sudo rpm --import https://packages.icinga.com/icinga.key

A continuació, creeu un fitxer de repositori al directori /etc/yum.repos.d.

$ sudo vim  /etc/yum.repos.d/icinga2.repo

Enganxeu el següent bloc de codi

 
[icinga2]
name=Icinga 2 Repository for EPEL 8
baseurl=https://packages.icinga.com/epel/8/release
enabled=1

Deseu i sortiu del fitxer del repositori. A continuació, actualitzeu els paquets de memòria cau,

$ sudo dnf makecache

Amb el repositori afegit, instal·leu el paquet Icinga2 i altres paquets Icinga2 associats.

$ sudo dnf install icinga2 icinga2-ido-mysql icinga2-selinux  vim-icinga2 -y

A continuació, instal·leu els connectors de Nagios que s'utilitzaran per supervisar els amfitrions físics i virtuals.

$ sudo dnf install nagios-plugins-all -y

A continuació, activeu el mòdul Icinga2 ido-mysql i altres funcions.

$ sudo icinga2 feature enable ido-mysql syslog command

A continuació, reinicieu Icinga perquè s'apliquin els canvis.

$ sudo systemctl restart icinga2

Pas 3: creeu una base de dades per al mòdul MySQL Icinga-IDO

La funció mysql icinga2-IDO (Icinga Data Output) és una funció de backend que recopila i exporta tota la informació de configuració i estat a una base de dades. Per aquest motiu, hem de crear una base de dades per a la funció Icinga2-ido-mysql.

Per tant, inicieu sessió al servidor de bases de dades MySQL:

$ sudo mysql -u root -p

Creeu una base de dades així com un usuari de base de dades per a Icinga2. A continuació, concediu tots els privilegis de l'usuari de la base de dades a la base de dades Icinga2.

> CREATE DATABASE icinga2;
> GRANT ALL PRIVILEGES ON icinga2.* TO 'icinga2_user'@'localhost' IDENTIFIED BY '[email ';

Apliqueu els canvis i sortiu del servidor de bases de dades.

> FLUSH PRIVILEGES;
> EXIT;

A continuació, importeu l'esquema de la base de dades de la manera següent. Se us demanarà una contrasenya amb la qual haureu de proporcionar la contrasenya de la base de dades.

$ sudo mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Seguint, editeu el fitxer de configuració ido-mysql.

$ sudo vim /etc/icinga2/features-available/ido-mysql.conf

Descomenteu el bloc de la base de dades i especifiqueu els detalls de la base de dades.

Guardar i sortir.

A continuació, inicieu i activeu Icinga2.

$ sudo systemctl start icinga2
$ sudo systemctl enable icinga2

A continuació, verifiqueu l'estat d'Icinga2 tal com es mostra.

$ sudo systemctl status icinga2

A partir de la sortida següent, queda clar que Icinga està en funcionament com s'esperava.

Pas 4: instal·leu IcingaWeb2 a RHEL 8

IcingaWeb2 és una eina de monitorització basada en web de codi obert que també incorpora una interfície de línia d'ordres. Admet totes les funcions de backend d'Icinga, com ara Icinga-ido-mysql, Icinga core, Icinga2 i altres mòduls.

Per instal·lar IcingaWeb2, instal·leu PowerTools mitjançant l'ordre següent.

$ sudo dnf install 'dnf-command(config-manager)'
$ sudo dnf config-manager --set-enabled powertools

Un cop finalitzada la instal·lació, instal·leu IcingaWeb2 i la CLI tal com es mostra.

$ sudo dnf install icingaweb2 icingacli

Pas 5: creeu una base de dades per a IcingaWeb2

De la mateixa manera que hem creat un esquema de base de dades per a la funció Icinga2-IDO-mysql, també hem de crear un segon esquema per a Icinga Web2.

Així, una vegada més, inicieu sessió al servidor de bases de dades.

$ sudo mysql -u root -p

Creeu una base de dades i un usuari de base de dades per a IcingaWeb2 i, a continuació, concediu tots els permisos a l'usuari de la base de dades a la base de dades d'Icinga Web2.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO [email  IDENTIFIED BY '[email ';

Deseu els canvis i sortiu.

> FLUSH PRIVILEGES;
> QUIT

Quan es va instal·lar Icinga2, es va crear un nou fitxer de configuració per a Icinga2. Podeu veure-ho com es mostra.

$ cat /etc/httpd/conf.d/icingaweb2.conf

Heu de reiniciar el servidor web Apache perquè s'iniciïn els canvis.

$ sudo systemctl restart httpd

A més, també heu de configurar el mode SELinux com a permissiu de la manera següent.

$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Pas 6: completeu la configuració d'Icinga2 des del navegador

El pas de la instal·lació d'Icinga2 és la creació d'un testimoni de configuració, que és un codi únic que s'utilitzarà per a l'autenticació en el primer pas en configurar Icinga2 en un navegador.

Per generar un testimoni secret, executeu l'ordre:

$ sudo icingacli setup token create

Copieu i mantingueu segur el testimoni de configuració. Si en cas de perdre el testimoni, podeu recuperar-lo executant l'ordre:

$ sudo icingacli setup token show

En aquest punt d'aquesta guia, totes les configuracions estan sota control. El que queda és completar la instal·lació des d'un navegador web. Per fer-ho, navegueu per l'URL que es mostra

http://server-ip/icingaweb2/setup

A la pàgina de benvinguda, enganxeu el testimoni de configuració que heu generat anteriorment.

Un cop hàgiu enganxat el testimoni, feu clic a Següent per continuar. Això us portarà a la pàgina Mòduls. Això proporciona una visió general de tots els mòduls que podeu activar. Per defecte, el mòdul de vigilància està habilitat.

Habiliteu els vostres mòduls preferits i desplaceu-vos cap avall i feu clic a Següent per continuar.

En aquesta secció, assegureu-vos que s'han complert tots els requisits previs de PHP, que inclouen mòduls, biblioteques i directoris PHP. Si tot sembla bé, desplaceu-vos cap avall i feu clic a Següent.

A la pàgina Autenticació, deixeu-ho tot com està i feu clic a Següent.

A la secció Recurs de base de dades, empleneu els detalls de la base de dades per a IcingaWeb2 tal com s'especifica al pas 5.

Per confirmar que els detalls de la base de dades són correctes, desplaceu-vos cap avall i feu clic a Valida la configuració.

Si tot va bé, hauríeu de rebre una notificació que la configuració s'ha validat correctament.

Per passar al pas següent, desplaceu-vos cap avall i feu clic a Següent. Per a Backend d'autenticació, feu clic a Següent per acceptar els valors predeterminats.

En el següent pas, creeu un usuari administrador que s'utilitzarà per accedir i iniciar sessió a la interfície web d'Icinga2.

Per a la secció Supervisió de l'aplicació, accepteu els valors predeterminats i feu clic a Següent.

Revisa tots els canvis que has fet fins ara al llarg del camí. Si tot sembla bé, feu clic a Següent i si voleu fer algun canvi, feu clic a Enrere i feu els canvis necessaris.

La següent secció és la configuració del mòdul de monitorització per a IcingaWeb2. Aquest és el mòdul bàsic d'Icinga Web 2 que ofereix visualitzacions d'estat i informes amb capacitats de filtre robustes per fer un seguiment d'esdeveniments crucials.

Feu clic a Següent per continuar.

En el següent pas, ompliu el formulari amb els detalls de la base de dades de la funció Icinga2-ido-mysql tal com s'especifica al pas 3.

Per validar la configuració, desplaceu-vos cap avall i feu clic a Valida la configuració.

Rebràs la notificació que la configuració s'ha validat correctament.

Per passar al pas següent, desplaceu-vos cap avall i feu clic a Següent. Per a Transport d'ordres, utilitzeu Fitxer d'ordres local com a tipus de transport i feu clic a Següent.

A la secció Monitorització de la seguretat, feu clic a Següent.

Un cop més, reviseu totes les configuracions del mòdul de monitorització Icinga2. Si tot sembla bé, feu clic a Finalitzar, en cas contrari, torneu i feu els canvis necessaris.

Si tot va anar bé amb la configuració d'Icinga Web 2, hauríeu de rebre una notificació que l'Icinga Web 2 s'ha configurat correctament. Per iniciar sessió a la interfície web, feu clic a l'enllaç Iniciar sessió a Icinga Web 2.

Això obre la interfície d'Icinga Web 2. Proporcioneu els detalls del compte d'administrador i feu clic a iniciar sessió.

Això us porta al tauler de control d'Icinga2, tal com es mostra.

I ja està. Des d'allà podeu supervisar diversos amfitrions i serveis dins de la vostra infraestructura de xarxa. En aquesta guia, us hem explicat la instal·lació d'Icinga Web 2 a RHEL 8, Rocky Linux i AlmaLinux.