Saya menggunakan HAProxy 1.4.18 dengan konfigurasi backend berikut
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
Server menjalankan beberapa aplikasi pada apache / penumpang.
Kombinasi httpchk dan disable-on-404 memungkinkan shutdown yang anggun dan menghapus server dari lb cukup mudah sementara masih dapat mengakses langsung (yaitu untuk pengujian).
Saya mencoba untuk mengatur pengamatan untuk menonaktifkan server ketika aplikasi tidak berfungsi. Saya telah merusak konfigurasi aplikasi pada staging02 sehingga selalu mengembalikan 500. Ini ditandai dengan benar BAWAH setelah 500 pertama tetapi kemudian ditandai ATAS di httpchk berikutnya.
Ini file lognya:
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.
Apakah ada cara untuk menggabungkan kedua cek itu?