So installieren Sie Icinga2 unter Ubuntu 20.04

Icinga2 ist ein kostenloses Open-Source- und plattformübergreifendes Überwachungstool, das in PHP und C++ geschrieben wurde. Es kann Netzwerkressourcen überwachen, Ausfälle und große komplexe Umgebungen benachrichtigen, Leistungsdaten für die Berichterstattung generieren. Icinga ist skalierbar und erweiterbar.

Zu den Icinga-Funktionen gehören die Überwachung von SMTP, POP3, HTTP, NNTP, Ping, CPU-Last, Festplattennutzung, Switches, Router und mehr.

Der Icinga-Stack besteht aus Vereisung2 – welcher Überwachungsserver und Icinga Web 2 – ist das Webinterface für die Überwachung.

In diesem Tutorial erfahren Sie, wie Sie installiere Icinga2 an Ubuntu 20.04 LTS. Wir konfigurieren auch die Icinga Web 2 Schnittstelle.

Schritt 1: LAMP Stack installieren

Icinga läuft auf einem Webserver und wird über einen Browser aufgerufen. Der erste Schritt besteht also darin, den LAMP-Stack zu installieren. LAMP ist die Abkürzung für Linux EINpache mariaDB/MySQL und PPS. Apache ist der Webserver, MariaDB ist der Datenbankserver und PHP ist die beliebte serverseitige Skriptsprache.

Lass uns anfangen. Aktualisieren Sie zuerst die Paketlisten:

$ sudo apt update

Installieren Apache Webserver, führen Sie den Befehl aus:

$ sudo apt install apache2

Einmal Apache installiert ist, aktivieren Sie den automatischen Start beim Booten.

$ sudo systemctl enable apache2

Dann fang an Apache Dämon.

$ sudo systemctl start apache2

Um zu bestätigen, dass der Webserver ausgeführt wird, führen Sie Folgendes aus:

$ sudo systemctl status apache2

Überprüfen Sie den Apache2-Status

Als nächstes werden wir den MariaDB-Datenbankserver und -Client installieren.

$ sudo apt install mariadb-server mariadb-client

Sobald die Installation abgeschlossen ist, aktivieren Sie MariaDB, um beim Booten zu starten.

$ sudo systemctl enable mariadb

Starten Sie dann den MariaDB-Daemon.

$ sudo systemctl start mariadb

Überprüfen Sie noch einmal den Status von MariaDB

$ sudo systemctl status mariadb

Aktivieren Sie den Start und bestätigen Sie den Status von MariaDBAktivieren Sie den Start und bestätigen Sie den Status von MariaDB

Um den Datenbankserver zu härten, führen Sie das Skript aus

$ sudo mysql_secure_installation

Achten Sie darauf, den Datenbankserver mit einem Root-Passwort zu sichern.

Härten Sie den MariaDB-DatenbankserverHärten Sie den MariaDB-Datenbankserver

Beantworten Sie die verbleibenden Aufforderungen zum Sichern des Datenbankservers mit „Ja“.

Härten Sie den MariaDB-DatenbankserverSicherer MariaDB-Datenbankserver

Als nächstes werden wir PHP installieren, das die verbleibende Komponente des LAMP-Stacks ist. Installieren Sie jedoch zuerst die angezeigten Abhängigkeiten.

$ sudo apt install software-properties-common

Fügen Sie dann das OndeJ-Repository hinzu, das die neueste Version von PHP bereitstellt, derzeit PHP 8.0. Icinga erfordert PHP 7.3 und höhere Versionen, sodass wir uns innerhalb des erforderlichen Versionsbereichs befinden.

$ sudo add-apt-repository ppa:ondrej/php

Sobald das Repository hinzugefügt wurde, installieren Sie PHP und die erforderlichen Abhängigkeiten für die Installation von Icinga

$ sudo apt install php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php8.0-common php8.0-opcache php-gmp php-imagick

Überprüfen Sie dann die installierte PHP-Version.

$ php -v

PHP-Version prüfenPHP-Version prüfen

Es sind einige Modifikationen erforderlich. Bearbeiten Sie die Datei php.ini.

$ sudo vim /etc/php/8.0/apache2/php.ini

Stellen Sie sicher, dass Sie den Parameter date.timezone und den Parameter cgi.fix_pathinfo auf 0 setzen.

date.timezone = Africa/Kolkata
cgi.fix_pathinfo=0

Save die Änderungen und den Ausgang.

Schritt 2: Icinga2-Repository hinzufügen

Der nächste Schritt ist die Installation von Icinga2 auf Ubuntu. Da das Repository von Icinga jedoch nicht im Ubuntu-Repository gehostet wird, müssen wir das Repository manuell lokal hinzufügen.

Fügen Sie zuerst den GPG-Schlüssel von Icinga hinzu

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

Als nächstes erstellen Sie eine Repository-Datei für Icinga im /etc/apt/sources.list.d Verzeichnis.

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

Fügen Sie dann die folgenden Zeilen hinzu, um zu definieren, wo Ubuntu Icinga herunterlädt.

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

Save und verlassen Sie die Konfigurationsdatei.

Schritt 3: Installieren Sie Icinga2

Aktualisieren Sie zuerst die Paketlisten und Repositorys.

$ sudo apt update

Dann installiere Icinga2 und Überwachungs-Plugins.

$ sudo apt install icinga2 monitoring-plugins

Aktivieren Sie nach der Installation das Icinga-Überwachungstool.

$ sudo systemctl enable icinga2

Starten Sie dann den Dienst.

$ sudo systemctl start icinga2

Überprüfen Sie dann den Laufstatus von Icinga.

$ sudo systemctl status icinga2

Icinga-Status prüfenIcinga-Status prüfen

Icinga läuft wie erwartet und das ist ein gutes Zeichen dafür, dass wir auf dem richtigen Weg sind.

Schritt 4: Installieren Sie das Icinga2 IDO MySQL-Modul

Die Icinga Data Output (IDO)-Funktion exportiert alle Konfigurations- und Statusinformationen in eine Datenbank. Die IDO-Datenbank wird von Icinga Web 2 als Daten-Backend verwendet.

Führen Sie den Befehl aus, um das Icinga IDO-Datenbankmodul zu installieren:

$ sudo apt install icinga2-ido-mysql

Die Installation beginnt und währenddessen erhalten Sie dieses Popup, in dem Sie aufgefordert werden, die ido-mysql-Funktion von Icinga 2 zu aktivieren. Wählen Sie die Option ‘Ja’ und drücken Sie ENTER.

Wählen Sie aus, ob die Icinga 2 ido-mysql-Funktion aktiviert werden sollWählen Sie aus, ob die Icinga 2 ido-mysql-Funktion aktiviert werden soll

Für das Modul icinga2-ido-mysql muss eine Datenbank installiert und konfiguriert sein, damit es verwendet werden kann. Wir werden die Datenbank manuell auf dem MariaDB-Datenbankserver konfigurieren. Wenn Sie also gefragt werden, ob sie automatisch erstellt werden soll, wählen Sie ‘Nein‘ und drücken Sie ENTER.

Wählen Sie Nein, um die Erstellung der icinga-ido-mysql-Datenbank abzubrechenWählen Sie Nein, um die Erstellung der icinga-ido-mysql-Datenbank abzubrechen

Der nächste Schritt besteht darin, die Datenbank für das Modul icinga2-ido-mysql manuell zu erstellen.

Melden Sie sich bei der MariaDB-Shell an.

$ sudo mysql -u root -p

Führen Sie die bereitgestellten Befehle aus, um die Datenbank und den Datenbankbenutzer zu erstellen und dem Benutzer alle Berechtigungen zu erteilen.

> DATENBANK ERSTELLEN icinga2db; > GRANT ALL ON icinga2db.* TO ‘icinga2user’@’localhost’ IDENTIFIZIERT DURCH ‘P@ssword’; > FLUSH PRIVILEGIEN; > BEENDEN;

Sobald die Datenbank vorhanden ist, importieren Sie das Icinga2-IDO-Schema mit dem angezeigten Befehl. Geben Sie das Root-Passwort ein, wenn Sie dazu aufgefordert werden, und drücken Sie die EINGABETASTE.

IDO-mysql-schema importierenIDO-mysql-schema importieren

Schritt 5: Aktivieren Sie das IDO MySQL-Modul

Das IDO-Paket wird mit seiner Konfigurationsdatei namens ido-mysql.conf geliefert. Wir müssen auf diese Datei zugreifen und die Details der Datenbankverbindung ändern.

Greifen Sie also auf die Konfigurationsdatei zu.

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

Bearbeiten Sie die Datenbankdetails für den Benutzer, das Kennwort, den Host und die Datenbank mit den Angaben im vorherigen Schritt und speichern Sie die Änderungen.

Datenbankdetails für ido_mysqlDatenbankdetails für ido_mysql

Aktivieren Sie danach das Modul ido-mysql.

$ sudo icinga2 feature enable ido-mysql

ido-mysql-Modul aktivierenido-mysql-Modul aktivieren

Um alle von uns vorgenommenen Änderungen zu übernehmen, starten Sie den Icinga2-Dienst neu.

$ sudo systemctl restart icinga2

Schritt 6: Icinga Web 2 installieren und einrichten

Der nächste Schritt ist die Installation des Icinga Web 2-Pakets. Dies ist ein leistungsstarkes und erweiterbares PHP-Framework für Anwendungen, das eine übersichtliche und intuitive IU für Icinga bietet.

Installieren Icinga Web 2 Führen Sie zusammen mit dem Icinga2-Client und dem PHP-Modul den Befehl aus:

$ sudo apt install icingaweb2 icingacli libapache2-mod-php

Erstellen Sie nach der Installation eine Datenbank für Icinga Web 2 wie folgt.

$ sudo mysql -u root -p

Definieren Sie die Datenbank und den Datenbankbenutzer, weisen Sie Berechtigungen zu und speichern Sie die Änderungen.

> DATENBANK ERSTELLEN icingaweb2; > GRANT ALL ON icingaweb2.* TO ‘icingaweb2user’@’localhost’ IDENTIFIZIERT DURCH ‘P@ssword’; > FLUSH PRIVILEGIEN; > BEENDEN;

Der nächste Schritt beinhaltet die Einrichtung von Icinga2 mit dem Icinga2 Web Wizard Installer. Dies erfordert einen Token und generiert den Token daher mit dem Icinga-Client.

$ sudo icingacli setup token create

Kopieren Sie dieses Token und fügen Sie es irgendwo ein.

Token mit Icinga CLI . generierenToken mit Icinga CLI . generieren

Machen Sie sich keine Sorgen, wenn Sie den Bildschirm leeren oder das Token vergessen. Sie können es zu einem anderen Zeitpunkt anzeigen, indem Sie Folgendes ausführen:

$ sudo icingacli setup token show

Schritt 7: Icinga Web 2 im Browser einrichten

Um auf das Icinga2 Web-Installationsprogramm zuzugreifen, navigieren Sie zu der folgenden Adresse:

https://server-ip/icingaweb2/setup

Sie erhalten die Willkommensseite angezeigt. Fügen Sie das erstellte Token ein und klicken Sie auf “Weiter”.

Willkommen beim Icinga Web 2-AssistentenWillkommen beim Icinga Web 2 Wizard

Auf der nächsten Seite sind alle Module aufgeführt, die aktiviert werden können. Standardmäßig ist ‘Monitoring’ ausgewählt, was für den Moment ausreichend ist. Fühlen Sie sich frei, andere zu aktivieren.

Wählen Sie Icinga2-ModuleWählen Sie Icinga2-Module

Wenn Sie fertig sind, klicken Sie auf ‘Nächste‘ Taste.

Wählen Sie das gewünschte Modul aus und klicken Sie auf WeiterWählen Sie das gewünschte Modul aus und klicken Sie auf Weiter

Auf der nächsten Seite werden alle aktivierten PHP-Module angezeigt. Da wir die erforderlichen Module installiert haben, sollten Sie keine Fehlermeldung oder Warnung erhalten.

Icinga-fähige PHP-ModuleIcinga-fähige PHP-Module

Scrollen Sie einfach nach unten und klicken Sie auf die Schaltfläche Weiter.

Klicken Sie auf Weiter PHP-Module sind zufrieden mit Icinga Web 2Klicken Sie auf Weiter PHP-Module sind zufrieden mit Icinga Web 2

Wählen Sie als Authentifizierungstyp ‘Datenbank‘ und klicken Sie auf ‘Nächste‘.

Wählen Sie den Authentifizierungstyp Icinga Web 2Wählen Sie den Authentifizierungstyp Icinga Web 2

Geben Sie als Nächstes die Datenbankdetails ein, die Sie in Schritt 4 für Icinga erstellt haben.

Enter  Datenbankdetails für Icinga Enter Datenbankdetails für Icinga

Klicken Sie unten auf ‘Konfiguration validieren‘, um zu überprüfen, ob die angegebenen Datenbankdetails korrekt sind.

Datenbankkonfiguration validierenDatenbankkonfiguration validieren

Wenn alles nach Plan gelaufen ist, erhalten Sie eine Benachrichtigung, dass die Konfiguration erfolgreich validiert wurde.

Die Icinga-Konfiguration wurde erfolgreich validiertDie Icinga-Konfiguration wurde erfolgreich validiert

Klicken Sie im nächsten Schritt einfach auf Weiter, um die Standardauswahl von Icingaweb2 als Authentifizierungs-Backend-Typ zu akzeptieren.

Icinga-Authentifizierungs-BackendIcinga-Authentifizierungs-Backend

Erstellen Sie als Nächstes den Admin-Benutzer, mit dem Sie sich bei der Icinga-Web-GUI anmelden.

Erstellen Sie einen Admin-Benutzer für IcingaErstellen Sie einen Admin-Benutzer für Icinga

Drücken Sie im nächsten Schritt einfach die EINGABETASTE, um die standardmäßigen Anwendungskonfigurationsdetails zu akzeptieren.

Akzeptieren Sie die standardmäßigen Anwendungskonfigurationsdetails.Akzeptieren Sie die standardmäßigen Anwendungskonfigurationsdetails.

Zu diesem Zeitpunkt wurde Icinga2 erfolgreich konfiguriert. Überprüfen Sie alle vorgenommenen Einstellungen. Wenn alles gut aussieht, scrollen Sie nach unten und klicken Sie auf die Schaltfläche Weiter.

Überprüfen Sie die Icinga2-WebeinstellungenÜberprüfen Sie die Icinga2-Webeinstellungen

Im nächsten Schritt müssen Sie das Überwachungsmodul konfigurieren. Dies ist das Kernmodul, das Ihnen leistungsstarke Filterfunktionen bietet und Ihnen hilft, den Überblick über Ereignisse zu behalten. Klicken Sie also auf die Schaltfläche Weiter.

Konfiguration des Überwachungsmoduls für Icinga2Konfiguration des Überwachungsmoduls für Icinga2

Füllen Sie im Schritt ‘Monitoring IDO Resource’ die in Schritt 6 erstellten Datenbankdetails für Icinga2 Web aus.

Überwachen Sie die IDO-Ressource, füllen Sie die Datenbankdetails für Icinga2 ausÜberwachen Sie die IDO-Ressource, füllen Sie die Datenbankdetails für Icinga2 aus

Scrollen Sie ganz nach unten und klicken Sie auf ‘Konfiguration validieren‘, um zu bestätigen, ob die Einstellungen in Ordnung sind.

Modulkonfiguration validierenModulkonfiguration validieren

Wenn alle Einstellungen in Ordnung sind, sollten Sie eine Bestätigung erhalten, dass die Konfiguration erfolgreich validiert wurde.

Modulkonfiguration erfolgreich validiert.Modulkonfiguration erfolgreich validiert

Wählen Sie für den Befehlstransport die Option Lokale Befehlsdatei und klicken Sie auf Weiter.

Icinga Kommandotransporter

Drücken Sie für Monitoring Security einfach auf Weiter, um die Standardeinstellungen zu akzeptieren.

Icinga Überwachung Sicherheit

Überprüfen Sie abschließend alle Konfigurationseinstellungen des Moduls.

Überprüfen Sie alle ModulkonfigurationseinstellungenÜberprüfen Sie alle Modulkonfigurationseinstellungen

Wenn alles gut aussieht. Klicken Sie auf die Schaltfläche Fertig stellen, gehen Sie andernfalls zurück und bearbeiten Sie einige der Einstellungen.

Klicken Sie auf Fertig stellen, um die Installation von Icinga abzuschließenKlicken Sie auf Fertig stellen, um die Installation von Icinga abzuschließen

Sie erhalten eine Bestätigung, dass Icinga Web 2 erfolgreich eingerichtet wurde. Um sich anzumelden, klicken Sie auf den Link Login to Icinga Web 2 Button.

Icinga Web 2 erfolgreich erstelltIcinga Web 2 erfolgreich erstellt

Dadurch gelangen Sie zum Anmeldebildschirm. Geben Sie die Icinga-Anmeldedaten ein und klicken Sie auf die Schaltfläche Anmelden.

Icinga-Anmeldebildschirm

Sobald Sie sich eingeloggt haben, erhalten Sie das bereitgestellte Dashboard.

Fazit

In diesem Tutorial haben wir gelernt, wie man Icinga2 und Icinga Web 2 auf Ubuntu 20.04 installiert. Vielen Dank fürs Lesen. Bitte teilen Sie uns Ihre Vorschläge im Kommentarbereich unten mit.