Ich verwende HAProxy 1.4.18 mit der folgenden Backend-Konfiguration
backend staging
option httpchk HEAD /check.txt HTTP/1.0
http-check disable-on-404
default-server error-limit 1 on-error mark-down
server staging01 x.x.x.x:80 check observe layer7
server staging02 x.x.x.x:80 check observe layer7
Auf den Servern werden mehrere Anwendungen auf Apache / Passenger ausgeführt.
Die Kombination von httpchk und disable-on-404 ermöglicht ein ordnungsgemäßes Herunterfahren und Entfernen eines Servers aus dem lb, während der direkte Zugriff (dh zum Testen) weiterhin möglich ist.
Ich versuche, Observ einzurichten, um einen Server zu deaktivieren, wenn eine Anwendung nicht funktioniert. Ich habe die Anwendungskonfiguration in staging02 unterbrochen, sodass immer eine 500 zurückgegeben wird. Sie ist nach den ersten 500 korrekt mit DOWN markiert, beim nächsten httpchk jedoch mit UP.
Hier ist die Protokolldatei:
Server staging/staging02 is DOWN, reason: Health analyze, info: "Detected 1 consecutive errors, last one was: Wrong http response". 1 active and 1 backup servers left. 2 sessions active, 0 requeued, 0 remaining in queue.
Server staging/staging02 is DOWN, reason: Health analyze, info: "Detected 1 consecutive errors, last one was: Wrong http response". 1 active and 1 backup servers left. 1 sessions active, 0 requeued, 0 remaining in queue.
Server staging/staging02 is UP, reason: Layer7 check passed, code: 200, info: "OK", check duration: 0ms. 2 active and 1 backup servers online. 0 sessions requeued, 0 total in queue.
Gibt es eine Möglichkeit, diese beiden Prüfungen zu kombinieren?