# Health Checks: Die Lebensversicherung für hochverfügbare Dienste

TL;DR / Management Summary Ein Loadbalancer ist nur so gut wie seine Fähigkeit, defekte Server zu erkennen. Health Checks (auch Liveness-Probes genannt) sind periodische Tests, die der Balancer gegen jedes Backend ausführt. Ein Senior Admin nutzt keine simplen “Ping”-Tests, sondern implementiert logische Applikations-Checks (z.B. eine Datenbank-Abfrage via HTTP-Endpoint), um sicherzustellen, dass der Server nicht nur erreichbar ist, sondern auch sinnvoll arbeitet.


# 1. Ebenen der Prüfung

Vom Kabel zur Logik.

  1. Layer 3 (Ping): Prüft nur, ob der Host online ist. (Sagt nichts über den Webdienst aus).
  2. Layer 4 (TCP Connect): Prüft, ob der Port (z.B. 80) offen ist. (Sagt nichts über die Applikation aus).
  3. Layer 7 (HTTP Check): Prüft, ob die Webseite den Status 200 OK liefert.
  4. Deep App Check: Prüft, ob spezifischer Inhalt auf der Seite steht (z.B. “DB-Connection: Success”).

# 2. Parameter eines Health Checks

Die Empfindlichkeit einstellen.


# 3. Deep Dive: Der ‘Status-Page’ Trick

Echte Intelligenz im Backend.

Anstatt die Startseite der Webseite zu prüfen (die oft groß und langsam ist):


# 4. Day-2 Operations: Wartungsmodus (Draining)

Sanftes Abschalten.

Ein guter Health Check erkennt auch administrative Zustände.


# 5. Troubleshooting & “War Stories”

Wenn der Check den Server ‘tötet’.

# Top 3 Fehlerbilder

  1. Symptom: Alle Server sind gleichzeitig Offline.

    • Ursache: Der Loadbalancer selbst hat keine Netzwerkverbindung zum Backend-VLAN oder der DNS-Name des Health-Checks lässt sich nicht auflösen.
    • Lösung: Lokaler Host-Eintrag am Balancer nutzen.
  2. Symptom: “Flapping” (Server geht ständig an und aus).

    • Ursache: Die Timeouts sind zu knapp bemessen. Eine kurze Lastspitze am Server führt zum Failover.
    • Fix: Timeout auf das Doppelte der maximalen App-Antwortzeit setzen.
  3. Symptom: “False Positive”. Balancer sagt Online, aber User sehen Fehler.

    • Ursache: Port 80 ist offen (L4 Check), aber die Festplatte ist im Read-Only Modus.

# “War Story”: Der “DDoS” durch Monitoring

Ein Admin konfigurierte 10 verschiedene Loadbalancer (in verschiedenen RZs) so, dass sie alle 1 Sekunde einen komplexen Health-Check gegen eine einzelne Datenbank-VM ausführten. Das Ergebnis: Die Datenbank verarbeitete 10 Anfragen pro Sekunde nur durch das Monitoring. Die Log-Files füllten sich mit Gigabytes an “Health Check success” Meldungen, was schlussendlich die Disk füllte und zum echten Absturz führte. Lehre: Koordinieren Sie Ihre Monitoring-Frequenzen. Ein Intervall von 5-10 Sekunden reicht für die meisten Enterprise-Anwendungen völlig aus.


# 6. Monitoring & Reporting

Status-Historie.

# Backend Availability Dashboard

Visualisieren Sie in Grafana (Artikel 698):


# 7. Fazit & Empfehlung

Health Checks sind die Augen des Loadbalancers.


# Anhang: Cheatsheet (Test-Methoden)

Typ Befehl (Beispiel) Zweck
HTTP GET /health Web-Apps
TCP syn-ack DBs, SSH
MySQL mysql-check Native SQL Prüfung
LDAP bind-check Active Directory

# Referenzen