JSON-Health-Monitoring
Lies das JSON deines Health-Endpunkts, nicht nur seinen Statuscode.
Ein JSON-Health-Monitor ruft einen JSON-Endpunkt ab und wertet dessen Inhalt aus. Ein im Body gemeldetes Teilsystem in Schieflage fällt so auf, auch wenn HTTP 200 zurückkommt.
So funktioniert's
UptimeAlien parst die Antwort und wertet das Statusfeld der obersten Ebene aus. Erkannt werden die üblichen Namen status, state und health. Zusätzlich werden Teilprüfungen aus einem Block namens checks, services oder components einzeln bewertet; fehlt ein solcher Block, werden die flachen Felder der Antwort herangezogen. Werte wie ok, up oder healthy gelten als in Ordnung, Werte wie fail, error oder down als Ausfall, degraded als beeinträchtigt.
Wann du es nutzt
- /healthz-Endpunkte, die je Komponente einen eigenen Status melden
- Eine Datenbank- oder Cache-Verbindung, die im Body als degraded steht, während HTTP 200 zurückkommt
- Dienste, die ihren Zustand als Boolean melden, etwa ok: false oder healthy: false
- Endpunkte, die im Fehlerfall einen Text in error, message oder detail mitgeben; der steht dann direkt in der Benachrichtigung
- Ein Health-Endpunkt, der Queue-Tiefe oder Replication-Lag selbst bewertet und das Ergebnis als degraded meldet
- Antworten mit einem Block namens checks, services, components oder dependencies, den der Monitor ohne Konfiguration einzeln durchgeht
Was du bekommst
Gesamtstatus, Ergebnis je Teilprüfung, Antwortzeit, Uptime und Vorfälle.
Beispiel
marketing.monitoring.types.json.example
Häufige Fragen
Was ist JSON-Health-Monitoring?
Es parst das JSON, das dein Health-Endpunkt zurückgibt, und bewertet dessen Statusfeld sowie einzelne Teilprüfungen, statt nur auf den HTTP-Statuscode zu schauen.
Warum reicht HTTP 200 bei einem Health-Endpunkt nicht?
Weil viele Health-Endpunkte mit 200 antworten und das Problem im Body beschreiben, etwa eine degradierte Datenbank oder eine ausgefallene Abhängigkeit in einem Status-Feld. Ohne das JSON zu lesen, geht diese Information verloren.
Was kann ich prüfen?
Der Monitor erkennt die gängigen Konventionen automatisch: ein Statusfeld namens status, state oder health auf oberster Ebene, dazu Teilprüfungen aus einem Block namens checks, services oder components. Eigene Feldnamen lassen sich derzeit nicht konfigurieren. Passt dein Endpunkt nicht in dieses Schema, ist der Keyword-Monitor der flexiblere Weg.
Wie verhält es sich zum Keyword-Monitoring?
Keyword-Monitoring durchsucht die rohe Antwort nach einer Zeichenkette, JSON-Monitoring parst die Struktur und prüft ein konkretes Feld. Für einen maschinenlesbaren Health-Endpunkt ist der JSON-Monitor der genauere Weg.
