Kuinka asentaa Icinga2 RHELiin, Rockyyn ja AlmaLinuxiin


Icinga2 on monipuolinen avoimen lähdekoodin verkkoseuranta- ja hälytyssovellus, joka on Nagios-seurantatyökalun haarukka.

Se rakennettiin korjaamaan Nagiosin puutteita ja esittelemään uusia ominaisuuksia, kuten parannetun ja nykyaikaisen käyttöliittymän, REST API:n uusien laajennusten integroimiseksi ilman muutoksia Icinga-ytimeen ja lisätietokantaliittimiä.

Icinga2 valvoo isäntien ja palveluiden saatavuutta. Joitakin näistä palveluista ovat SNMP, HTTP, HTTPS ja SSH. Se valvoo myös verkkolaitteita, kuten reitittimiä ja kytkimiä.

Icinga myös kerää mittareita ja luo lokeja, jotta saat täydellisen kuvan verkkoinfrastruktuuristasi. Lokit ja mittarit visualisoidaan sitten kojelaudoilla, jotta kaikki saadaan parempaan kontekstiin.

Tässä artikkelissa esittelemme, kuinka Icinga2-valvontasovellus asennetaan RHEL-, Rocky Linux- ja AlmaLinux-järjestelmiin.

Icinga2:n asentamisen edellytyksenä on, että LAMP-pino on asennettu. Hieman varovaisuutta tässä – Icinga2 vaatii PHP 7.3:n ja uudemmat versiot asennukseen.

Meillä on jo opetusohjelma LAMP:n asentamisesta RHEL 8:aan – Käytä tätä artikkelia vain Apache-verkkopalvelimen ja MariaDB-tietokantapalvelimen asentamiseen, koska ohjeet keskittyvät PHP 7.2:n asentamiseen, jota Icinga2 ei tue.

Tämän oppaan ensimmäisessä vaiheessa opastamme sinut PHP 7.4:n ja tarvittavien moduulien asennuksen läpi.

Vaihe 1: Asenna PHP ja PHP-moduulit

Kun Apache ja MariaDB on asennettu, asennamme PHP 7.4:n. Jos sinulla on PHP 7.2 tai uudemmat versiot asennettuna, poista se suorittamalla:

$ sudo dnf remove php

Palauta seuraavaksi järjestelmän nykyinen PHP-moduuli.

$ sudo dnf module reset php

Listaa sen jälkeen käytettävissä olevat PHP-versiot kuvan mukaisesti.

$ sudo dnf module list php

Ota sitten käyttöön PHP 7.4.

$ sudo dnf module enable php:7.4

Kun PHP 7.4 -moduuli on otettu käyttöön, asenna PHP ja tarvittavat PHP-laajennukset.

$ 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 vaatii myös php-imagick-laajennuksen. Tätä ei kuitenkaan voida asentaa perinteisesti, kuten teimme muiden PHP-moduuleiden kanssa.

Asenna laajennus suorittamalla seuraavat komennot:

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

Vaihda sitten pääkäyttäjäksi ja liitä PHP.INI-tiedostoon laajennukset.

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

Ota muutokset käyttöön käynnistämällä Apache-verkkopalvelin uudelleen.

$ sudo systemctl restart httpd

Vaihe 2: Asenna Icinga2 RHEL 8:aan

Icinga2:n asentamiseksi meidän on lisättävä Icinga-arkisto, koska Icinga2:ta ei isännöidä AppStream-arkistoissa.

Ota EPEL-arkisto käyttöön tätä varten.

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

Ota seuraavaksi käyttöön GPG-allekirjoitusavain.

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

Luo seuraavaksi arkistotiedosto /etc/yum.repos.d-hakemistoon.

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

Liitä seuraava koodilohko

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

Tallenna ja poistu arkistotiedostosta. Päivitä sitten välimuistipaketit,

$ sudo dnf makecache

Kun arkisto on lisätty, asenna Icinga2-paketti ja muut siihen liittyvät Icinga2-paketit.

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

Asenna seuraavaksi Nagios-laajennukset, joita käytetään sekä fyysisten että virtuaalisten isäntien valvontaan.

$ sudo dnf install nagios-plugins-all -y

Ota seuraavaksi käyttöön Icinga2 ido-mysql -moduuli ja muut ominaisuudet.

$ sudo icinga2 feature enable ido-mysql syslog command

Käynnistä sitten Icinga uudelleen, jotta muutokset tulevat voimaan.

$ sudo systemctl restart icinga2

Vaihe 3: Luo tietokanta Icinga-IDO MySQL-moduulille

icinga2-IDO (Icinga Data Output) mysql-ominaisuus on taustaominaisuus, joka kokoaa ja vie kaikki kokoonpano- ja tilatiedot tietokantaan. Tästä syystä meidän on luotava tietokanta Icinga2-ido-mysql-ominaisuutta varten.

Joten kirjaudu sisään MySQL-tietokantapalvelimeen:

$ sudo mysql -u root -p

Luo tietokanta sekä tietokannan käyttäjä Icinga2:lle. Myönnä sitten kaikki tietokannan käyttäjän oikeudet Icinga2-tietokantaan.

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

Ota muutokset käyttöön ja poistu tietokantapalvelimesta.

> FLUSH PRIVILEGES;
> EXIT;

Tuo seuraavaksi tietokantaskeema seuraavasti. Sinulta kysytään salasanaa, johon sinun tulee antaa tietokannan salasana.

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

Muokkaa ido-mysql-määritystiedostoa.

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

Poista tietokantalohkon kommentti ja määritä tietokannan tiedot.

Tallenna ja poistu.

Käynnistä seuraavaksi ja ota käyttöön Icinga2.

$ sudo systemctl start icinga2
$ sudo systemctl enable icinga2

Tarkista sitten Icinga2:n tila kuvan mukaisesti.

$ sudo systemctl status icinga2

Alla olevasta tuloksesta on selvää, että Icinga on toiminnassa odotetusti.

Vaihe 4: Asenna IcingaWeb2 RHEL 8:aan

IcingaWeb2 on avoimen lähdekoodin web-pohjainen seurantatyökalu, joka sisältää myös komentorivikäyttöliittymän. Se tukee kaikkia Icinga-taustaominaisuuksia, kuten Icinga-ido-mysql, Icinga ydin, Icinga2 ja muut moduulit.

Asenna IcingaWeb2 asentamalla PowerTools seuraavalla komennolla.

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

Kun asennus on valmis, asenna IcingaWeb2 ja CLI kuvan mukaisesti.

$ sudo dnf install icingaweb2 icingacli

Vaihe 5: Luo tietokanta IcingaWeb2:lle

Aivan kuten loimme tietokantaskeeman Icinga2-IDO-mysql-ominaisuutta varten, meidän on myös luotava toinen skeema Icinga Web2:lle.

Joten vielä kerran kirjaudu sisään tietokantapalvelimelle.

$ sudo mysql -u root -p

Luo tietokanta ja tietokannan käyttäjä IcingaWeb2:lle ja myönnä sitten kaikki luvat tietokannan käyttäjälle Icinga Web2 -tietokannassa.

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

Tallenna muutokset ja poistu.

> FLUSH PRIVILEGES;
> QUIT

Kun Icinga2 asennettiin, Icinga2:lle luotiin uusi asetustiedosto. Voit katsoa sen kuvan osoittamalla tavalla.

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

Sinun on käynnistettävä Apache-verkkopalvelin uudelleen, jotta muutokset tulevat voimaan.

$ sudo systemctl restart httpd

Lisäksi sinun on myös asetettava SELinux-tila sallivaksi seuraavasti.

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

Vaihe 6: Viimeistele Icinga2-asennus selaimesta

Icinga2:n asennuksen vaihe on asennustunnuksen luominen, joka on ainutlaatuinen koodi, jota käytetään todentamiseen ensimmäisessä vaiheessa, kun Icinga2 asennetaan selaimeen.

Luo salainen tunnus suorittamalla komento:

$ sudo icingacli setup token create

Kopioi ja säilytä asennustunnus turvassa. Jos menetät tunnuksen, voit palauttaa sen suorittamalla komennon:

$ sudo icingacli setup token show

Tässä oppaassa kaikki kokoonpanot ovat kunnossa. Jäljelle jää vain suorittaa asennus loppuun verkkoselaimella. Voit tehdä tämän selaamalla näkyvää URL-osoitetta

http://server-ip/icingaweb2/setup

Liitä aloitussivulle aiemmin luomasi asennustunnus.

Kun olet liittänyt tunnuksen, jatka napsauttamalla Seuraava. Tämä vie sinut Moduulit-sivulle. Tämä tarjoaa yleiskatsauksen kaikista moduuleista, jotka voit ottaa käyttöön. Oletusarvoisesti seuranta-moduuli on käytössä.

Ota haluamasi moduulit käyttöön ja vieritä alas ja jatka napsauttamalla Seuraava.

Varmista tässä osiossa, että kaikki PHP:n edellytykset täyttyvät, mukaan lukien PHP-moduulit, kirjastot ja hakemistot. Jos kaikki näyttää hyvältä, vieritä alas ja napsauta Seuraava.

Jätä Todennus-sivulla kaikki ennalleen ja napsauta Seuraava.

Täytä Tietokantaresurssit-osioon IcingaWeb2:n tietokannan tiedot vaiheessa 5 määritetyllä tavalla.

Varmista, että tietokannan tiedot ovat oikein, vieritä alaspäin ja napsauta Validate Configuration.

Jos kaikki sujuu hyvin, sinun pitäisi saada ilmoitus, että kokoonpano on vahvistettu onnistuneesti.

Siirry seuraavaan vaiheeseen selaamalla alas ja napsauttamalla Seuraava. Hyväksy oletusasetukset napsauttamalla Todennustausta -painiketta.

Luo seuraavassa vaiheessa Admin-käyttäjä, jota käytetään Icinga2-verkkoliittymään kirjautumiseen ja siihen kirjautumiseen.

Hyväksy Sovellusten valvonta -osion oletusasetukset ja napsauta Seuraava.

Tarkista kaikki muutokset, jotka olet tehnyt tähän mennessä matkan varrella. Jos kaikki näyttää hyvältä, napsauta Seuraava ja jos haluat tehdä muutoksia, napsauta takaisin ja tee tarvittavat muutokset.

Seuraava osa on IcingaWeb2:n valvontamoduulin konfigurointi. Tämä on Icinga Web 2:n ydinmoduuli, joka tarjoaa tila- ja raportointinäkymiä vankailla suodatinominaisuuksilla kriittisten tapahtumien seurantaan.

Napsauta Seuraava jatkaaksesi.

Täytä seuraavassa vaiheessa lomake tietokannan tiedoilla Icinga2-ido-mysql-ominaisuutta varten vaiheessa 3 määritellyllä tavalla.

Vahvista määritykset selaamalla alas ja napsauttamalla Vahvista kokoonpano.

Saat ilmoituksen, että määritykset on vahvistettu onnistuneesti.

Siirry seuraavaan vaiheeseen selaamalla alas ja napsauttamalla Seuraava. Käytä Command Transport -kohdassa siirtotyypiksi Local Command File ja napsauta Seuraava.

Napsauta Suojauksen valvonta -osiossa Seuraava.

Tarkista vielä kerran kaikki Icinga2-valvontamoduulin asetukset. Jos kaikki näyttää hyvältä, napsauta Valmis tai palaa takaisin ja tee tarvittavat muutokset.

Jos kaikki meni hyvin Icinga Web 2:n asennuksen kanssa, sinun pitäisi saada ilmoitus, että Icinga Web 2 on asennettu onnistuneesti. Kirjaudu sisään verkkokäyttöliittymään napsauttamalla Kirjaudu Icinga Web 2:een -linkkiä.

Tämä avaa Icinga Web 2 -käyttöliittymän. Anna järjestelmänvalvojan tilin tiedot ja napsauta kirjaudu sisään.

Tämä ohjaa sinut Icinga2-valvontakojelautaan kuvan mukaisesti.

Ja siinä se. Sieltä voit seurata erilaisia isäntiä ja palveluita verkkoinfrastruktuurissasi. Tässä oppaassa olemme opastaneet sinut Icinga Web 2:n asennuksen läpi RHEL 8:aan, Rocky Linuxiin ja AlmaLinuxiin.