Glossar · Arten des Monitorings

Was ist ein Health-Check-Endpunkt?

Ein Health-Check-Endpunkt ist eine URL wie /health oder /healthz, die ein Dienst bereitstellt, damit Load Balancer, Orchestrierung und Monitoring fragen können, ob er funktioniert. Er antwortet mit 200, wenn der Dienst gesund ist, und mit einem Fehlerstatus, meist 503, wenn nicht.

Wie es funktioniert und warum es wichtig ist

Ein guter Health Check testet, was der Dienst braucht, um Nutzer zu bedienen: eine schnelle Abfrage an die Datenbank, den Cache, die Queue. Er antwortet schnell, hat keine Seiteneffekte, braucht keinen Login oder nur einen Schlüssel ohne weitere Rechte und gibt einen kleinen JSON-Body zurück, der sagt, welche Prüfung fehlgeschlagen ist.

Meist gibt es zwei Arten. Ein Liveness-Check sagt, dass der Prozess läuft und nicht neu gestartet werden muss; er bleibt einfach. Ein Readiness-Check sagt, dass die Instanz jetzt Traffic annehmen kann, inklusive Abhängigkeiten, sodass ein Load Balancer oder Kubernetes um sie herum routen kann. Externes Monitoring braucht die Readiness-Variante.

Vorsicht bei Abhängigkeiten, die Sie nicht kontrollieren. Schlägt der Health Check fehl, sobald eine Drittanbieter-API langsam ist, können alle Instanzen gleichzeitig aus dem Betrieb genommen werden. Melden Sie diese im Body als eingeschränkt und reservieren Sie den Statuscode für Fehler, die den Dienst wirklich lahmlegen.

Beispiel

GET /health

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store

{"status":"ok","checks":{"database":"ok","cache":"ok"}}

Ein Monitor prüft den Statuscode und dass $.status gleich ok ist. Ein 503, ein Timeout oder jeder andere Wert lässt die Prüfung fehlschlagen.

Wie Uptimecheck hilft

API-Monitore von Uptimecheck können einen Health-Endpunkt jede Minute prüfen: den Statuscode (standardmäßig 200 bis 399 oder die von Ihnen festgelegten Codes), bis zu 10 JSON- und Header-Bedingungen wie $.status gleich ok, ein Keyword und bis zu 20 Request-Header für einen Schlüssel. Das Standard-Timeout beträgt 10 Sekunden, und Antworten, die langsamer als Ihr Limit sind, lösen einen Langsam-Alarm aus.

API-Monitoring ansehen

14 Tage kostenlos testen · Danach gratis für 5 Monitore · Keine Kreditkarte

Mehr dazu in den Ratgebern

Guides 7 Min. Lesezeit

Health-Check-Endpoint bauen (und überwachen): So geht’s

Ein Health-Check-Endpoint sagt Monitoren und Load Balancern, ob Ihre App Anfragen bedienen kann. Was Sie prüfen sollten, wie er schnell und sicher bleibt, Code für Laravel, Express und Flask und wie Sie ihn überwachen.

Lesen

Guides 5 Min. Lesezeit

API-Monitoring-Checkliste: Mehr prüfen als 200 OK

Eine API kann 200 zurückgeben und trotzdem kaputt sein. Eine praktische Checkliste für API-Monitoring: Methoden, Header, Request-Bodys, Authentifizierung, erwartete Antworten und Schwellenwerte für die Antwortzeit.

Lesen

Fragen

Was sollte ein Health-Check-Endpunkt zurückgeben?

200 mit einem kleinen JSON-Body, wenn der Dienst und seine kritischen Abhängigkeiten funktionieren, und 503, wenn nicht. Ergänzen Sie Cache-Control: no-store, damit nie ein Cache an seiner Stelle antwortet.

Sollte ein Health-Check-Endpunkt öffentlich sein?

Ja, wenn er nichts Sensibles preisgibt: keine Versionen, Hostnamen oder Fehlermeldungen. Andernfalls schützen Sie ihn mit einem Token im Header und geben Sie dem Monitor einen eigenen Schlüssel.

Was ist der Unterschied zwischen Liveness und Readiness?

Liveness sagt, dass der Prozess läuft; schlägt sie fehl, wird der Prozess neu gestartet. Readiness sagt, dass die Instanz jetzt Traffic bedienen kann; schlägt sie fehl, wird die Instanz aus der Rotation genommen, bis sie sich erholt.

Downtime ist von gestern.

Richten Sie Ihren ersten Monitor in weniger als einer Minute ein – oder sehen Sie sich zuerst die Live-Demo an.

14 Tage kostenlos testen · Danach gratis für 5 Monitore · Keine Kreditkarte