Sanasto · Valvonnan tyypit

Mikä on health check -päätepiste?

Health check -päätepiste on URL, kuten /health tai /healthz, jonka palvelu tarjoaa, jotta kuormantasaajat, orkestrointityökalut ja valvonta voivat kysyä, toimiiko se. Se vastaa 200, kun palvelu on kunnossa, ja virhetilan, yleensä 503, kun se ei ole.

Miten se toimii ja miksi sillä on väliä

Hyvä health check testaa sen, mitä palvelu tarvitsee käyttäjien palvelemiseen: nopea kysely tietokantaan, välimuistiin ja jonoon. Se vastaa nopeasti, sillä ei ole sivuvaikutuksia, se ei vaadi kirjautumista tai korkeintaan avaimen ilman muita oikeuksia, ja se palauttaa pienen JSON-rungon, joka kertoo, mikä tarkistus epäonnistui.

Niitä on yleensä kahta tyyppiä. Liveness-tarkistus kertoo, että prosessi on käynnissä eikä sitä tarvitse käynnistää uudelleen; se pysyy yksinkertaisena. Readiness-tarkistus kertoo, että instanssi voi ottaa liikennettä vastaan nyt riippuvuudet mukaan lukien, joten kuormantasaaja tai Kubernetes voi ohjata liikenteen sen ohi. Ulkoinen valvonta tarvitsee readiness-tyypin.

Ole varovainen riippuvuuksien kanssa, joita et hallitse. Jos terveystarkistus epäonnistuu aina, kun kolmannen osapuolen API on hidas, jokainen instanssi voidaan poistaa käytöstä yhtä aikaa. Ilmoita ne vastauksen rungossa heikentyneinä ja käytä tilakoodia vain vikoihin, jotka todella pysäyttävät palvelun.

Esimerkki

GET /health

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

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

Valvonta tarkistaa tilakoodin ja sen, että $.status on ok. 503, aikakatkaisu tai mikä tahansa muu arvo saa tarkistuksen epäonnistumaan.

Näin Uptimecheck auttaa

Uptimecheckin API-valvonta voi tarkistaa terveyspäätepisteen minuutin välein: tilakoodin (oletuksena 200–399 tai itse asettamasi koodit), enintään 10 JSON- ja otsakeehtoa, kuten $.status on ok, avainsanan sekä enintään 20 pyyntöotsaketta avainta varten. Oletusaikakatkaisu on 10 sekuntia, ja asettamaasi rajaa hitaammista vastauksista lähtee hitaushälytys.

Katso API-valvonta

14 päivän ilmainen kokeilu · Sen jälkeen ilmainen 5 valvonnalle · Ei luottokorttia

Lue lisää oppaista

Guides 7 min lukuaika

Health check -päätepisteen rakentaminen (ja valvonta)

Health check -päätepiste kertoo valvontapalveluille ja kuormantasaajille, pystyykö sovelluksesi palvelemaan pyyntöjä. Mitä tarkistaa, miten pitää se nopeana ja turvallisena, koodi Laravelille, Expressille ja Flaskille sekä miten sitä valvotaan.

Luku

Kysymykset

Mitä terveystarkistuksen päätepisteen pitäisi palauttaa?

200 ja pieni JSON-runko, kun palvelu ja sen kriittiset riippuvuudet toimivat, ja 503, kun ne eivät toimi. Lisää Cache-Control: no-store, jotta välimuisti ei koskaan vastaa sen puolesta.

Pitäisikö health check -päätepisteen olla julkinen?

Voi olla, jos se ei paljasta mitään arkaluonteista: ei versioita, isäntänimiä tai virheilmoituksia. Muuten suojaa se otsakkeena lähetettävällä tunnisteella ja anna valvonnalle oma avaimensa.

Mitä eroa on liveness- ja readiness-tarkistuksella?

Liveness kertoo, että prosessi on käynnissä; jos se epäonnistuu, prosessi käynnistetään uudelleen. Readiness kertoo, että instanssi pystyy palvelemaan liikennettä nyt; jos se epäonnistuu, instanssi poistetaan kierrosta, kunnes se palautuu.

Katkot ovat menneisyyttä.

Luo ensimmäinen valvontasi alle minuutissa – tai tutustu ensin live-demoon.

14 päivän ilmainen kokeilu · Sen jälkeen ilmainen 5 valvonnalle · Ei luottokorttia