J'utilise HAProxy 1.4.18 avec la configuration backend suivante
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
Les serveurs exécutent plusieurs applications sur apache / passager.
La combinaison de httpchk et disable-on-404 permet un arrêt gracieux et la suppression d'un serveur de la lb assez facilement tout en pouvant accéder directement (c'est-à-dire pour les tests).
J'essaie de configurer Observer afin de désactiver un serveur lorsqu'une application ne fonctionne pas. J'ai cassé la configuration de l'application sur staging02 donc il retourne toujours un 500. Il est correctement marqué DOWN après les 500 premiers mais ensuite marqué UP au prochain httpchk.
Voici le fichier journal:
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.
Existe-t-il un moyen de combiner ces deux contrôles?