So implementieren Sie effektive Gesundheitsprüfungen in HAProxy

So Implementieren Sie Effektive Gesundheitsprufungen In Haproxy



Die Einrichtung Ihres HAProxy als Load Balancer ist unvollständig, wenn Sie keine wirksamen Server-Zustandsprüfungen in Betracht ziehen. Die Implementierung der Integritätsprüfungen trägt dazu bei, die Zuverlässigkeit und Verfügbarkeit der Anwendung zu verbessern. HAProxy unterstützt die Implementierung von Gesundheitsprüfungen, die die Back-End-Server überprüfen, um sicherzustellen, dass ihr Gesundheitszustand für die Verwendung geeignet ist.

Nur die Server, die die Integritätsprüfungen bestehen, werden zur Rotation hinzugefügt. Auf diese Weise wird ein Server nicht zur Verwendung ausgewählt, wenn er die Gesundheitsprüfung nicht besteht, wodurch die Wahrscheinlichkeit von Ausfallzeiten minimiert wird. In diesem Beitrag werden wir uns eingehender damit befassen, wie die Gesundheitsprüfungen in HAProxy funktionieren und was zur Implementierung einer wirksamen Gesundheitsprüfung erforderlich ist. Lass uns anfangen!

Was sind Gesundheitsprüfungen in HAProxy?

Bei der Konfiguration von HAProxy besteht eine Aufgabe darin, anzugeben, welche Backend-Server für Ihre Anwendung verwendet werden sollen. Auf diese Weise wird der Datenverkehr auf die Server verteilt, um eine Überlastung der Server zu vermeiden. Mithilfe von Gesundheitsprüfungen kann jedoch sichergestellt werden, dass ein Server nur dann für die Verarbeitung des Datenverkehrs ausgewählt wird, wenn dieser in Ordnung ist.







Auf jedem Server werden Integritätsprüfungen durchgeführt, und nur diejenigen, die erfolgreich sind, werden der Rotation zur Verwendung beim Lastausgleich hinzugefügt. Die Integritätsprüfungen werden durchgeführt, indem Anforderungen wie TCP oder HTTP an einen vordefinierten Endpunkt auf Ihrem Backend-Server gesendet werden. Die vom Backend-Server zurückgesendeten Gesundheitsergebnisse bestimmen seinen Status. Beispielsweise könnte der Status des Servers „UP“ oder „DOWN“ anzeigen oder den Status „Okay 200“ senden, der bestätigt, dass der Server fehlerfrei ist.



Stellen Sie beim Konfigurieren der Integritätsprüfungen sicher, dass Sie über einen vordefinierten Endpunkt verfügen, den Sie für die Integritätsprüfungen verwenden können. Es gibt verschiedene Optionen, mit denen Sie Ihren Endpunkt einrichten können. Sie können beispielsweise abhängig vom Status des Servers einen Statuscode oder eine Nachricht zurückgeben. Alle Integritätsprüfungen werden im Backend-Abschnitt Ihrer HAProxy-Konfigurationsdatei definiert. Öffnen Sie die Konfigurationsdatei und erstellen Sie Ihren Frontend-Bereich.



$ sudo nano /etc/haproxy/haproxy.cfg

Hier ist ein einfaches Beispiel für einen Frontend-Abschnitt, der Port 80 bindet, eine Statistikseite einrichtet und das Standard-Backend angibt.





Der nächste Schritt besteht darin, den Backend-Bereich zu erstellen. Im Folgenden finden Sie verschiedene Beispiele zur Implementierung eines effektiven Gesundheitschecks in HAProxy.



Beispiel 1: Implementierung effektiver aktiver Gesundheitschecks

Eine einfache Möglichkeit, die Gesundheitsprüfungen in HAProxy zu implementieren, besteht darin, die aktiven Gesundheitsprüfungen festzulegen. Mit dieser Option versucht HAProxy, eine Verbindung zum Server herzustellen. Wenn keine Antwort gesendet wird, wird der Server als fehlerhaft eingestuft und aus der Rotation entfernt. Die Standardmethode zur Implementierung der aktiven Gesundheitsprüfungen besteht darin, das Schlüsselwort „check“ in jede Serverzeile einzufügen, damit HAProxy sie alle überprüfen kann.

Obwohl dieses erste Beispiel funktioniert, ist es nicht die beste Möglichkeit, die Gesundheitsprüfungen umzusetzen. Außerdem werden die Standardeinstellungen verwendet. Beispielsweise ist das Intervall zwischen den Prüfungen, gekennzeichnet als inter, auf zwei Sekunden eingestellt. Der Fall, die Anzahl der zulässigen Fehlprüfungen, wird auf drei festgelegt. Um diese Einstellungen anzupassen, geben Sie die bevorzugte Zwischenzeit und Anzahl der Prüfungen an, wie im folgenden Beispiel gezeigt:

Beispiel 2: Implementierung eines HTTP-Health-Checks

Bei einer HTTP-Gesundheitsprüfung sendet HAProxy eine HTTP-Anfrage mit dem Schlüsselwort „check“ an alle Server. Basierend auf der Antwort wird auf den Status des Servers geschlossen. Beispiele für erfolgreiche Serverantworten liegen im Bereich von 2xx oder 3xx. Eine Antwort wie 200 OK bedeutet, dass sich der Server in einem guten Zustand befindet.

Fügen Sie für dieses Beispiel die Zeile „option httpchk“ in Ihrem Backend hinzu.

Beispiel 3: Arbeiten mit einer GET-Anfrage

HAProxy sendet bei einer HTTP-Anfrage eine GET-Anfrage an den Pfad „/“. Wenn Sie Ihren Endpunkt jedoch in einem anderen Pfad konfiguriert haben, können Sie den URL-Pfad angeben, z. B. „/health“, und HAProxy sendet die GET-Anfrage an ihn.

Basierend auf Ihrem Endpunkt ermittelt der Server anhand der Antwort den Status des Servers. So implementieren Sie es:

Beispiel 4: Angeben eines GET-Anforderungspfads und eines Antwortstatus

Mit einem Endpunkt können Sie angeben, welche erfolgreiche Antwort von der GET-Anfrage des Endpunkts erwartet werden soll, um den Status des Servers zu ermitteln. In diesem Beispiel ist unser GET-Anforderungspfad „/health“, und wir erwarten einen Antwortstatus von 200, um zu bestätigen, dass der Server in gutem Zustand ist, um den Lastausgleich und andere Aufgaben zu bewältigen.

Nachdem Sie Ihre HAProxy-Konfigurationsdatei geändert haben, starten Sie HAProxy neu, damit die Änderungen wirksam werden.

Das ist es! Sie haben die effektiven Gesundheitschecks auf Ihrem HAProxy implementiert. Sie können auf die Statistikseite zugreifen oder die Protokolldatei mit dem folgenden Befehl überprüfen, um zu bestätigen, dass die Integritätsprüfungen wie erwartet funktionieren:

$ tail -f /var/log/haproxy.log

Abschluss

Sie können einen effektiven Gesundheitscheck in HAProxy auf verschiedene Arten umsetzen. Die Integritätsprüfungen werden im Backend-Abschnitt der HAProxy-Konfigurationsdatei implementiert, und in diesem Beitrag wurden verschiedene Beispiele dafür gegeben. Prüfen Sie Ihre ideale Methode und führen Sie bequem einen effektiven Gesundheitscheck in HAProxy durch.