Estou usando o HAProxy 1.4.18 com a seguinte configuração de back-end
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
Os servidores estão executando vários aplicativos no apache / passenger.
A combinação de httpchk e disable-on-404 permite o desligamento normal e a remoção de um servidor do lb com bastante facilidade, enquanto ainda é possível acessar diretamente (ou seja, para testes).
Estou tentando configurar o observe para desativar um servidor quando um aplicativo não está funcionando. Eu quebrei a configuração do aplicativo em staging02, para que ele sempre retorne 500. Ele está corretamente marcado como BAIXO após os primeiros 500, mas depois marcado com UP no próximo httpchk.
Aqui está o arquivo de log:
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 uma maneira de combinar esses dois cheques?