Tôi đang sử dụng HAProxy 1.4.18 với cấu hình phụ trợ sau
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
Các máy chủ đang chạy nhiều ứng dụng trên apache / hành khách.
Sự kết hợp giữa httpchk và vô hiệu hóa trên 404 cho phép tắt máy một cách duyên dáng và loại bỏ một máy chủ khỏi lb khá dễ dàng trong khi vẫn có thể truy cập trực tiếp (tức là để thử nghiệm).
Tôi đang cố gắng thiết lập quan sát để vô hiệu hóa máy chủ khi ứng dụng không hoạt động. Tôi đã phá vỡ cấu hình ứng dụng trên staging02 để nó luôn trả về 500. Nó được đánh dấu chính xác XUỐNG sau 500 đầu tiên nhưng sau đó được đánh dấu LÊN tại httpchk tiếp theo.
Đây là tệp nhật ký:
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.
Có cách nào để kết hợp hai kiểm tra đó không?