Egy állapotellenőrző végpont gyorsan válaszol egy kérdésre: fut e ez az API, és eléri e a saját adatbázisát. Az üzemidő monitorok, terheléselosztók, és állapotoldalak mind elvárnak egyet, és kézzel megépíteni (magad lekérdezed az adatbázist, összeállítod a megfelelő JSON t, kiválasztasz egy státuszkódot) több munka, mint amennyinek egy ilyen egyszerű dolognál kellene lennie.
Felépítése
- Hozz létre egy új GET végpontot, valami olyasmit, mint
/healthvagy/status. - Húzz be egy Állapotellenőrzés blokkot. Hagyd bekapcsolva az "Ellenőrizd, hogy az adatbázis elérhető e" opciót, ez egy könnyű lekérdezést futtat, semmi nehezet.
- Adj hozzá egy JSON válasz blokkot. Állítsd a törzsét
{{health}}re, és a státusz mezőjét{{health_status}}ra (vagy amilyen változónevet adtál az Állapotellenőrzés blokknak, a saját paneljében látható). - Köss össze az Állapotellenőrzés blokk két kimenő útvonalát ("Ok" és "Nem egészséges" jelöléssel) mindkettőt ugyanabba a Válasz blokkba, mivel az már eleve a megfelelő státuszt hordozza mindkét esetben.
Ez a teljes végpont. Egy egészséges hívás 200 at ad vissza egy olyan törzzsel, mint {"status":"ok","checks":{"database":"ok"}}; ha az adatbázis nem érhető el, ehelyett 503 at ad vissza {"status":"unhealthy","checks":{"database":"error"}} zsal, pontosan azzal a státuszkóddal, amit egy monitorozó eszköz valódi kiesésként vár kezelni.
Tipp: Tartsd nyilvánosan az állapotellenőrző végpontot (API kulcs nélkül), hogy egy külső monitor hitelesítő adatok beállítása nélkül hívhassa.