Назад | Перейти на главную страницу

Как настроить цель ping Amazon ELB для haproxy

Я пытаюсь настроить Amazon ELB для маршрутизации запросов на пару серверов haproxy. Для проверки работоспособности ELB требуется цель проверки связи с соответствующими серверами. Он использует index.html на порту 80. Я изо всех сил пытаюсь настроить index.html в haproxy. Вот моя конфигурация haproxy:


global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

defaults
    mode        http
    option      dontlognull
    option      httpclose
    option      httplog
    option      forwardfor
    option      redispatch
    option httpchk HEAD /index.html HTTP/1.0
    timeout connect 10000 # default 10 second time out if a backend is not found
    timeout client 300000
    timeout server 300000
    maxconn     60000
    retries     3

#
# Host HA-Proxy's web stats on Port 81.
listen stats :1936
    mode http
    stats enable
    stats hide-version
    stats realm Haproxy\ Statistics
    stats uri /
    stats auth Username:Password

frontend  main *:80
    log 127.0.0.1 local2
    capture request  header         X-Forwarded-For      len 500
    capture response header         X-Query-Result       len 100
    acl url_webapp                  path_beg -i /supporttoolbar
    acl url_jsonproxy               path_beg -i /proxy

backend webapp
    balance     roundrobin
    server      webapp1 10.100.86.xxx:80 check
backend jsonproxy
    balance     roundrobin
    server      webapp1 10.100.86.xxx:80 check

Страница html находится под / var / www / html /

Я пробовал добавить опция httpchk HEAD /index.html HTTP / 1.0 под значения по умолчанию раздел, но не работал.

Будем признательны за любые указатели.

Спасибо

Пожалуйста, взгляните на это суть. Он в основном описывает / настраивает то, что вам нужно:

# Create a monitorable URI which returns a 200 if at least 1 server is up.
# This could be used by Traverse/Nagios to detect if a whole server set is down.
acl servers_down nbsrv(servers) lt 1
monitor-uri /haproxy?monitor
monitor fail if

Я нашел альтернативу, добавив следующую запись в файл конфигурации Haproxy.


defaults
    mode        http
    option      dontlognull
    option      httpclose
    option      httplog
    option      forwardfor
    option      redispatch
    timeout connect 10000 # default 10 second time out if a backend is not found
    timeout client 300000
    timeout server 300000
    monitor-uri /index.html
    maxconn     60000
    retries     3

Вход монитор-uri /index.html запись сделала свое дело. Haproxy имеет встроенную проверку работоспособности, которая возвращает 200, если служба работает. Я просто издевался над ним, чтобы использовать /index.html, который распознает Amazon ELB.