Ein Health Check ist ein regelmäßiger Aufruf, mit dem ein System prüft, ob ein Dienst noch arbeitsfähig ist. Antwortet er nicht oder falsch, gilt der Dienst als ausgefallen und bekommt keine Anfragen mehr. Englisch health heißt Gesundheit, check die Prüfung.
- Health Check
Ein regelmäßiger Aufruf, der prüft, ob ein Dienst noch arbeitsfähig ist.
Beispiel: „Der Health Check läuft alle fünf Sekunden und nimmt eine Instanz nach drei Fehlversuchen heraus.“Auch: Gesundheitsprüfung, Liveness Check, Readiness Check. Im Deutschen ist der englische Begriff der gebräuchliche.
Abgrenzung zum Server Monitoring: Das Monitoring beobachtet und meldet an Menschen. Der Health Check entscheidet selbst und sofort, ob ein Dienst noch Anfragen bekommt.
Wo der Health Check hängt
Beim Load Balancing: Der Verteiler fragt jede Instanz in kurzen Abständen, ob sie noch kann, und lässt die aus, die nicht mehr antwortet. Für den Besucher bleibt der Ausfall damit unsichtbar, solange eine Instanz übrig ist.
Denselben Dienst leisten Health Checks in einem Verbund mit High Availability: Sie lösen das Umschalten auf das Ersatzteil aus.
Was ein guter Health Check prüft
Mehr als die Frage, ob der Webserver antwortet. Eine Adresse, die nur 200 zurückgibt, sagt nichts darüber, ob die Datenbank erreichbar ist, ob der Speicherplatz reicht und ob die Anwendung ihre Konfiguration gelesen hat. Ein brauchbarer Health Check berührt genau die Teile, ohne die der Dienst seine Aufgabe nicht erfüllen kann.
Er darf dabei nichts Teures tun. Ein Aufruf, der alle fünf Sekunden eine umfangreiche Abfrage auslöst, wird selbst zur Last und kippt unter Druck als Erstes, also genau dann, wenn seine Auskunft gebraucht wird.
Woran ein Health Check scheitert
An zu strenger Einstellung. Wer nach einem einzigen Fehlversuch herausnimmt, verliert Instanzen bei jedem kurzen Ausschlag und kann so aus einer Lastspitze einen vollständigen Ausfall machen. Üblich sind deshalb mehrere Fehlversuche in Folge, bevor etwas geschieht, und mehrere erfolgreiche, bevor eine Instanz zurückkommt.
Der zweite Fall ist die Prüfung, die immer gelingt. Eine fest ausgelieferte Textdatei antwortet auch dann, wenn die Anwendung dahinter längst steht.