Hvordan installere Icinga2 overvåkingsverktøy på Ubuntu 20.04/22.04


Icinga2 er et kraftig gratis og åpen kildekode-overvåkingsverktøy som holder øye med nettverksressursene dine og sender varsler eller varsler i tilfelle feil eller strømbrudd. Den samler også inn beregninger fra nettverksressurser som kan hjelpe deg med å generere ytelsesdata og lage rapporter.

Icinga2 er skalerbar og kan overvåke små til store og komplekse nettverk på tvers av forskjellige lokasjoner. I denne veiledningen lærer du hvordan du installerer Icinga2-overvåkingsverktøyet på Ubuntu 20.04 og Ubuntu 22.04.

Trinn 1: Installer Apache, MariaDB og PHP

Vi starter med å installere Apache, MariaDB og PHP med ekstra PHP-moduler som kreves under det endelige oppsettet av Icinga2 i en nettleser.

$ 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

Når den er installert, sørg for at alle tjenestene kjører. I så fall, kjør følgende kommandoer.

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

Deretter må du bruke mysql_secure_installation-skriptet for å sette opp passordet for databaserotkontoen, fjerne anonyme brukere, forby rotpålogging eksternt og fjerne testdatabasen.

$ sudo mysql_secure_installation

Med PHP-modulene på plass, må du endre php.ini-filen som er standard konfigurasjonsfil for applikasjoner som kjører på PHP.

Åpne filen med ønsket redigeringsprogram. Her. vi bruker et nano-kommandolinjeredigeringsprogram.

$ sudo nano /etc/php/7.4/apache2/php.ini

Gjør følgende endringer i følgende parametere.

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

For parameteren date.timezone må du konfigurere den slik at den gjenspeiler din gjeldende tidssone. Her er en liste over støttede tidssoner av PHP.

For å bruke endringene som er gjort, start bare Apache-nettserveren på nytt.

$ sudo systemctl restart apache2

Trinn 2: Installer Icinga2 på Ubuntu

Med PHP-konfigurasjonen ute av veien, vil vi fortsette og installere Icinga2. Icinga2-depotet er imidlertid ikke levert av Ubuntu 20.04-depotene. Som sådan må vi manuelt legge til depotet til systemet ditt.

Start derfor med å legge til GPG-tasten ved å bruke curl-kommandoen.

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

Deretter oppretter du en depotfil for Icinga2.

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

Legg til følgende oppføringer.

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

Lagre og avslutt filen.

For å begynne å bruke depotet, oppdater pakkelistene som følger.

$ sudo apt update

Installer deretter Icinga2 og overvåkingspluginene.

$ sudo apt install icinga2 monitoring-plugins

Når installasjonen er fullført, aktiver og start Icinga2-tjenesten.

$ sudo systemctl enable icinga2
$ sudo systemctl start icinga2

For å bekrefte at Icinga2-tjenesten kjører, kjør:

$ sudo systemctl status icinga2

Utdataene indikerer at Icinga2-demonen kjører og vi er i gang.

Trinn 3: Installer Icinga2 IDO-modulen

Icinga2 Data Output (IDO) eksporterer all konfigurasjons- og statusinformasjon til en database. IDO-databasen brukes deretter av Icinga Web 2 som en databackend.

For å installere modulen, kjør kommandoen

$ sudo apt install icinga2-ido-mysql -y

Underveis vil en pop-up vises på terminalen. For å aktivere Icinga2s ido-mysql-funksjon, velg 'Ja' og trykk ENTER.

icinga2-ido-mysql-pakken krever en database installert og konfigurert. Dette kan håndteres med dbconfig-common, men vi skal lage databasen selv. Så velg 'Nei' og avslå dette alternativet.

Logg deretter på MariaDB-databaseserveren din.

$ sudo mysql -u root -p

Deretter oppretter du en database og en databasebruker for icinga2-ido-mysql-pakken og gir brukeren alle privilegiene på databasen.

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

Med databasen på plass, fortsett og importer Icinga2 IDO-skjemaet ved å bruke kommandoen. Du vil bli bedt om å oppgi databaseserverens root-passord.

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

Trinn 4: Aktiver Icinga2 IDO-modulen

For å aktivere icinga2-ido-mysql-databasekommunikasjonen med Icinga Web 2, må vi gå et skritt videre og gjøre endringer i standard konfigurasjonsfilen.

Åpne icinga2-ido-mysql-konfigurasjonsfilen.

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

Rediger følgende oppføringer og still dem til å matche icinga2-ido-mysql-databasedetaljene som spesifisert i trinn 3.

Lagre endringene og avslutt.

Aktiver deretter icinga2-ido-mysql-funksjonen.

$ sudo icinga2 feature enable ido-mysql

For at endringene skal tre i kraft, start Icinga2 på nytt.

$ sudo systemctl restart icinga2 

Trinn 5: Installer og konfigurer IcingaWeb2

Den siste komponenten som skal installeres og konfigureres er IcingaWeb 2, som er et raskt, kraftig og utvidbart PHP-rammeverk som fungerer som frontend til Icinga2.

Så installer IcingaWeb2 og Icinga CLI, kjør kommandoen.

$ sudo apt install icingaweb2 icingacli -y

Vi må lage et andre databaseskjema som vil bli utpekt for Icinga Web 2.

Igjen, logg inn på databaseserveren din.

$ sudo mysql -u root -p

Opprett deretter databasen og databasebrukeren for Icingaweb2 og gi alle tillatelser til databasebrukeren på databasen.

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

Deretter oppretter du et oppsetttoken ved å bruke følgende kommando. Oppsetttokenet vil bli brukt under autentisering når du setter opp Icinga2 på nettleseren.

$ sudo icingacli setup token create

I tilfelle du mister eller glemmer tokenet, kan du se det ved å kjøre kommandoen:

$ sudo icingacli setup token show

Trinn 6: Fullfør IcingaWeb2-installasjonen i Ubuntu

Med alle konfigurasjoner på plass, vil vi nå fullføre Icinga2-oppsettet i en nettleser. Så start nettleseren din og gå over til URL-en som vises.

http://server-ip/icingaweb2/setup

Dette tar deg til velkomstsiden som vist. Husker du oppsetttokenet du opprettet? Kopier og lim den inn i tekstfeltet og klikk Neste.

På 'Moduler'-siden er 'Overvåking'-modulen aktivert som standard. Du står imidlertid fritt til å aktivere dine foretrukne moduler.

Rull deretter ned og klikk Neste.

I neste trinn, sørg for at alle PHP-modulene og -bibliotekene er installert og at katalogtillatelsene er riktige.

Rull deretter ned og klikk Neste.

På 'Autentisering'-siden velger du 'Database' som autentiseringstype og klikker på 'Neste'.

I 'Databaseressurs'-delen fyller du inn databasedetaljene for IcingaWeb2 som spesifisert i trinn 5.

Rull deretter ned og klikk Valider konfigurasjon for å validere databasedetaljene.

Hvis alt gikk bra, vil databasekonfigurasjonen bli validert. Når valideringen er vellykket, blar du ned og klikker på Neste.

I neste trinn klikker du på «Neste» for å godta standardinnstillingene.

I delen Applikasjonskonfigurasjon klikker du på Neste for å godta standardinnstillingene.

I neste trinn tar du deg tid og går gjennom alle endringene for Icinga Web 2. Sørg for at alle konfigurasjonene er korrekte og gå gjerne tilbake og foreta de nødvendige korrigeringene.

Hvis alt ser bra ut, bla ned og klikk på 'Neste'.

Den siste delen i Icinga2-nettoppsettet innebærer å konfigurere overvåkingsmodulen. Så klikk på Neste.

Deretter fyller du inn databasedetaljene for Icinga2 IDO-modulen som spesifisert i trinn 3.

Rull deretter ned og klikk Valider konfigurasjon.

Nok en gang bør valideringen av databasedetaljene være en suksess. Hvis du får en feil, gå tilbake og sørg for at alle detaljene er korrekte.

For å gå til neste trinn, bla ned og klikk på Neste.

I delen Kommandotransport velger du Lokal kommandofil som transporttype og klikker på Neste.

I delen Overvåking av sikkerhet klikker du bare på Neste for å gå til standardinnstillingene.

Gjennomgå alle endringene for overvåkingsmodulen. Hvis noe ser malplassert ut, gå tilbake og foreta de nødvendige korrigeringene.

Rull deretter ned og klikk Fullfør.

På dette tidspunktet har Icinga Web 2 blitt satt opp, og du bør se et varsel om det som vist nedenfor. For å logge på Icinga2-dashbordet, klikk på ‘Logg på Icinga Web 2’.

Dette tar deg til påloggingssiden som vist. Oppgi administratorkontodetaljer og trykk ENTER for å logge på.

Og Icinga2-dashbordet kommer til syne. Eventuelle eksisterende problemer vil vises med deres alvorlighetsgrad. For eksempel varsler dashbordet oss om 28 pakker med klare oppgraderinger.

For å bekrefte dette, går vi tilbake til terminalen og kjører kommandoen:

$ sudo apt list --upgradable

For å oppgradere pakkene kjører vi ganske enkelt:

$ sudo apt upgrade -y

Og dette løser problemet. Fra dashbordet kan du se at det ikke vises flere problemer.

I denne veiledningen har vi demonstrert hvordan du installerer Icinga2-overvåkingsverktøyet på Ubuntu. Installasjonen er riktignok ganske lang og krever oppmerksomhet på detaljer. Ikke desto mindre, hvis du fulgte trinnene til sistnevnte, skulle alt fungere helt fint.