Ordliste · Typer overvåking

Hva er en health check-endepunkt?

Et endepunkt for helsesjekk er en URL, som /health eller /healthz, som en tjeneste eksponerer slik at lastbalanserere, orkestratorer og overvåking kan spørre om den fungerer. Det svarer 200 når tjenesten er frisk, og en feilstatus, vanligvis 503, når den ikke er det.

Slik fungerer det, og hvorfor det er viktig

En god helsesjekk tester det tjenesten trenger for å betjene brukerne: en rask spørring mot databasen, hurtigbufferen, køen. Den svarer raskt, har ingen bivirkninger, krever ingen innlogging eller bare en nøkkel uten andre rettigheter, og returnerer en liten JSON-body som sier hvilken sjekk som feilet.

Det finnes vanligvis to typer. En liveness-sjekk sier at prosessen kjører og ikke bør startes på nytt; den holdes enkel. En readiness-sjekk sier at instansen kan ta imot trafikk nå, avhengigheter inkludert, slik at en lastbalanserer eller Kubernetes kan rute rundt den. Ekstern overvåking trenger readiness-typen.

Vær forsiktig med avhengigheter du ikke kontrollerer. Hvis helsesjekken feiler hver gang et tredjeparts-API er tregt, kan alle instanser tas ut av drift samtidig. Rapporter slike som redusert i svaret, og spar statuskoden til feil som virkelig stopper tjenesten.

Eksempel

GET /health

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

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

En monitor sjekker statuskoden og at $.status er lik ok. En 503, et tidsavbrudd eller en hvilken som helst annen verdi gjør at sjekken feiler.

Slik hjelper Uptimecheck

Uptimechecks API-monitorer kan sjekke et helsesjekk-endepunkt hvert minutt: statuskoden (200 til 399 som standard, eller kodene du angir), opptil 10 JSON- og header-betingelser som at $.status er lik ok, et nøkkelord og opptil 20 forespørselsheadere for en nøkkel. Standard tidsavbrudd er 10 sekunder, og svar som er tregere enn grensen din, utløser et varsel om treghet.

Se API-overvåking

14 dagers gratis prøveperiode · Deretter gratis for 5 monitorer · Uten kredittkort

Les mer i guidene

Guides 7 min lesing

Slik bygger du et helsesjekk-endepunkt (og overvåker det)

Et helsesjekk-endepunkt forteller monitorer og lastbalanserere om appen din kan betjene forespørsler. Hva du bør sjekke, hvordan du holder det raskt og trygt, kode for Laravel, Express og Flask, og hvordan du overvåker det.

Les

Spørsmål

Hva bør et helsesjekk-endepunkt returnere?

200 med en liten JSON-body når tjenesten og de kritiske avhengighetene fungerer, og 503 når de ikke gjør det. Legg til Cache-Control: no-store, så en hurtigbuffer aldri svarer i stedet.

Bør et endepunkt for helsesjekk være offentlig?

Ja, hvis det ikke avslører noe sensitivt: ingen versjoner, vertsnavn eller feilmeldinger. Ellers beskytter du det med et token sendt som en header, og gir monitoren sin egen nøkkel.

Hva er forskjellen på liveness og readiness?

Liveness sier at prosessen kjører; feiler den, startes prosessen på nytt. Readiness sier at instansen kan betjene trafikk nå; feiler den, tas instansen ut av rotasjonen til den er tilbake.

Nedetid er fortid.

Sett opp din første monitor på under ett minutt, eller se deg rundt i livedemoen først.

14 dagers gratis prøveperiode · Deretter gratis for 5 monitorer · Uten kredittkort