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
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.