Używam HAProxy 1.4.18 z następującą konfiguracją zaplecza
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
Na serwerach działa wiele aplikacji na serwerze Apache / pasażer.
Kombinacja httpchk i disable-on-404 pozwala na płynne zamknięcie i usunięcie serwera z funta dość łatwo, wciąż będąc w stanie uzyskać bezpośredni dostęp (tj. Do testowania).
Usiłuję skonfigurować obserwować, aby wyłączyć serwer, gdy aplikacja nie działa. Zerwałem konfigurację aplikacji na staging02, więc zawsze zwraca 500. Jest poprawnie oznaczona jako DOWN po pierwszych 500, a następnie oznaczona jako UP przy następnym httpchk.
Oto plik dziennika:
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.
Czy istnieje sposób na połączenie tych dwóch czeków?