Zum Inhalt springen
labkompass

Logbuch#netzwerk#monitoring#architektur#selfhosting

Robuster nach dem Ausfall: ein Gedächtnis für den Pi, ein Alter für „Reboot ausstehend“, ein Herzschlag von außen

Von Niclas Hennrich · veröffentlicht · geschehen am


EntscheidungIn Arbeit

Alternativen bewertet und einen Weg festgelegt. Gehört zum Vorhaben Homelab Control Center.

Eskalation „Reboot ausstehend“ auf critical nach
7 Tage
Heartbeat-Intervall des Dead-Man's-Switch
5 min
Alarm nach
≈ 15 min

Der Ausfall vom Wochenende hatte vier Lücken sichtbar gemacht: Der Router war 23 Stunden tot, bevor es jemand merkte. Ein fälliger Reboot-Hinweis stand tagelang ohne dass er drängte. Der Pi hatte nach dem Neustart kein Gedächtnis. Und das Monitoring, das alles hätte sehen sollen, saß hinter dem Router. Aus jeder Lücke eine Maßnahme — ein Brainstorm im Vault, dann Entscheidung.

1. Der Pi bekommt ein Gedächtnis. Ein Drop-in für journald mit Storage=persistent, das bestehende 50-MB-Limit bleibt, damit die SD-Karte nicht leidet. Zwei Zeilen, verifiziert: journalctl --list-boots zeigt jetzt Boots. Erledigt in fünf Minuten — und exakt das, was mir bei der Rekonstruktion gefehlt hatte.

2. „Reboot ausstehend" bekommt ein Alter. Ein Zustand ohne Alter wird zur Tapete. Die Serie liegt längst in VictoriaMetrics; mit timestamp() und einer Subquery über sieben Tage lässt sich berechnen, seit wann der Hinweis steht. Ab sieben Tagen eskaliert das Control Center von Warning auf Critical — mit dem Text „wartet seit N Tagen" und der Empfehlung, es jetzt zu tun. Wichtig: Ohne Historie bleibt es bei Warning. Nie auf fehlenden Daten eskalieren.

3. Ein Herzschlag von außen. Die Entscheidung „kein Push-Alerting im NOC" vom August hatte einen eingebauten Wiedervorlage-Trigger: „länger als eine Stunde unbemerkt". Eingetreten. Aber die Antwort ist nicht Push aus dem Netz heraus — das kann bei Router-Ausfall nichts senden. Die Antwort ist ein Dead-Man's-Switch von außen: Ein Uptime-Monitor auf einem externen Host erwartet alle fünf Minuten ein Lebenszeichen vom Pi und vom Server. Bleibt es zweimal aus, gibt es nach etwa fünfzehn Minuten eine Benachrichtigung aufs Handy. Das ist die einzige Sicht, die bleibt, wenn das Heimnetz weg ist. Compose-Stack und Einrichtungsskript liegen bereit; der Deploy auf den geteilten Produktionshost wartet auf mich.

4. Beim nächsten Mal Logs. Für die Firewall: Gateway-Monitoring für den WAN-Uplink aktivieren, ein Watchdog, der bei dreißig Minuten totem Gateway neu startet (maximal zweimal am Tag), und Remote-Syslog auf den Server. Alles GUI-Arbeit, alles noch offen — der Router bekommt ohnehin erst einen neuen Datenträger.

Die Lehre über allem: Resilienz ist nicht ein großes Werkzeug, sondern vier kleine Antworten auf vier konkrete Fragen, die ein echter Ausfall gestellt hat. Vorher hätte ich sie nicht so gestellt.