
🌐 Auch auf: English · Français · Español
Eine nerdige Homelab-Geschichte mit Redis, zu vielen Datenbanken und zu wenig Schlaf.
📝 Einleitung
Glückwunsch, Reisender. Wenn du das hier liest, hast du beschlossen, dein Homelab wie ein verantwortungsvoller Erwachsener zu überwachen, statt das uralte Ritual „Aus- und wieder Einschalten“ zu zelebrieren.
Dieser Beitrag fasst – auf hoher, meta-mäßiger, leicht sarkastischer Nerd-Ebene – zusammen, wie du den kompletten modernen Icinga-Monitoring-Stack auf Debian zusammenbaust:
- Icinga 2 – die Kern-Engine
- Redis – der blitzschnelle Event-Briefkasten
- IcingaDB – das glänzende neue Datenbank-Backend
- MariaDB/PostgreSQL – der Kristall des Langzeitgedächtnisses
- Icinga Web 2 – die visuelle Kristallkugel
- Icinga Director – dein Zauberbuch für die Konfiguration
Und damit es noch epischer wird: Heute habe ich an einer ganztägigen Online-Schulung von NETWAYS aus Nürnberg teilgenommen, die noch vier weitere Tage läuft. Nach einem langen Lerntag habe ich den Abend damit verbracht, Icinga auf meinem Homelab-Server zu installieren – mit Erfolg! Jetzt, wo alles läuft, geht’s direkt ins Bett. Auch Monitoring-Nerds brauchen ihre Uptime.
🧱 Schritt 1 – Die heilige Dreifaltigkeit installieren: Icinga 2, Redis & SQL
🔥 Icinga 2 – der Kern-Daemon
Das ist das Gehirn deines Monitoring-Stacks. Es prüft Dinge, beschwert sich über Dinge und sagt dir, ob deine Homelab-Nodes UP, DOWN oder im mystischen Zustand „läuft bei mir“ sind.
⚡ Redis – der Warp-Antrieb für Echtzeit-Events
Das moderne Icinga nutzt Redis als Schnellfeuer-Transport für Events. Alle Live-Daten (Check-Ergebnisse, Statuswechsel, Downtimes usw.) landen zuerst in Redis, denn:
SQL ist langsam. Redis ist Koffein auf Silizium.
🗄️ SQL-Datenbank – das Langzeitgedächtnis
Deine SQL-Datenbank enthält:
- Monitoring-Historie
- Host-/Service-Objekte
- Events & Beziehungen
Kurz gesagt:
Redis = RAM
SQL = Festplatte
Icinga 2 = CPU
🔌 Schritt 2 – Icinga 2 mit IcingaDB verbinden
IcingaDB ist der moderne Ersatz für das alte IDO-Backend. Es kümmert sich um:
- das Lesen des Live-Status aus Redis
- das Schreiben strukturierter Monitoring-Daten nach SQL
- das Füttern von Icinga Web 2 mit konsistenten Objekten & Historie
Dafür müssen korrekt eingerichtet sein:
- die Redis-Verbindung (Host, Port)
- die SQL-Verbindung (Treiber, Hostname, Datenbank, Benutzer)
Einmal konfiguriert, wird IcingaDB zum schlagenden Herzen deiner Observability-Pipeline.
🧙 Schritt 3 – Das Webinterface beschwören (Icinga Web 2)
Icinga Web 2 ist dein Dashboard für alles, was Status hat, Geschichte hat und gelegentlich Alarm schlägt.
Es braucht:
- einen Webserver (Apache oder nginx)
- PHP mit diversen Modulen
- eine eigene Datenbank für Benutzer, Gruppen und Rollen
Ja: Das ist nicht dieselbe Datenbank wie die von IcingaDB. Diese DB enthält nur Metadaten zu Authentifizierung und Autorisierung.
🔐 Schritt 4 – Die Icinga-2-API aktivieren
Die API verbindet Icinga Web 2 mit Icinga 2. Eingerichtet wird sie mit:
- dem Erzeugen der internen Icinga-CA
- Host-Zertifikaten
- einem API-Benutzer mit Berechtigungen wie:
status/*objects/*actions/*
Das ist meist der Moment, in dem dir klar wird, dass du mehr über TLS gelernt hast, als ein Sterblicher je wissen müsste. Willkommen im Monitoring.
📊 Schritt 5 – IcingaDB im Webinterface
In Icinga Web 2 liefert das IcingaDB-Modul:
- den Live-Status aus Redis
- die Historie aus der SQL-Datenbank von IcingaDB
Deshalb konfigurierst du zwei getrennte Ressourcen:
- Icinga-Web-2-DB → Benutzer & Gruppen
- IcingaDB-DB → Monitoring-Objekte & Historie
Genau diese Trennung macht das ganze System skalierbar und schön.
🕹️ Schritt 6 – Den Director installieren
Der Icinga Director ist deine webbasierte Engine zur Automatisierung der Konfiguration. Statt Icinga-DSL-Dateien wie ein Höhlenmensch von Hand zu schreiben, bekommst du:
- Host- & Service-Vorlagen
- Apply-Regeln
- Importquellen
- Massen-Rollout
Ja, der Director braucht noch eine weitere Datenbank. Dieser Stack ist im Grunde Pokémon für DBAs: Gotta catch ’em all.
🌀 Schritt 7 – Das Universum neu starten
Der letzte Schritt ist das Sysadmin-Ritual:
- Redis neu starten
- IcingaDB neu starten
- Icinga 2 neu starten
- Apache neu laden
Wenn alles stimmt, zeigt Icinga Web 2 endlich:
- Live-Status von Hosts & Services
- historische Daten
- die Director-Konfiguration
Wenn etwas nicht stimmt … tja, schau in deine Logs. Die schreien dich sehr detailliert an.
🌙 Ein langer Schulungstag, eine späte Nacht im Homelab
Heute habe ich an einer ganztägigen Online-Schulung von NETWAYS aus Nürnberg teilgenommen. Und nicht nur heute – die Schulung geht noch vier weitere Tage.
Und wie jeder echte Nerd habe ich nach Schulungsende beschlossen, das frische Wissen sofort anzuwenden, und mit der Installation des kompletten Icinga-2-Stacks auf meinem Homelab-Server begonnen.
Es hat einiges Ringen mit Redis-Ports, Datenbankrechten und Einrichtungsassistenten gekostet, aber am Ende gilt: Der Stack ist jetzt voll einsatzbereit.
Mit diesem freigeschalteten Achievement schließe ich dieses Kapitel des Abends offiziell und gehe direkt ins Bett. Auch Homelab-Sysadmins brauchen Wartungsfenster.
🏁 Fazit
Du hast erfolgreich zusammengebaut:
- Icinga 2
- Redis
- IcingaDB
- Icinga Web 2
- Director
- drei Datenbanken und unzählige Configs
Dein Homelab hat jetzt ein voll funktionsfähiges Observability-System – und du darfst damit im Internet angeben.
Ab jetzt messen wir die Uptime. Und unsere eigene geistige Gesundheit.






