Heartbeat-Überwachung umfasst das periodische Versenden eines kleinen Signals – wie einer HTTP-Anfrage, eines TCP-Pakets oder eines ICMP-Ping – von einem überwachten Knoten oder Service zu einem Überwachungssystem (oder zwischen Peer-Knoten in einem Cluster), um zu bestätigen, dass das System aktiv und reaktionsfähig ist.
Wie es funktioniert
Ein Sender sendet eine Heartbeat-Nachricht in festen Intervallen, typischerweise alle 1–30 Sekunden. Das Überwachungssystem zeichnet auf, wann jeder Heartbeat eintrifft, und vergleicht den Zeitstempel mit einem konfigurierten Timeout-Fenster. Wenn ein Heartbeat nicht innerhalb dieses Fensters eintrifft (oft nach mehreren aufeinanderfolgenden verpassten Intervallen), wird der überwachte Knoten als DOWN markiert und automatisierte Maßnahmen werden ausgelöst – wie das Senden einer Warnung, ein Failover zu einem Backup oder der Neustart des Service.
Heartbeat-Überwachung kann unidirektional sein (ein Agent sendet Heartbeats an einen zentralen Monitor) oder bidirektional (Peer-Knoten in einem Cluster tauschen Heartbeats aus, um Ausfälle untereinander zu erkennen).
Beispiel
Kubernetes nutzt Liveness Probes als Heartbeat-Mechanismus: Das Kubelet sendet regelmäßig HTTP- oder TCP-Checks an einen Container. Wenn die Probe eine bestimmte Anzahl von Malen hintereinander fehlschlägt, startet Kubernetes den Container automatisch neu. Ähnlich tauschen in Hochverfügbarclusters Knoten, auf denen Pacemaker läuft, Heartbeat-Nachrichten über ein dediziertes Netzwerk aus; wenn ein Knoten aufhört, Heartbeats zu senden, triggert der Cluster ein Failover seiner Services zu einem funktionsfähigen Peer.
Wann es wichtig ist
Heartbeat-Überwachung ist essenziell für Uptime-Überwachung, Health Checks von Load Balancern und die Automatisierung von Cluster-Failover. Sie ermöglicht die schnelle Erkennung fehlgeschlagener Services und automatische Wiederherstellung.
WarningSplit-Brain-Risiko: Ein verpasster Heartbeat kann entweder signalisieren, dass der überwachte Knoten abgestürzt ist, ODER dass die Netzwerkverbindung, die den Heartbeat trägt, unterbrochen ist. Der Knoten kann immer noch Traffic verarbeiten, auch wenn Heartbeats verloren gehen. In produktiven Hochverfügbarclusters wird Heartbeat-Überwachung immer mit Quorum-Mechanismen und Fencing (STONITH) kombiniert, um zu verhindern, dass zwei Knoten gleichzeitig den Primary-Status beanspruchen.