Ein Blick genügt, um zu sehen ob alles noch läuft
Auf meinem Server laufen mehrere Dienste rund um die Uhr. Fällt einer aus, merke ich das erst, wenn etwas fehlt — und um nachzusehen, müsste ich mich jedes Mal per SSH einloggen und Statusbefehle tippen.
Eine Weboberfläche, die systemd nach dem Zustand jedes Dienstes fragt, Logdateien auswertet und Laufzeiten anzeigt. Der entscheidende Teil ist nicht die Anzeige, sondern was nicht drinsteckt: die überwachten Prozesse wissen nichts von diesem Board. Kein Agent, keine Bibliothek, keine Schnittstelle auf ihrer Seite — sie schreiben ihre Dateien wie vorher, und das Board liest mit. Fällt es aus, laufen sie unbeeindruckt weiter.
- Prozess
- Ein Flask-Dienst, selbst unter systemd, hinter Reverse-Proxy mit HTTPS
- Zugang
- Session-Login, TOTP als zweiter Faktor, davor eine eigene Basic-Auth-Schicht
- Begrenzung
- 20 Anmeldeversuche pro Minute, 5 pro Sekunde
- Zustand
- Kein Datenbankserver — JSON-Dateien und Logs im Dateisystem
- Abfrage
- systemctl über einen Unterprozess, Ergebnis 30 s zwischengespeichert
- Wartung
- Eine Flag-Datei sperrt sämtliche Routen — außer von localhost, damit ich mich nicht selbst aussperre
- Eigenkontrolle
- Ein Cron-Job prüft alle 30 Minuten von außen, ob die Oberfläche noch antwortet
Läuft privat hinter einem Login — kein öffentlicher Zugang, kein Repo.
14:28:04collector — Durchlauf beendet, 412 Datensätze
14:27:31watchdog — alle Prüfpunkte bestanden
14:12:09archiver — beendet mit Code 1
und Statusdateien
systemd-Zustand
zeigt an
Die Pfeile zeigen nur in eine Richtung. Nichts schreibt zurück.