Kako instalirati Icinga2 na RHEL, Rocky i AlmaLinux


Icinga2 je značajkama bogata aplikacija otvorenog koda za nadzor mreže i upozoravanje koja je račvanje alata za nadzor Nagios.

Napravljen je kako bi otklonio nedostatke Nagiosa i uveo nove značajke kao što su poboljšano i moderno korisničko sučelje, REST API za integraciju novih proširenja bez potrebe za izmjenama Icinga jezgra i dodatni konektori baze podataka.

Icinga2 prati dostupnost hostova kao i usluga. Neke od ovih usluga uključuju SNMP, HTTP, HTTPS i SSH. Također nadzire mrežne uređaje kao što su usmjerivači i preklopnici.

Icinga također prikuplja mjerne podatke i generira zapisnike kako bi vam dala potpunu sliku vaše mrežne infrastrukture. Dnevnici i metrika zatim se vizualiziraju na nadzornim pločama kako bi se sve stavilo u bolji kontekst.

U ovom članku prikazujemo kako instalirati aplikaciju za nadzor Icinga2 na RHEL, Rocky Linux i AlmaLinux.

Preduvjeti

Kao preduvjet za instalaciju Icinga2, trebate imati instaliranu hrpu LAMP. Ovdje mali oprez – Icinga2 zahtijeva PHP 7.3 i novije verzije za instalaciju.

Već imamo vodič o tome kako instalirati LAMP na RHEL 8 – Koristite ovaj članak samo za instalaciju web poslužitelja Apache i poslužitelja baze podataka MariaDB budući da se upute fokusiraju na instalaciju PHP 7.2 koji Icinga2 ne podržava.

U prvom koraku ovog vodiča provest ćemo vas kroz proces instaliranja PHP 7.4 i potrebnih modula.

Korak 1: Instalirajte PHP i PHP module

Uz instalirane Apache i MariaDB, idemo naprijed i instalirajmo PHP 7.4. Ako imate instaliran PHP 7.2 i novije verzije, uklonite ih pokretanjem:

sudo dnf remove php

Zatim resetirajte trenutni PHP modul na sustavu.

sudo dnf module reset php

Nakon toga navedite dostupne PHP verzije kao što je prikazano.

sudo dnf module list php

Zatim omogućite PHP 7.4.

sudo dnf module enable php:7.4

Nakon što je modul PHP 7.4 omogućen, instalirajte PHP i potrebna PHP proširenja.

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 također zahtijeva ekstenziju php-imagick. Međutim, ovo se ne može instalirati uobičajeno kao što smo to učinili s drugim PHP modulima.

Da biste instalirali proširenje, pokrenite sljedeće naredbe:

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

Zatim prijeđite na root korisnika i dodajte ekstenzije u datoteku PHP.INI.

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

Da biste primijenili promjene, ponovno pokrenite Apache web poslužitelj.

sudo systemctl restart httpd

Korak 2: Instalirajte Icinga2 u RHEL 8

Da bismo instalirali Icinga2, moramo dodati Icinga spremište budući da Icinga2 nije smješteno na AppStream spremištima.

Da biste to učinili, prvo omogućite spremište EPEL.

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

Zatim omogućite GPG ključ za potpisivanje.

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

Zatim stvorite datoteku spremišta u direktoriju /etc/yum.repos.d.

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

Zalijepite sljedeći blok koda

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

Spremite i izađite iz datoteke spremišta. Zatim ažurirajte pakete predmemorije,

sudo dnf makecache

S dodanim spremištem, instalirajte paket Icinga2 i druge pridružene pakete Icinga2.

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

Zatim instalirajte Nagios dodatke koji će se koristiti za nadzor fizičkih i virtualnih hostova.

sudo dnf install nagios-plugins-all -y

Zatim omogućite Icinga2 ido-mysql modul i druge značajke.

sudo icinga2 feature enable ido-mysql syslog command

Zatim ponovno pokrenite Icinga da bi se promjene primijenile.

sudo systemctl restart icinga2

Korak 3: Stvorite bazu podataka za Icinga-IDO MySQL modul

Značajka icinga2-IDO (Icinga Data Output) mysql je pozadinska značajka koja uspoređuje i izvozi sve informacije o konfiguraciji i statusu u bazu podataka. Iz tog razloga, moramo stvoriti bazu podataka za značajku Icinga2-ido-mysql.

Dakle, prijavite se na MySQL poslužitelj baze podataka:

sudo mysql -u root -p

Stvorite bazu podataka kao i korisnika baze podataka za Icinga2. Zatim dodijelite sve privilegije korisniku baze podataka Icinga2 bazi podataka.

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

Primijenite promjene i izađite iz poslužitelja baze podataka.

> FLUSH PRIVILEGES;
> EXIT;

Zatim uvezite shemu baze podataka na sljedeći način. Od vas će se tražiti lozinka na temelju koje biste trebali unijeti lozinku baze podataka.

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

Idemo dalje, uredite konfiguracijsku datoteku ido-mysql.

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

Odkomentirajte blok baze podataka i navedite detalje baze podataka.

Spremi i izađi.

Zatim pokrenite i omogućite Icinga2.

sudo systemctl start icinga2
sudo systemctl enable icinga2

Zatim provjerite status Icinga2 kao što je prikazano.

sudo systemctl status icinga2

Iz rezultata u nastavku jasno je da Icinga radi prema očekivanjima.

Korak 4: Instalirajte IcingaWeb2 na RHEL 8

IcingaWeb2 je web-bazirani alat otvorenog koda koji također uključuje sučelje naredbenog retka. Podržava sve pozadinske značajke Icinga kao što su Icinga-ido-mysql, Icinga jezgra, Icinga2 i drugi moduli.

Da biste instalirali IcingaWeb2, instalirajte PowerTools pomoću sljedeće naredbe.

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

Kada instalacija završi, instalirajte IcingaWeb2 i CLI kao što je prikazano.

sudo dnf install icingaweb2 icingacli

Korak 5: Napravite bazu podataka za IcingaWeb2

Kao što smo izradili shemu baze podataka za značajku Icinga2-IDO-mysql, također moramo izraditi drugu shemu za Icinga Web2.

Dakle, još jednom se prijavite na poslužitelj baze podataka.

sudo mysql -u root -p

Stvorite bazu podataka i korisnika baze podataka za IcingaWeb2 zatim dodijelite sva dopuštenja korisniku baze podataka na bazi podataka Icinga Web2.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO icingaweb2@localhost IDENTIFIED BY 'P@ssword321';

Spremite promjene i izađite.

> FLUSH PRIVILEGES;
> QUIT

Kada je instaliran Icinga2, stvorena je nova konfiguracijska datoteka za Icinga2. Možete ga vidjeti kako je prikazano.

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

Morate ponovno pokrenuti web poslužitelj Apache da bi promjene stupile na snagu.

sudo systemctl restart httpd

Osim toga, također morate postaviti način SELinux na ‘permissive’ kako slijedi.

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

Korak 6: Dovršite postavljanje Icinga2 iz preglednika

Korak u instalaciji Icinga2 je stvaranje tokena za postavljanje, što je jedinstveni kod koji će se koristiti za autentifikaciju u prvom koraku prilikom postavljanja Icinga2 na preglednik.

Za generiranje tajnog tokena pokrenite naredbu:

sudo icingacli setup token create

Kopirajte i čuvajte token za postavljanje na sigurnom. Ako u slučaju da izgubite token, možete ga vratiti pokretanjem naredbe:

sudo icingacli setup token show

U ovom trenutku u ovom vodiču sve konfiguracije su provjerene. Ono što preostaje je dovršiti instalaciju iz web preglednika. Da biste to učinili, pregledajte prikazani URL

http://server-ip/icingaweb2/setup

Na stranicu dobrodošlice zalijepite token za postavljanje koji ste ranije generirali.

Nakon što zalijepite token, kliknite 'Dalje' za nastavak. Ovo će vas odvesti na stranicu "Moduli". Ovo pruža pregled svih modula koje možete omogućiti. Prema zadanim postavkama omogućen je modul ‘nadzor’.

Omogućite željene module i pomaknite se prema dolje te kliknite na 'Dalje' za nastavak.

U ovom odjeljku provjerite jesu li zadovoljeni svi PHP preduvjeti, što uključuje PHP module, biblioteke i direktorije. Ako sve izgleda dobro, pomaknite se prema dolje i kliknite na 'Dalje'.

Na stranici ‘Autentifikacija’ ostavite sve kako jest i kliknite ‘Dalje’.

U odjeljku ‘Resurs baze podataka’ ispunite detalje baze podataka za IcingaWeb2 kako je navedeno u 5. koraku.

Kako biste potvrdili da su detalji baze podataka točni, pomaknite se do kraja i kliknite na 'Provjeri konfiguraciju'.

Ako sve bude u redu, trebali biste dobiti obavijest da je konfiguracija uspješno provjerena.

Da biste prešli na sljedeći korak, pomaknite se prema dolje i kliknite "Dalje". Za ‘Authentication Backend’ jednostavno kliknite ‘Dalje’ da prihvatite zadane postavke.

U sljedećem koraku kreirajte Administrator korisnika koji će se koristiti za pristup i prijavu na Icinga2 web sučelje.

Za odjeljak "Praćenje aplikacija" prihvatite zadane postavke i kliknite "Dalje".

Pregledajte sve promjene koje ste do sada napravili na putu. Ako sve izgleda dobro, kliknite na 'Dalje' i ako želite unijeti bilo kakve promjene, kliknite na 'natrag' i napravite potrebne promjene.

Sljedeći odjeljak je konfiguracija nadzornog modula za IcingaWeb2. Ovo je temeljni modul za Icinga Web 2 koji nudi preglede statusa i izvješća s robusnim mogućnostima filtriranja za praćenje ključnih događaja.

Kliknite ‘Dalje’ za nastavak.

U sljedećem koraku ispunite obrazac s detaljima baze podataka za značajku Icinga2-ido-mysql kako je navedeno u 3. koraku.

Za potvrdu konfiguracije, pomaknite se prema dolje i kliknite na "Provjeri konfiguraciju".

Dobit ćete obavijest da je konfiguracija uspješno provjerena.

Za nastavak na sljedeći korak, pomaknite se prema dolje i kliknite na 'Dalje'. Za ‘Transport naredbi’ koristite ‘Lokalnu naredbenu datoteku’ kao vrstu transporta i kliknite ‘Dalje’.

U odjeljku "Praćenje sigurnosti" kliknite "Dalje".

Još jednom pregledajte sve konfiguracije za Icinga2 nadzorni modul. Ako sve izgleda dobro, kliknite na 'Završi' ili se vratite i izvršite potrebne promjene.

Ako je sve prošlo dobro s postavljanjem Icinga Web 2, trebali biste dobiti obavijest da je Icinga Web 2 uspješno postavljen. Da biste se prijavili na web sučelje, kliknite na vezu ‘Prijava na Icinga Web 2’.

Ovo otvara Icinga Web 2 sučelje. Unesite podatke o administratorskom računu i kliknite na 'prijava'.

Ovo vas vodi do Icinga2 nadzorne ploče kao što je prikazano.

I to je to. Od tamo možete nadzirati različite hostove i usluge unutar vaše mrežne infrastrukture. U ovom vodiču proveli smo vas kroz instalaciju Icinga Web 2 na RHEL 8, Rocky Linux, i AlmaLinux.