Kako instalirati Icinga2 na RHEL, Rocky i AlmaLinux


Icinga2 je aplikacija otvorenog koda za praćenje i upozorenje bogata funkcijama koja je fork Nagios alata za praćenje.

Napravljen je da riješi nedostatke Nagiosa i uvede nove funkcije kao što su poboljšano i moderno korisničko sučelje, REST API za integraciju novih ekstenzija bez potrebe za izmjenama Icinga jezgro 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 ruteri i svičevi.

Icinga također prikuplja metriku i generiše zapise kako bi vam pružila potpunu sliku vaše mrežne infrastrukture. Dnevnici i metrika se zatim vizualiziraju na nadzornim pločama kako bi se sve stavilo u bolji kontekst.

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

Preduvjeti

Kao uslov za instaliranje Icinga2, morate imati instaliran stog LAMP. Mali oprez ovdje – Icinga2 zahtijeva PHP 7.3 i novije verzije za instalaciju.

Već imamo tutorijal o tome kako instalirati LAMP na RHEL 8 – Koristite ovaj članak da instalirate Apache web server i MariaDB server baze podataka samo jer 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

Sa instaliranim Apache i MariaDB, idemo naprijed i instalirajmo PHP 7.4. Ako imate instaliran PHP 7.2 i novije verzije, uklonite ga pokretanjem:

sudo dnf remove php

Zatim resetirajte trenutni PHP modul na sistemu.

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 omogućen modul PHP 7.4, instalirajte PHP i potrebne PHP ekstenzije.

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 konvencionalno kao što smo uradili sa drugim PHP modulima.

Da biste instalirali ekstenziju, pokrenite sljedeće naredbe:

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

Zatim se prebacite na root korisnika i dodajte ekstenzije u datoteku PHP.INI.

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

Da primijenite promjene, ponovo pokrenite Apache web server.

sudo systemctl restart httpd

Korak 2: Instalirajte Icinga2 u RHEL 8

Da instaliramo Icinga2, moramo dodati Icinga spremište jer Icinga2 nije hostovan u AppStream spremištima.

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

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 kreirajte 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

Sačuvajte i izađite iz datoteke spremišta. Zatim ažurirajte keš pakete,

sudo dnf makecache

Uz dodano spremište, instalirajte paket Icinga2 i druge povezane Icinga2 pakete.

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

Zatim instalirajte Nagios dodatke koji će se koristiti za praćenje fizičkih i virtuelnih hostova.

sudo dnf install nagios-plugins-all -y

Zatim omogućite Icinga2 ido-mysql modul i druge funkcije.

sudo icinga2 feature enable ido-mysql syslog command

Zatim ponovo pokrenite Icinga da bi promjene bile primijenjene.

sudo systemctl restart icinga2

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

icinga2-IDO (Icinga izlaz podataka) mysql funkcija je pozadinska funkcija koja objedinjuje i izvozi sve informacije o konfiguraciji i statusu u bazu podataka. Iz tog razloga, moramo kreirati bazu podataka za funkciju Icinga2-ido-mysql.

Dakle, prijavite se na MySQL server baze podataka:

sudo mysql -u root -p

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

> 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 biti zatraženo da unesete lozinku nakon koje biste trebali unijeti lozinku baze podataka.

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

Idemo dalje, uredite ido-mysql konfiguracijski fajl.

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

Dekomentirajte blok baze podataka i navedite detalje baze podataka.

Sačuvaj 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 ispod, jasno je da je Icinga pokrenuta i radi kako se očekivalo.

Korak 4: Instalirajte IcingaWeb2 na RHEL 8

IcingaWeb2 je open-source alat za nadgledanje zasnovan na webu koji također uključuje interfejs komandne linije. Podržava sve pozadinske Icinga karakteristike kao što su Icinga-ido-mysql, Icinga core, Icinga2 i drugi moduli.

Da instalirate IcingaWeb2, instalirajte PowerTools koristeći sljedeću naredbu.

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

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

sudo dnf install icingaweb2 icingacli

Korak 5: Kreirajte bazu podataka za IcingaWeb2

Baš kao što smo kreirali šemu baze podataka za funkciju Icinga2-IDO-mysql, također moramo kreirati drugu shemu za Icinga Web2.

Dakle, još jednom se prijavite na server baze podataka.

sudo mysql -u root -p

Kreirajte bazu podataka i korisnika baze podataka za IcingaWeb2, a zatim dodijelite sve dozvole korisniku baze podataka na bazi podataka Icinga Web2.

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

Sačuvajte promjene i izađite.

> FLUSH PRIVILEGES;
> QUIT

Kada je Icinga2 instaliran, kreiran je novi konfiguracijski fajl za Icinga2. Možete ga pogledati kao što je prikazano.

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

Morate ponovo pokrenuti Apache web server da bi se promjene pokrenule.

sudo systemctl restart httpd

Osim toga, također morate postaviti SELinux način rada na 'dozvoljeno' na sljedeći način.

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

Korak 6: Završite podešavanje Icinga2 iz pretraživača

Korak u instalaciji Icinga2 je kreiranje tokena za postavljanje, koji je jedinstveni kod koji će se koristiti za autentifikaciju u prvom koraku prilikom postavljanja Icinga2 na Pretraživač.

Da biste generirali tajni token, pokrenite naredbu:

sudo icingacli setup token create

Kopirajte i čuvajte token za podešavanje. Ako u slučaju da izgubite token, možete ga povratiti pokretanjem naredbe:

sudo icingacli setup token show

U ovom trenutku u ovom vodiču su sve konfiguracije pod kontrolom. Ostaje da završite instalaciju iz web pretraživača. 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 ste zalijepili token, kliknite na 'Dalje' za nastavak. Ovo vas vodi na stranicu 'Moduli'. Ovo pruža pregled svih modula koje možete omogućiti. Modul „nadgledanje” je podrazumevano omogućen.

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

U ovom odeljku proverite da li su ispunjeni svi PHP preduslovi, što uključuje PHP module, biblioteke i direktorijume. Ako sve izgleda dobro, pomaknite se prema dolje i kliknite na 'Dalje'.

Na stranici 'Autentifikacija' ostavite sve kako je i kliknite na 'Dalje'.

U odjeljku 'Resursi baze podataka' popunite detalje baze podataka za IcingaWeb2 kao što je navedeno u 5. koraku.

Da biste potvrdili da su detalji baze podataka tačni, skrolujte do kraja i kliknite na 'Provjeri konfiguraciju'.

Ako sve prođe kako treba, trebali biste dobiti obavijest da je konfiguracija uspješno potvrđena.

Da biste prešli na sljedeći korak, pomaknite se prema dolje i kliknite na 'Dalje'. Za 'Pozadina autentifikacije' jednostavno kliknite na 'Dalje' da prihvatite zadane postavke.

U sljedećem koraku kreirajte Admin korisnika koji će se koristiti za pristup i prijavu na Icinga2 web interfejs.

Za odjeljak 'Nadgledanje aplikacija', prihvatite zadane postavke i kliknite na 'Dalje'.

Pregledajte sve promjene koje ste do sada napravili na tom putu. Ako sve izgleda dobro, kliknite na 'Sljedeće' i ako želite napraviti bilo kakve promjene, kliknite na 'nazad' i izvršite potrebne promjene.

Sljedeći odjeljak je konfiguracija modula za nadzor za IcingaWeb2. Ovo je osnovni modul za Icinga Web 2 koji nudi preglede statusa i izvještaja sa snažnim mogućnostima filtera za praćenje ključnih događaja.

Kliknite na 'Dalje' za nastavak.

U sljedećem koraku popunite obrazac s detaljima baze podataka za funkciju Icinga2-ido-mysql kao što je navedeno u Korak 3.

Da potvrdite konfiguraciju, pomaknite se prema dolje i kliknite na 'Provjeri konfiguraciju'.

Dobit ćete obavijest da je konfiguracija uspješno potvrđena.

Da biste prešli na sljedeći korak, pomaknite se prema dolje i kliknite na 'Dalje'. Za 'Command Transport', koristite 'Local Command File' kao vrstu transporta i kliknite na 'Dalje'.

U odjeljku 'Nadgledanje sigurnosti' kliknite na 'Dalje'.

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

Ako je sve prošlo u redu s postavljanjem Icinga Web 2, trebali biste dobiti obavještenje 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 interfejs. Navedite detalje računa administratora i kliknite na 'prijava'.

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

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