Wéi installéiere ech Icinga2 Monitoring Tool op Ubuntu 20.04/22.04


Icinga2 ass e mächtegt gratis an Open-Source Iwwerwachungsinstrument dat en Aa op Är Netzwierkressourcen hält an Alarmer oder Notifikatiounen am Fall vun Ausfall oder Ausfall schéckt. Et sammelt och Metriken aus Netzwierkressourcen, déi Iech hëllefe kënnen Leeschtungsdaten ze generéieren a Berichter ze kreéieren.

Icinga2 ass skalierbar an et kann kleng bis grouss a komplex Netzwierker op verschiddene Plazen iwwerwaachen. An dësem Guide léiert Dir wéi Dir den Icinga2 Iwwerwaachungsinstrument op Ubuntu 20.04 an Ubuntu 22.04 installéiere wëllt.

Schrëtt 1: Installéiert Apache, MariaDB, a PHP

Mir fänken un mat der Installatioun vun Apache, MariaDB, a PHP mat zousätzlech PHP Moduler déi erfuerderlech sinn während der Finale Setup vun Icinga2 op engem Webbrowser.

$ 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

Eemol installéiert, gitt sécher datt all d'Servicer lafen. Wann jo, lafen déi folgend Kommandoen.

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

Als nächst musst Dir mysql_secure_installation Skript benotzen fir d'Passwuert fir d'Datebankrootkont opzestellen, anonyme Benotzer ze läschen, Root Login op afstand ze verzichten an d'Testdatenbank ze läschen.

$ sudo mysql_secure_installation

Mat de PHP Moduler op der Plaz, musst Dir d'php.ini Datei änneren, déi d'Standard Konfiguratiounsdatei ass fir Uwendungen déi op PHP lafen.

Mat Ärem gewënschte Editor, öffnen d'Datei. Hei. mir benotzen en Nano Kommando-Linn Editor.

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

Maacht déi folgend Ännerungen un déi folgend Parameteren.

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

Fir de Parameter date.timezone, gitt sécher datt Dir en ageriicht hutt fir Är aktuell Zäitzone ze reflektéieren. Hei ass eng Lëscht vun ënnerstëtzten Zäitzonen vu PHP.

Fir d'Ännerungen ëmzesetzen, einfach den Apache Webserver nei starten.

$ sudo systemctl restart apache2

Schrëtt 2: Installéiert Icinga2 op Ubuntu

Mat der PHP Konfiguratioun aus dem Wee, wäerte mir weidergoen an Icinga2 installéieren. Wéi och ëmmer, den Icinga2 Repository gëtt net vun den Ubuntu 20.04 Repositories geliwwert. Als esou musse mir de Repository manuell op Äre System addéieren.

Dofir, fänke mat der GPG Schlëssel derbäi mam Curl Kommando.

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

Als nächst erstellt eng Repositorydatei fir Icinga2.

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

Füügt déi folgend Entréen dobäi.

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

Späichert a gitt d'Datei aus.

Fir de Repository ze benotzen, aktualiséieren d'Packagelëschte wéi follegt.

$ sudo apt update

Als nächst installéiert Icinga2 an d'Iwwerwaachungsplugins.

$ sudo apt install icinga2 monitoring-plugins

Wann d'Installatioun fäerdeg ass, aktivéiert a start den Icinga2 Service.

$ sudo systemctl enable icinga2
$ sudo systemctl start icinga2

Fir ze bestätegen datt den Icinga2 Service leeft, fuert aus:

$ sudo systemctl status icinga2

D'Ausgab weist datt den Icinga2 Daemon leeft a mir si gutt fir ze goen.

Schrëtt 3: Installéiert den Icinga2 IDO Modul

Den Icinga2 Data Output (IDO) exportéiert all Konfiguratiouns- a Statusinformatioun an eng Datebank. D'IDO Datebank gëtt dann vum Icinga Web 2 als Datebackend benotzt.

Fir de Modul ze installéieren, lafen de Kommando

$ sudo apt install icinga2-ido-mysql -y

Ënnerwee gëtt e Pop-up um Terminal ugewisen. Fir d'Icinga2's ido-mysql Feature z'aktivéieren, wielt 'Jo'an dréckt ENTER.

Den icinga2-ido-mysql Package erfuerdert eng Datebank installéiert a konfiguréiert. Dëst kann mat dbconfig-common gehandhabt ginn, awer mir wäerten d'Datebank selwer erstellen. Also wielt 'Nee' a refuséiert dës Optioun.

Als nächst loggt Iech op Äre MariaDB Datebankserver un.

$ sudo mysql -u root -p

Erstellt dann eng Datebank an e Datebank Benotzer fir den icinga2-ido-mysql Package a gitt dem Benotzer all Privilegien op der Datebank.

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

Mat der Datebank op der Plaz, fuert weider an importéiert den Icinga2 IDO Schema mam Kommando. Dir musst de Root Passwuert vum Datebankserver ubidden.

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

Schrëtt 4: Aktivéiert den Icinga2 IDO Modul

Fir d'icinga2-ido-mysql-Datebankkommunikatioun mat Icinga Web 2 z'aktivéieren, musse mir e Schrëtt weider goen an d'Ännerunge vun der Standardkonfiguratiounsdatei maachen.

Öffnen der icinga2-ido-mysql Konfiguratiounsdatei.

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

Ännert déi folgend Entréen a setze se fir mat den icinga2-ido-mysql Datebankdetailer ze passen wéi am Schrëtt 3 spezifizéiert.

Späichert d'Ännerungen a gitt eraus.

Dann aktivéiert d'icinga2-ido-mysql Feature.

$ sudo icinga2 feature enable ido-mysql

Fir d'Ännerungen a Kraaft ze trieden, nei start Icinga2.

$ sudo systemctl restart icinga2 

Schrëtt 5: Installéieren a Setup IcingaWeb2

Déi lescht Komponent fir z'installéieren an ze konfiguréieren ass IcingaWeb 2, wat e séieren, mächtegen an erweiterbare PHP-Framework ass deen als Frontend op Icinga2 handelt.

Also installéieren IcingaWeb2 an den Icinga CLI, lafen de Kommando.

$ sudo apt install icingaweb2 icingacli -y

Mir mussen en zweet Datebankschema erstellen dat fir Icinga Web 2 designéiert gëtt.

Nach eng Kéier, aloggen op Är Datebank Server.

$ sudo mysql -u root -p

Erstellt dann d'Datebank an d'Datebank Benotzer fir Icingaweb2 a gitt all Permissiounen un den Datebank Benotzer op der Datebank.

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

Duerno erstellt e Setup Token mat dem folgenden Kommando. De Setup Token gëtt während der Authentifikatioun benotzt wann Dir Icinga2 am Browser opstellt.

$ sudo icingacli setup token create

Am Fall wou Dir den Token verléiert oder vergiess hutt, kënnt Dir et kucken andeems Dir de Kommando leeft:

$ sudo icingacli setup token show

Schrëtt 6: Komplett IcingaWeb2 Installatioun an Ubuntu

Mat all Konfiguratiounen op der Plaz, wäerte mir elo den Icinga2 Setup op engem Webbrowser fäerdeg maachen. Also lancéiert Äre Browser a gitt op d'URL déi ugewise gëtt.

http://server-ip/icingaweb2/setup

Dëst bréngt Iech op d'Begréissungssäit wéi gewisen. Erënnert Dir Iech un de Setup Token deen Dir erstallt hutt? Kopéiert a Paste et am Textfeld a klickt Nächst.

Op der Säit 'Modulen' ass de Modul 'Iwwerwaachung' als Standard aktivéiert. Wéi och ëmmer, Dir sidd fräi fir Är gewënschte Moduler z'aktivéieren.

Da scroll down a klickt op 'Next'.

Am nächste Schrëtt, sécherstellen datt all PHP Moduler a Bibliothéike installéiert sinn an d'Verzeechnes Permissiounen korrekt sinn.

Da scroll down a klickt op 'Next'.

Op der 'Authentifikatioun' Säit, wielt 'Datebank' als Authentifikatiounstyp a klickt 'Nächst'.

An der Rubrik 'Datebase Ressource', fëllt d'Datebankdetailer fir IcingaWeb2 aus wéi am Schrëtt 5 spezifizéiert.

Da scroll down a klickt op 'Configuratioun validéieren' fir d'Datebankdetailer ze validéieren.

Wann alles gutt gaang ass, gëtt d'Datebankkonfiguratioun erfollegräich validéiert. Wann d'Validatioun erfollegräich ass, scroll down a klickt op 'Next'.

Am nächste Schrëtt, klickt op 'Next' fir d'Defaults ze akzeptéieren.

An der Rubrik 'Applikatioun Konfiguratioun', klickt op 'Nächst' fir d'Defaults ze akzeptéieren.

Am nächste Schrëtt, huelt e bëssen Zäit an iwwerpréift all d'Ännerunge fir Icinga Web 2. Vergewëssert Iech datt all d'Konfiguratioune richteg sinn a fille sech gratis zréck ze goen an déi néideg Korrekturen ze maachen.

Wann alles gutt ausgesäit, scroll down a klickt op 'Next'.

Déi lescht Sektioun am Icinga2 Web Setup enthält d'Konfiguratioun vum Iwwerwaachungsmodul. Also, klickt op 'Nächst'.

Als nächst fëllt d'Datebankdetailer fir den Icinga2 IDO Modul aus wéi am Schrëtt 3 spezifizéiert.

Da scroll down a klickt op 'Configuratioun validéieren'.

Nach eng Kéier sollt d'Validatioun vun den Datenbankdetailer e Succès sinn. Wann Dir e Feeler kritt, gitt zréck a gitt sécher datt all Detailer richteg sinn.

Fir op de nächste Schrëtt ze goen, scroll down a klickt op 'Next'.

An der Rubrik 'Command Transport', wielt 'Lokal Kommandodatei' als Transporttyp a klickt op 'Next'.

An der Rubrik 'Iwwerwaachungssécherheet' klickt einfach op 'Nächst' fir mat den Defaults ze goen.

Iwwerpréift all Ännerunge fir den Iwwerwaachungsmodul. Wann eppes aus der Plaz ausgesäit, gitt zréck a maacht déi néideg Korrekturen.

Da scroll down a klickt op 'Finish'.

Zu dësem Zäitpunkt ass den Icinga Web 2 erfollegräich ageriicht ginn an Dir sollt eng Notifikatioun zu deem Effekt gesinn wéi hei ënnendrënner. Fir Iech op den Icinga2 Dashboard ze loggen, klickt op 'Login op Icinga Web 2'.

Dëst bréngt Iech op d'Login Säit wéi gewisen. Gitt Är Admin Kont Detailer an dréckt ENTER fir aloggen.

An den Icinga2 Dashboard wäert an d'Siicht kommen. All existent Probleemer ginn mat hirem Schwieregkeetsgrad ugewisen. Zum Beispill informéiert den Dashboard eis iwwer 28 Packagen mat prett Upgrades.

Fir dëst z'iwwerpréiwen, gi mir zréck op den Terminal a lafen de Kommando:

$ sudo apt list --upgradable

Fir d'Packagen ze upgrade, lafe mir einfach:

$ sudo apt upgrade -y

An dëst léist de Problem. Vum Dashboard kënnt Dir gesinn datt et keng Probleemer méi ugewise ginn.

An dësem Guide hu mir bewisen wéi Dir den Icinga2 Iwwerwaachungsinstrument op Ubuntu installéiere wëllt. Natierlech ass d'Installatioun zimlech laang a verlaangt Opmierksamkeet op Detailer. Trotzdem, wann Dir d'Schrëtt fir déi lescht gefollegt hutt, sollt alles gutt funktionnéieren.