Настройка передачи событий HAProxy

01 октября 2026

ID 311231

Чтобы настроить передачу событий HAProxy:

  1. Проверьте синтаксис в конфигурационном файле на наличие ошибок, выполнив команду:

    haproxy -c -V -f /etc/haproxy/haproxy.cfg

    Возможные сообщения при проверке конфигурационного файла

  2. Если проверка синтаксиса прошла успешно, выполните резервное копирование исходного конфигурационного файла с помощью следующей команды:

    sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy_backup.cfg

  3. Откройте конфигурационный файл haproxy.cfg, выполнив следующую команду:

    sudo vi /etc/haproxy/haproxy.cfg

    Дальнейшие шаги инструкции предполагают, что для всех групп серверов применяются единые параметры записи в журнал. В этом случае параметры записи в журнал указываются в секции global, а в секции defaults используется строка log global.

    Если требуется более детальная настройка записи в журнал, нужно удалить строку log global из секции defaults. Так как секции frontend, backend и listen по умолчанию наследуют параметры из секции defaults, это приведет к отключению глобальной записи в журнал. В таком случае необходимо определить параметры записи в журнал в каждой секции, добавив строку следующего вида:

    log <IP_адрес_коллектора_KUMA> [len <длина_в_байтах>] [format <формат_syslog_сообщения>] [sample <диапазоны>:<размер_выборки>] <facility> [<уровень> [<минимальный_уровень>]]

  4. В секции global укажите IP-адрес коллектора KUMA:

    log <IP-адрес_коллектора>:<порт>

  5. В секции global добавьте следующую строку для добавления имени хоста в заголовок syslog:

    log-send-hostname <имя_хоста>

  6. В секции defaults добавьте строку для использования глобальных параметров записи в журнал:

    log global

  7. В секции defaults укажите формат журналирования:
    • Для балансировщиков 4 уровня (TCP):

      option tcplog

      Пример секции defaults с настроенными параметрами

    • Для балансировщиков 7 уровня (HTTP):

      option httplog

      Пример секции defaults с настроенными параметрами

  8. Если требуется включить запись в журнал HTTP-заголовков запроса, добавьте в секцию frontend или listen строку:

    capture request header <имя_заголовка> len <длина_заголовка_в_байтах>

    Каждый заголовок необходимо указывать отдельной строкой, например:

    capture request header User-agent len 50

    capture request header Host len 30

    capture request header X-Forwarded-For len 15

  9. Если требуется включить запись в журнал HTTP-заголовков ответа, добавьте в секцию frontend или listen строку:

    capture response header <имя_заголовка> len <длина_заголовка_в_байтах>

    Каждый заголовок необходимо указывать отдельной строкой, например:

    capture response header User-agent len 50

    capture response header Host len 30

    capture response header X-Forwarded-For len 15

  10. Если требуется включить запись в журнал HTTP-cookie, добавьте в секцию frontend или listen строку:

    capture cookie <имя_cookie> len <размер_cookie_в_байтах>

    В журнал записывается только первый файл cookie с указанным именем.

  11. Проверьте синтаксис в конфигурационном файле на наличие ошибок с помощью команды haproxy -c -V -f /etc/haproxy/haproxy.cfg, как описано в пункте 1.
  12. Перезагрузите конфигурацию, выполнив следующую команду:

    sudo systemctl reload haproxy

  13. Проверьте, что балансировщик нагрузки HAProxy запущен и работает правильно, выполнив следующую команду:

    sudo systemctl status haproxy

Передача событий из HAProxy будет настроена.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!