Aşağıdaki arka uç yapılandırması ile HAProxy 1.4.18 kullanıyorum
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
Sunucular apache / yolcuda birden fazla uygulama çalıştırıyor.
Httpchk ve devre dışı bırakma-404 kombinasyonu, doğrudan erişebilmenin yanı sıra (örn. Test için) zarif bir kapanma ve sunucuyu lb'den kolayca kaldırmayı sağlar.
Bir uygulama çalışmadığında bir sunucuyu devre dışı bırakmak için gözlemlemek kurmaya çalışıyorum. Staging02 üzerinde uygulama yapılandırmasını kırdım, bu yüzden her zaman 500 döndürür. İlk 500'den sonra doğru AŞAĞI olarak işaretlenir, ancak bir sonraki httpchk'de UP olarak işaretlenir.
Günlük dosyası şöyledir:
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.
Bu iki kontrolü birleştirmenin bir yolu var mı?