Ordlista · Typer av övervakning

Vad är en health check-endpoint?

En endpoint för hälsokontroll är en URL, som /health eller /healthz, som en tjänst exponerar så att lastbalanserare, orkestrerare och övervakning kan fråga om den fungerar. Den svarar 200 när tjänsten är frisk och en felstatus, oftast 503, när den inte är det.

Så fungerar det och därför spelar det roll

En bra hälsokontroll testar det tjänsten behöver för att betjäna användarna: en snabb fråga mot databasen, cachen, kön. Den svarar snabbt, har inga sidoeffekter, kräver ingen inloggning eller bara en nyckel utan andra behörigheter, och returnerar en liten JSON-body som säger vilken kontroll som misslyckades.

Det finns oftast två sorter. En liveness-kontroll säger att processen körs och inte ska startas om; den hålls enkel. En readiness-kontroll säger att instansen kan ta emot trafik just nu, beroenden inräknade, så att en lastbalanserare eller Kubernetes kan styra runt den. Extern övervakning vill ha readiness-varianten.

Var försiktig med beroenden du inte styr över. Om hälsokontrollen fallerar så fort ett tredjeparts-API är långsamt kan alla instanser tas ur drift samtidigt. Rapportera sådant som försämrat i svaret, och spara statuskoden för fel som verkligen stoppar tjänsten.

Exempel

GET /health

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

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

En monitor kontrollerar statuskoden och att $.status är ok. En 503, en timeout eller något annat värde gör att kontrollen misslyckas.

Så hjälper Uptimecheck

Uptimechecks API-monitorer kan kontrollera en hälsoendpoint varje minut: statuskoden (200 till 399 som standard, eller de koder du anger), upp till 10 JSON- och header-villkor som att $.status är lika med ok, ett nyckelord och upp till 20 request-headers för en nyckel. Standardtimeouten är 10 sekunder, och svar som är långsammare än din gräns skickar ett larm om långsamhet.

Se API-övervakning

14 dagar gratis · Sedan gratis för 5 övervakningar · Inget kreditkort

Läs mer i guiderna

Guides 7 min läsning

Så bygger du en health check-endpoint (och övervakar den)

En health check-endpoint talar om för monitorer och lastbalanserare om din app kan hantera förfrågningar. Vad du ska kontrollera, hur du håller den snabb och säker, kod för Laravel, Express och Flask, och hur du övervakar den.

Läs

Frågor

Vad ska en hälsoendpoint returnera?

200 med en liten JSON-body när tjänsten och dess kritiska beroenden fungerar, och 503 när de inte gör det. Lägg till Cache-Control: no-store så att en cache aldrig svarar i dess ställe.

Ska en health check-endpoint vara publik?

Det kan den vara, om den inte avslöjar något känsligt: inga versioner, värdnamn eller felmeddelanden. Annars skyddar du den med en token som skickas som header och ger övervakningen en egen nyckel.

Vad är skillnaden mellan liveness och readiness?

Liveness säger att processen körs; misslyckas den startas processen om. Readiness säger att instansen kan ta emot trafik nu; misslyckas den tas instansen ur rotation tills den återhämtar sig.

Driftstopp är historia.

Sätt upp din första övervakning på under en minut, eller ta en titt i livedemon först.

14 dagar gratis · Sedan gratis för 5 övervakningar · Inget kreditkort