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 Linux, Alma Linux, Oracle Linux, Alpine Linux und anderen ist mit den Repositories ebenfalls möglich
- Icinga Core, Icinga DB, IcingaDB-Redis und MySQL/MariaDB/PostgreSQL
- RHEL Server mit mindestens 2 GB RAM und 20 GB freiem Speicherplatz
- 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:
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!
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.
Authentifizierungsmethode wählen
Um eine Zugangsauthentifizierung zu Icinga Web 2 durchzuführen, stehen dir drei verschiedene Möglichkeiten zur Verfügung: Database, LDAP 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.
Datenbank-Authentifizierung
Im Formular zur Datenbank-Authentifizierung trägst du alle wichtigen Informationen ein.
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:
Icinga Web Backend Authentifizierung
Wähle im nächsten Schritt einen Namen für dein Icinga Web Authentifizierungsbackend aus.
Icinga Web Admin User anlegen
Als Nächstes legst du deinen Icinga Web Admin an. Gib ihm einen Benutzernamen und ein sicheres Passwort!
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.
Ü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.
Icinga DB Web konfigurieren
Nach der Übersicht der Icinga Web 2 Konfiguration startet die Konfiguration von Icinga DB Web.
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.
Wurden alle Felder richtig ausgefüllt und die Konfiguration validiert, erscheint eine Erfolgsmeldung.
Nachdem die Verbindung zur Datenbank erfolgreich eingerichtet wurde, muss nun noch die Verbindung zu Icinga DB Redis hergestellt werden.
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)
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.
Die Konfiguration endet mit einer Übersichtsseite, auf der alle eingegebenen Daten noch einmal überprüft werden können.
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:
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 Comments