Seite wählen

Icinga Web und Icinga DB Web auf RHEL 7 / 8 / 9 installieren

von | Jul 7, 2023 | Monitoring & Observability, Icinga

Icinga Web ist die vom Icinga Team entwickelte und als Teil des Icinga Stack zur Verfügung gestellt Weboberfläche zur Visualisierung der Icinga Monitoring Daten. Die im Webbrowser nutzbare Lösung hat den Vorteil, dass von überall auf die Daten, die das Infrastrukturmonitoring erzeugt, zugegriffen werden kann.

Icinga Web ist die optimale Lösung, wenn es darum geht, die Abläufe und Checks deines Open Source Monitoring zu visualisieren.
Dieser Guide hilft dir bei der Installation und Konfiguration von Icinga Web und Icinga DB Web auf RHEL 7 / 8 / 9 oder einem auf RHEL basierenden Linux wie Rocky Linux, Alma Linux oder Oracle Linux.

Wenn du bereits unseren Guide zur Installation und Konfiguration von Icinga und Icinga DB auf RHEL durchgeführt hast, kannst du direkt loslegen. Sind Icinga 2 und Icinga DB noch nicht auf deinem System installiert, solltest du jetzt zu unserem Guide zur Icinga Installation wechseln und anschließend hier weiterlesen.

Voraussetzungen für die Icinga Web und Icinga DB Web Installation

Damit dieser Guide erfolgreich umgesetzt werden kann, gibt es einige wichtige Voraussetzungen:

  • Ein bereits vorhandenes Icinga bestehend aus:
    • RHEL Server mit mindestens 2 GB RAM und 20 GB freiem Speicherplatz
      • Die Nutzung von RHEL basierten Linuxen wie Rocky LinuxAlma LinuxOracle LinuxAlpine Linux und anderen ist mit den Repositories ebenfalls möglich
    • Icinga CoreIcinga DBIcingaDB-Redis und MySQL/MariaDB/PostgreSQL
  • sudo – Benutzer ist auf dem Server eingerichtet und du hast das Recht ihn zu nutzen
  • Die aktuellste PHP-Version
  • Eine Internetverbindung auf den Server
  • Ein Webserver (Apache, Nginx, etc.) ist auf dem Server installiert

Du kannst hinter alle diese Punkte einen Haken setzen? Dann legen wir los!

Anmerkung: Alle nachfolgende Schritte werden als root-User durchgeführt. Überprüfe, ob du den richtigen Benutzer verwendest! Um den Text leserlich zu halten, wird bei den Befehlen immer von „RHEL“ gesprochen. Die Befehle lassen sich jedoch ebenso auf allen RHEL basierenden Systemen anwenden.

Schritt 1: Icinga Repository hinzufügen

Um eine Installation von Icinga überhaupt durchzuführen, muss das nachfolgende Repository bereits zum System hinzugefügt sein und nicht wiederholt werden. Falls diese Installation jedoch eine Weile her ist oder du auf „Nummer sicher“ gehen willst, sind hier die Befehle, mit denen du das offizielle Icinga-Repository zu deinem System hinzufügst:

rpm --import https://packages.icinga.com/icinga.key 
wget https://packages.icinga.com/subscription/rhel/ICINGA-release.repo -O /etc/yum.repos.d/ICINGA-release.repo

Hinweis: Beachte jedoch, dass es sich beim Icinga RHEL Repository um ein kostenpflichtiges Repo handelt. Der Zugang ist Teil der Icinga Subscription Repositories.

Schritt 2: Icinga Web und Icinga DB Web auf RHEL installieren

Bevor die Installation und Konfiguration von Icinga Web startet, wird das icingadb-web Paket installiert. Dieser Schritt stellt sicher, dass im späteren Verlauf der Icinga Web Installationsanleitung das Modul direkt aktiviert und konfiguriert werden kann. Zu Installation nutzt du:

RHEL 8 oder später:

dnf install icingadb-web

RHEL 7:

yum install icingadb-web

 

Hinter diesem Befehl verbirgt sich ein Paket, dass NICHT NUR das angesprochene Modul installiert. Zusätzlich installiert dieser Befehl direkt alle noch nicht vorhandenen Abhängigkeiten.
Unter anderem sind das Icinga Web, icingacli und libapache2-mod-php. Dieser kleine Befehl ist somit das Schweizer Taschenmesser dieser Installation.

Ist auf deinem System SELinux aktiv, muss zudem das entsprechende Icinga Web 2 Paket installiert werden:

RHEL 8 oder später:

dnf install icingaweb2-selinux

RHEL 7:

yum install icingaweb2-selinux

 

Im nächsten Schritt geht es weiter mit der Konfiguration und Webinstallation von Icinga Web.

Schritt 3: Einrichtung von Icinga Web

Bevor es zur Einrichtung von Icinga Web im Browser geht, müssen die letzten Konfigurationsschritte durchgeführt werden.

Schritt 3.1: Authentifizierungs-Token erstellen

Damit Icinga Web mit dem Icinga Web Setup Wizard schnell und einfach installiert und konfiguriert werden kann, benötigst du ein Token zu Authentifizierung. Dieses erstellst du mit folgendem icingacli-Befehl:

icingacli setup token create

Für den Fall, dass das Token zu einem späteren Zeitpunkt erneut aufgerufen werden muss, gibt es diesen Befehl:

icingacli setup token show

 

Damit sind alle Vorbereitungen abgeschlossen und die eigentliche Einrichtung von Icinga Web kann beginnen.

Schritt 3.2: Icinga Web Datenbank anlegen

Damit Icinga Web Daten aufrufen, verarbeiten und weiterleiten kann ist eine Datenbank notwendig. Mit den folgenden Befehlen wird eben diese Icinga Web Datenbank angelegt:

mysql -u root -p
CREATE DATABASE icingaweb2;
CREATE USER 'icingaweb2'@'localhost' IDENTIFIED BY 'USE_A_SECURE_PASSWORD_HERE';
GRANT ALL ON icingaweb2.* TO icingaweb2@localhost;

 

Hinweis: Bevor es in den Browser geht, prüfe folgendes:

  • Firewall ist so eingerichtet, dass die Ports 80 und 443 nach außen kommunizieren dürfen
  • Alle Dienste und Services (u.A. Webserver, Icinga 2, Icinga Web 2) wurden noch einmal neu gestartet. Dadurch werden alle Abhängigkeiten untereinander sicher hergestellt

Schritt 4: Icinga Web im Browser einrichten

Um den Icinga Web Wizard zu starten, rufst du im Browse die IP-Adresse deiner Icinga-Instanz auf und hängst /icingaweb2/setup hinten an.

Icinga Token einfügen

Direkt zu Beginn der Installation trägst du das in Schritt 3.2 erzeugte Token ein:

Screenshot des Icinga Web Setups, bei dem die Eingabemaske für das Icinga Token zu sehen ist

Icinga Web Module auswählen

Auf der folgenden Seite wählst du aus den fünf vorgeschlagenen Modulen die aus, die du nutzen willst. Standardmäßig ist bereits das Icinga DB Modul ausgewählt, was beibehalten werden muss!

WICHTIG: Da wir eine aktuelle Installation von Icinga 2 und Icinga Web 2 durchführen, kommt Icinga DB anstelle der bisher verwendeten IDO zum Einsatz. Von daher kann auf das Modul Monitoring verzichtet werden!

Ansicht der Icinga Web Setup Oberfläche zur Einrichtung von Icinga Web Modulen (dunkelblauer Hintergrund, hellblauer Header). In der aktuellen Ansicht ist das Modul IcingaDB zur EInrichtung ausgewählt.

Icinga Web PHP Module überprüfen

Im Anschluss erhältst du eine Übersicht über alle benötigten und optionalen PHP-Module, auf die Icinga Web Zugriff hat. Hier kannst du überprüfen, ob alle kritischen Abhängigkeiten vorhanden sind.

Ansicht der Icinga Web Setup Oberfläche mit einer Übersicht der aktiven PHP Module (dunkelblauer Hintergrund, hellblauer Header). In der aktuellen Ansicht sind ausser ein optionales Modul alle PHP Module aktiv

Authentifizierungsmethode wählen

Um eine Zugangsauthentifizierung zu Icinga Web 2 durchzuführen, stehen dir drei verschiedene Möglichkeiten zur Verfügung: DatabaseLDAP oder External.

Hier kannst du die von dir oder deinem Unternehmen präferierte Authentifizierungsmethode nutzen. Die Eingabe der nötigen Daten erfolgt in einem späteren Schritt.
In diesem Guide beziehen wir uns auf die Authentifizierung über die Datenbank.

Ansicht der Icinga Web Setup Oberfläche zur Auswahl der Authentifizierungsmethode (dunkelblauer Hintergrund, hellblauer Header). In der aktuellen Ansicht wird die Datenbank zur Authentifizierung genutzt

Datenbank-Authentifizierung

Im Formular zur Datenbank-Authentifizierung trägst du alle wichtigen Informationen ein.

Ansicht der Icinga Web Setup Oberfläche mit einem Formular zur Eingabe der Datenbank Zugangsdaten (dunkelblauer Hintergrund, hellblauer Header). In der aktuellen Ansicht ist das leere Formular zu sehen

Hier noch eine kurze Erklärung der einzelnen Punkte:

  • Ressource Name: Name deiner Datenbank-Ressource. Kann den Default Namen behalten
  • Database Type: Je nachdem, ob du MySQL/MariaDB oder PostgreSQL verwendest, wählst du hier den entsprechenden Typen aus
  • Host:Auf welchem Host liegt deine Datenbank? In dem meisten Fällen kannst du hier den Default localhost beibehalten
  • Port: Hast du einen speziellen Port für deine Datenbank freigegeben? Dann musst du diesen hier eintragen
  • Database Name: Namen der Datenbank ein, die du in Schritt 3.3 für Icinga Web angelegt hast
  • Username: Username aus Schritt 3.3
  • Password: Passwort für den User aus Schritt 3.3
  • Character Set: Du nutzt ein bestimmtes Character Set? Hier optional angeben
  • Use SSL: Nutzt du Verschlüsselung und SSL-Zertifikate? Aktiviere den Button und gib deine Daten ein

Hast du deine Daten eingegeben, drückst du Validate Configuration. War alles richtig, bekommst du diese Ansicht:

Ansicht der Icinga Web Setup Oberfläche mit einem Formular zur Eingabe der Datenbank Zugangsdaten (dunkelblauer Hintergrund, hellblauer Header). In der aktuellen Ansicht ist das ausgefüllte Formular inklusive erfolgreicher Validierung zu sehen

Icinga Web Backend Authentifizierung

Wähle im nächsten Schritt einen Namen für dein Icinga Web Authentifizierungsbackend aus.

Ansicht der Icinga Web Setup Oberfläche zur Auswahl er Backend Authentifizierung (dunkelblauer Hintergrund, hellblauer Header).

Icinga Web Admin User anlegen

Als Nächstes legst du deinen Icinga Web Admin an. Gib ihm einen Benutzernamen und ein sicheres Passwort!

Ansicht der Icinga Web Setup Oberfläche zum Anlegen eines administrativen Benutzers (dunkelblauer Hintergrund, hellblauer Header).

Icinga Web Anwendungs- und Loggingeinstellungen

Auf dieser Seite hast du die Möglichkeit, ein paar individuelle Konfigurationen an der Anwendung so wie dem Loggingverhalten von Icinga Web vorzunehmen. Für diesen Guide werden die Standardeinstellungen beibehalten.

Ansicht der Icinga Web Setup Oberfläche zur Auswahl der individuellen Logging-Einstellungen für die Monitoring-Umgebung (dunkelblauer Hintergrund, hellblauer Header).

Übersicht der bisherigen Icinga Web Konfiguration

Zum Abschluss der Konfiguration erhältst du eine Übersichtsseite, auf der du noch einmal alle von dir gewählten Einstellungen überprüfen kannst. Wenn du zufrieden bist und keinen Fehler erkennst, drücke auf Finish und schließe die Icinga Web Konfiguration ab.

Ansicht der Icinga Web Setup Oberfläche mit allen bisher getätigten Einstellungen zur Übersicht am Ende des aktuellen Einrichtungsschrittes (dunkelblauer Hintergrund, hellblauer Header).

Icinga DB Web konfigurieren

Nach der Übersicht der Icinga Web 2 Konfiguration startet die Konfiguration von Icinga DB Web.

Ansicht der Icinga Web Setup Oberfläche mit dem Beginn der IcingaDB Konfiguration (dunkelblauer Hintergrund, hellblauer Header).

Folgt man dem Config Wizard auf die nächste Seite, wirst du aufgefordert, deine Icinga DB Datenbank-Credentials einzugeben.
Wenn du unsere Anleitung zur Installation und Konfiguration von Icinga und Icinga DB [LINK EINFÜGEN] genutzt hast, wurden die Zugangsdaten zu diesem Zeitpunkt erstellt.

Ansicht der Icinga Web Setup Oberfläche mit einem Formular zur Eingabe der IcingaDB Datenbank Zugangsdaten (dunkelblauer Hintergrund, hellblauer Header).

Wurden alle Felder richtig ausgefüllt und die Konfiguration validiert, erscheint eine Erfolgsmeldung.

Ansicht der Icinga Web Setup Oberfläche mit ausgefülltem Formular der IcingaDB Datenbank Zugangsdaten und erfolgreicher Validierung dieser Daten (dunkelblauer Hintergrund, hellblauer Header).

Nachdem die Verbindung zur Datenbank erfolgreich eingerichtet wurde, muss nun noch die Verbindung zu Icinga DB Redis hergestellt werden.

Ansicht der Icinga Web Setup Oberfläche mit einem Formular zur Eingabe der IcingaDB-Redis Datenbank Zugangsdaten (dunkelblauer Hintergrund, hellblauer Header).

Wie bei der Datenbank werden hier die Zugangsdaten eingeben und die Konfiguration validiert.
(Da während der Einrichtung von Redis auf ein Passwort verzichtet wurde, kann das Feld hier ebenfalls freigelassen werden)

Ansicht der Icinga Web Setup Oberfläche mit ausgefülltem Formular der IcingaDB-Redis Datenbank Zugangsdaten und erfolgreicher Validierung dieser Daten (dunkelblauer Hintergrund, hellblauer Header).

Icinga API mit Icinga Web verbinden

Der letzte Schritt vor dem erfolgreichen Abschluss der Konfiguration von Icinga Web ist das Herstellen der Verbindung von Icinga Web zur Icinga API.
Der standardmäßige API-Nutzer ist root. Dieser und das dazugehörige Passwort hast du während unseres Guide zur Installation und Konfiguration von Icinga und Icinga DB erstellt. Das Passwort kann jedoch jederzeit unter /etc/icinga2/conf.d/api-users.conf nachgeschlagen werden.

Ansicht der Icinga Web Setup Oberfläche mit ausgefülltem Formular zur mit der Icinga API und erfolgreicher Validierung dieser Daten (dunkelblauer Hintergrund, hellblauer Header).

Die Konfiguration endet mit einer Übersichtsseite, auf der alle eingegebenen Daten noch einmal überprüft werden können.

Ansicht der Icinga Web Setup Oberfläche mit allen bisher getätigten Einstellungen für IcingaDB zur Übersicht am Ende des aktuellen Einrichtungsschrittes (dunkelblauer Hintergrund, hellblauer Header).

Waren alle hier beschriebenen Schritt erfolgreich, strahlt dir ein grünes Congratultaions! Icinga Web 2 has been successfully set up entgegen.

Nun steht deinem ersten Icinga Web Login nichts mehr im Weg.

Schritt 5: Der erste Icinga Web Login

Mit deinem gerade angelegten Icinga Web 2 User und Passwort loggst du dich nun in Icinga Web ein. Damit gelangst du auf das Dashboard:

Ansicht des Icinga Web Dashboards nach erfolgtem Login. Zu sehen sind alle Menüpunkte sowie einige Monitoringbeispiele

Damit du als neue:r Nutzer:innen einen ersten Eindruck davon erhältst, wie die vom Systemmonitoring oder Netzwerkmonitoring gesammelten Daten dargestellt werden, wird Icinga mit einer Beispielkonfiguration ausgeliefert. Diese kann gelöscht werden, sobald man selbst damit beginnt, Icinga mit seinen eigenen Daten und Templates zu füllen.

Wie gehts es nun weiter?

Herzlichen Glückwunsch, du hast erfolgreich Icinga, Icinga DB und Icinga Web installiert und konfiguriert! Damit steht deiner aktiven Nutzung der Open Source Monitoring Lösung nichts mehr im Weg.
Du kannst direkt loslegen und über die Icinga2 API Objekte anlegen, Actions triggern oder Templates bauen. Welche API-Calls dafür zur Verfügung stehen, erfährst du ausführlich in den Icinga Docs.

Die Verwaltung und Nutzung von Icinga über die API ist eine häufig genutzt und valide Option. Eine weitere Möglichkeit diese Einstellungen vorzunehmen ist der Icinga Director. Dieser gibt Nutzer:innen die Möglichkeit, den Icinga Stack grafisch innerhalb von Icinga Web zu konfigurieren.
Wenn du dich dafür interessierst, wie der Icinga Director installiert und konfiguriert wird und wie du ihn einsetzen kannst, lege ich dir unseren Guide Icinga Director auf RHEL 7 / 8 / 9 installieren ans Herz.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Monitoring & Observability | Icinga