Homelab Monitoring – Wie siehts bei mir aus?

Homelab Monitoring – Wie siehts bei mir aus?

Zu wissen wann etwas kaputt gegangen ist ist elementar! Entsprechend hilft dir das Homelab Monitoring genau das zu erreichen.

Viele meiner Leser wissen es bereits: Ich nutze sehr gerne ICINGA2 als meine Monitoring Software. Vor vielen Jahren bin ich von Nagios damals zu ICINGA 1 gewechselt und sehr zeitnah zu Version 2. Entsprechend ist klar, dass mein Homelab Monitoring primär von ICINGA2 durchgeführt wird.

Wie sieht für mich Monitoring aus?

Bevor ich dir mein Homelab Monitoring zeige, möchte ich erst mal auf die Frage eingehen, wie das ganze überhaupt für mich aussehen soll, bzw. was für mich der Sinn und Zweck eines Monitoring ist.

Privat als auch im beruflichen Leben weiß ich gern vor meinen Kunden (Partner:in, Kolleg:innen, externe Kund:innen) ob etwas nicht funktioniert. Realistisch betrachtet gibt es Dinge die man nicht vor anderen wissen kann: zum Beispiel ob das Internet noch funktioniert. 🤷‍♂️ Allerdings ist es im Rahmen der Kommunikation immer ein wesentlicher Vorteil schon zu wissen ob/was nicht richtig funktioniert. Die Kunst ist es hier eine Balance zu finden zwischen Dingen die sinnvoll überwacht werden können und welche einfach nur interessant sind zu wissen. Entsprechend versuche ich viele Dinge zu überwachen und mit sauberen Schwellwerten zu versehen um möglichst frühzeitig ein Problem zu sehen oder gar vor einem Problem eingreifen zu können.

Das gerade angesprochene Beispiel mit der Internetleitung ist so ein Thema. Das Monitoringsystem kann ein Ping auf einen externen Dienst absetzen der quasi immer Verfügbar ist, z. B. Google oder Cloudflare. Auf Grund der Auslastung des Monitoringservers wird der Ping nur nicht durchgehend abgesetzt wie wir es z. B. unter Windows mit dem Parameter -t kennen. Stattdessen wird alle paar Sekunden (oder Minuten) eine Reihe von Pings abgesetzt und hieraus dann ermittelt ob die Internetleitung (bzw. wird ja der Service überprüft) verfügbar ist.

![homelab monitoring mit icinga2](data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 650'%3E%3C/svg%3E)
Homelab Monitoring mit ICINGA2

Was monitore ich im Homelab?

Nun kommen wir zur spannenden Frage was ich denn im Homelab überwache. Wie oben bereits geschrieben gibt es für mich kein Grund die Verfügbarkeit der Internetleitung zu überwachen. Es ist immer jemand im Haus der das vor mir erkennen würde. Zudem müsste ich für eine entsprechende Benachrichtigung eine zweite Internetleitung bereit stellen oder ein SMS Gateway anschaffen. Beides für daheim zu großer overhead.

Ansonsten versuche ich alle Infrastrukturdienste zu überwachen, sofern sie durch die jeweilige Software überwachbar sind. Mein DHCP Server ist z. B. in der Unifi USG integriert, hier kann ich den Dienst nicht sauber überwachen, da die Firmware ein geschlossenes System ist.

[amazon box=“B00LV8YZLK“]

Anders sieht es z. B. beim Thema Smart Home aus. Hier überwache ich sämtliche Dienste (Home Assistant, zwave to mqtt, zigbee to mqtt, etc) auf deren Ausführung. Ausführung heißt in diesem Falle aber nicht ob die ausführbare Datei gestartet ist, sondern ob der Service wirklich läuft. Ist z. B. das Webfrontend erreichbar oder nimmt der Service auf einem bestimmten Port auch Daten entgegen. Ob das relevante Daten sind, ist hier uninteressant, es geht schließlich einzig und allein um die Verfügbarkeit.

Dazu kommen natürlich noch alle anderen Bereitstellungen wie DMS, Netzwerkspeicher und so weiter. Überall werden, sofern es Sinn macht, natürlich auch Metriken wie CPU oder RAM Auslastung mit protokolliert und grafisch dargestellt.

Homelab Monitoring – Die Software

Wie bereits geschrieben nutze ich ICINGA2 als Software. Diese setzt zum Betrieb eine SQL Datenbank voraus. Ich für meinen Teil nutze wo immer es auch geht MariaDB, einfach als persönliche Präferenz.

Alle Metriken bzw. Performancedaten werden in eine InfluxDB Datenbank gespeichert. Die Grafen in ICINGA Web 2 sowohl als auch eigenständige Dashboard werden mittels Grafana realisiert. Dieses greift auf die Influx Datenbank zu und stellt nach meinen Wünschen die Werte grafisch dar.