Балансировка нагрузки TCP с HAProxy

Я хочу установить балансировщик нагрузки для сообщений syslog-ng, поэтому, скажем, несколько ящиков отправляют сообщения TCP 514 на внешний интерфейс ящика HAProxy — 192.168.0.20, и есть один сервер Graylog, на который передаются эти сообщения — 10.0.0.2.

Ниже простейшая возможная конфигурация не работает.

режим по умолчанию tcp

основная привязка внешнего интерфейса 192.168.0.20:514 use_backend Graylog

внутренний сервер Graylog Graylog1 10.0.0.2:514

Tcpdump показывает, что HAProxy отправляет флаг RST во входящие сообщения на 514. Думаю, я должен увидеть, как HAProxy прослушивает 514 с помощью netstat?


person drJAK    schedule 15.04.2015    source источник


Ответы (2)


RST для пакета SYN означает, что порт не открыт для подключения. Используйте утилиту netstat, чтобы определить, открыты ли порты. RST также может быть отправлен, когда объект хочет закрыть установленное соединение навсегда.

person Prabhu    schedule 15.04.2015
comment
Спасибо, вы правы, это то, что я имел в виду, когда писал: «Я считаю, что должен увидеть, как HAProxy прослушивает 514 с помощью netstat?». Я не вижу, чтобы HAproxy прослушивал 514 (или любой другой порт), так что это цель этого поста. Не уверен, почему haproxy не открывает ни один из портов (пробовал также с http, smtp). - person drJAK; 15.04.2015
comment
На вопрос нет ответа, скорее вы хотите узнать, как настроить балансировку нагрузки TCP на HAProxy. Но спасибо, что заглянули - person drJAK; 15.04.2015

Вот конфиг, который должен работать. Вы должны быть root (или sudo), чтобы привязаться к порту 514.

defaults
    mode tcp
    timeout connect 5000ms
    timeout client 50000ms

listen graylog
    bind *:514
    mode tcp
    balance roundrobin
    server graylog1 10.0.0.1:514
    server graylog2 10.0.0.1:514
    timeout connect 20s
    timeout server 30s
person sbzoom    schedule 07.10.2016