Kako instalirati Icinga2 alat za nadzor na Ubuntu 20.04/22.04


Icinga2 je moćan besplatni alat za praćenje otvorenog koda koji prati vaše mrežne resurse i šalje upozorenja ili obavijesti u slučaju kvara ili prekida rada. Također prikuplja metrike iz mrežnih resursa koji vam mogu pomoći da generišete podatke o performansama i kreirate izvještaje.

Icinga2 je skalabilan i može pratiti male do velike i složene mreže na različitim lokacijama. U ovom vodiču ćete naučiti kako da instalirate Icinga2 alat za nadzor na Ubuntu 20.04 i Ubuntu 22.04.

Korak 1: Instalirajte Apache, MariaDB i PHP

Počinjemo instalacijom Apache, MariaDB i PHP sa dodatnim PHP modulima koji su potrebni tokom konačnog podešavanja od Icinga2 na web pretraživaču.

sudo apt install apache2 mariadb-server mariadb-client mariadb-common php php-gd php-mbstring php-mysqlnd php-curl php-xml php-cli php-soap php-intl php-xmlrpc php-zip  php-common php-opcache php-gmp php-imagick php-pgsql -y

Nakon instaliranja, provjerite da li su sve usluge pokrenute. Ako je tako, pokrenite sljedeće naredbe.

sudo systemctl start {apache2,mariadb}
sudo systemctl enable {apache2,mariadb}
sudo systemctl status {apache2,mariadb}

Zatim morate koristiti mysql_secure_installation skriptu da postavite lozinku za root račun baze podataka, uklonite anonimne korisnike, onemogućite root prijavu na daljinu i uklonite testnu bazu podataka.

sudo mysql_secure_installation

Sa postavljenim PHP modulima, trebate modificirati datoteku php.ini koja je zadana konfiguracijska datoteka za aplikacije koje se pokreću na PHPu.

Koristeći željeni uređivač, otvorite datoteku. Evo. koristimo nano uređivač komandne linije.


sudo nano /etc/php/8.1/apache2/php.ini   [On Ubuntu 22.04]
sudo nano /etc/php/7.4/apache2/php.ini   [On Ubuntu 20.04]

Napravite sljedeće promjene u sljedećim parametrima.

memory_limit = 256M 
post_max_size = 64M
upload_max_filesize = 100M	
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
cgi.fix_pathinfo=0

Za parametar date.timezone, obavezno ga postavite tako da odražava vašu trenutnu vremensku zonu. Evo liste podržanih vremenskih zona od strane PHP-a.

Da biste primijenili napravljene promjene, jednostavno ponovo pokrenite Apache web server.

sudo systemctl restart apache2

Korak 2: Instalirajte Icinga2 na Ubuntu

Sa poništavanjem PHP konfiguracije, nastavit ćemo i instalirati Icinga2. Međutim, Icinga2 spremište nije obezbeđeno u Ubuntu 20.04 spremištima. Kao takvi, moramo ručno dodati spremište u vaš sistem.

Stoga počnite dodavanjem ključa GPG pomoću komande curl.

curl https://packages.icinga.com/icinga.key | apt-key add -

Zatim kreirajte datoteku spremišta za Icinga2.

sudo vim /etc/apt/sources.list.d/icinga-focal.list

Dodajte sljedeće unose.

deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main

Sačuvajte i izađite iz datoteke.

Da biste počeli da koristite spremište, ažurirajte liste paketa na sledeći način.

sudo apt update

Zatim instalirajte Icinga2 i dodatke za praćenje.

sudo apt install icinga2 monitoring-plugins

Kada se instalacija završi, omogućite i pokrenite uslugu Icinga2.

sudo systemctl enable icinga2
sudo systemctl start icinga2

Da potvrdite da je usluga Icinga2 pokrenuta, izvršite:

sudo systemctl status icinga2

Izlaz pokazuje da je demon Icinga2 pokrenut i spremni smo za početak.

Korak 3: Instalirajte Icinga2 IDO modul

Icinga2 izlaz podataka (IDO) izvozi sve informacije o konfiguraciji i statusu u bazu podataka. IDO bazu podataka zatim koristi Icinga Web 2 kao pozadinu podataka.

Da biste instalirali modul, pokrenite naredbu

sudo apt install icinga2-ido-mysql -y

Usput, na terminalu će se prikazati skočni prozor. Da omogućite Icinga2 funkciju ido-mysql, odaberite „Da“ i pritisnite ENTER.

Paket icinga2-ido-mysql zahtijeva instaliranu i konfiguriranu bazu podataka. Ovo se može riješiti pomoću dbconfig-common, ali mi ćemo sami kreirati bazu podataka. Zato odaberite „Ne“ i odbijte ovu opciju.

Zatim se prijavite na svoj MariaDB server baze podataka.

sudo mysql -u root -p

Zatim kreirajte bazu podataka i korisnika baze podataka za paket icinga2-ido-mysql i dodijelite korisniku sve privilegije u bazi podataka.

> CREATE DATABASE icinga_ido_db;
> GRANT ALL ON icinga_ido_db.* TO 'icinga_ido_user'@'localhost' IDENTIFIED BY 'Password321';
> FLUSH PRIVILEGES;
> EXIT;

Kada je baza podataka postavljena, nastavite i uvezite Icinga2 IDO šemu koristeći naredbu. Od vas će se tražiti da navedete root lozinku servera baze podataka.

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

Korak 4: Omogućite Icinga2 IDO modul

Da omogućimo komunikaciju baze podataka icinga2-ido-mysql sa Icinga Web 2, moramo ići korak dalje i napraviti promjene u zadanom konfiguracijskom fajlu.

Otvorite icinga2-ido-mysql konfiguracijski fajl.

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

Uredite sljedeće unose i postavite ih da odgovaraju detaljima baze podataka icinga2-ido-mysql kao što je navedeno u koraku 3.

Sačuvajte promjene i izađite.

Zatim omogućite funkciju icinga2-ido-mysql.

sudo icinga2 feature enable ido-mysql

Da bi promjene stupile na snagu, ponovo pokrenite Icinga2.

sudo systemctl restart icinga2 

Korak 5: Instalirajte i postavite IcingaWeb2

Posljednja komponenta koju treba instalirati i konfigurirati je IcingaWeb 2, koji je brz, moćan i proširiv PHP okvir koji djeluje kao prednji dio Icinga2.

Dakle, instalirajte IcingaWeb2 i Icinga CLI, pokrenite naredbu.

sudo apt install icingaweb2 icingacli -y

Moramo kreirati drugu šemu baze podataka koja će biti određena za Icinga Web 2.

Još jednom, prijavite se na vaš server baze podataka.

sudo mysql -u root -p

Zatim kreirajte bazu podataka i korisnika baze podataka za Icingaweb2 i dodijelite sve dozvole korisniku baze podataka na bazi podataka.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY 'P@ssword';
> FLUSH PRIVILEGES;
> EXIT;

Nakon toga, kreirajte token za postavljanje koristeći sljedeću naredbu. Setup token će se koristiti tokom autentifikacije prilikom postavljanja Icinga2 na pretraživaču.

sudo icingacli setup token create

U slučaju da izgubite ili zaboravite token, možete ga pogledati pokretanjem naredbe:

sudo icingacli setup token show

Korak 6: Završite instalaciju IcingaWeb2 u Ubuntu

Sa svim konfiguracijama na mjestu, sada ćemo završiti Icinga2 postavljanje na web pretraživaču. Dakle, pokrenite pretraživač i idite na prikazani URL.

http://server-ip/icingaweb2/setup

Ovo vas vodi na stranicu dobrodošlice kao što je prikazano. Sjećate li se tokena za postavljanje koji ste kreirali? Kopirajte ga i zalijepite u tekstualno polje i kliknite na 'Dalje'.

Na stranici 'Moduli', modul 'Nadgledanje' je omogućen prema zadanim postavkama. Međutim, slobodni ste da omogućite željene module.

Zatim se pomaknite prema dolje i kliknite na 'Dalje'.

U sljedećem koraku provjerite da li su svi PHP moduli i biblioteke instalirani i da su dozvole za direktorij ispravne.

Zatim se pomaknite prema dolje i kliknite na 'Dalje'.

Na stranici 'Autentifikacija' odaberite 'Baza podataka' kao tip provjere autentičnosti i kliknite 'Dalje'.

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

Zatim se pomaknite prema dolje i kliknite na 'Provjeri konfiguraciju' da potvrdite detalje baze podataka.

Ako je sve prošlo dobro, konfiguracija baze podataka će biti uspješno potvrđena. Kada je provjera valjanosti uspješna, pomaknite se prema dolje i kliknite na 'Dalje'.

U sljedećem koraku kliknite na 'Dalje' da prihvatite zadane postavke.

U odjeljku 'Konfiguracija aplikacije' kliknite na 'Dalje' da prihvatite zadane postavke.

U sljedećem koraku odvojite malo vremena i pregledajte sve promjene za Icinga Web 2. Uvjerite se da su sve konfiguracije ispravne i slobodno se vratite i izvršite potrebne ispravke.

Ako sve izgleda dobro, pomaknite se prema dolje i kliknite na „Dalje“.

Posljednji odjeljak u Icinga2 web postavci uključuje konfiguriranje modula za nadzor. Dakle, kliknite na 'Dalje'.

Zatim popunite detalje baze podataka za Icinga2 IDO modul kao što je navedeno u 3. koraku.

Zatim se pomaknite prema dolje i kliknite na 'Provjeri konfiguraciju'.

Još jednom, validacija detalja baze podataka bi trebala biti uspješna. Ako dobijete grešku, vratite se i uvjerite se da su svi detalji tačni.

Da biste prešli na sljedeći korak, pomaknite se prema dolje i kliknite na 'Dalje'.

U odjeljku 'Command Transport', odaberite 'Local Command File' kao vrstu transporta i kliknite na 'Dalje'.

U odjeljku 'Nadgledanje sigurnosti', jednostavno kliknite na 'Dalje' da nastavite sa zadanim postavkama.

Pregledajte sve promjene za modul za nadzor. Ako nešto ne izgleda na mjestu, vratite se i izvršite potrebne korekcije.

Zatim se pomaknite prema dolje i kliknite na 'Završi'.

U ovom trenutku, Icinga Web 2 je uspješno postavljen i trebali biste vidjeti obavještenje o tome kao što je prikazano u nastavku. Da biste se prijavili na Icinga2 kontrolnu tablu, kliknite na 'Prijava na Icinga Web 2'.

Ovo vas vodi na stranicu za prijavu kao što je prikazano. Unesite detalje vašeg administratorskog naloga i pritisnite ENTER da se prijavite.

I kontrolna tabla Icinga2 će se pojaviti. Svi postojeći problemi će biti prikazani sa njihovim nivoom ozbiljnosti. Na primjer, kontrolna tabla nas obavještava o 28 paketa sa spremnim nadogradnjama.

Da bismo to potvrdili, vratit ćemo se na terminal i pokrenuti naredbu:

sudo apt list --upgradable

Da bismo nadogradili pakete, jednostavno ćemo pokrenuti:

sudo apt upgrade -y

I ovo rješava problem. Na kontrolnoj tabli možete vidjeti da više nema prikazanih problema.

U ovom vodiču smo demonstrirali kako instalirati Icinga2 alat za nadzor na Ubuntu. Doduše, instalacija je prilično duga i zahtijeva pažnju na detalje. Ipak, ako ste slijedili korake do potonjeg, sve bi trebalo funkcionirati sasvim u redu.