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

Разрешение HAProxy BADREQ с помощью socat

Я пытаюсь понять, почему я время от времени получаю BADREQ, используя "показать ошибки" в socat. Проблема в том, что показывает только последнюю ошибку. Я хочу видеть их все (например, с помощью tail -f ... | grep something).

может кто-нибудь подскажите, пожалуйста, как я могу постоянно показывать эти BADREQ? с сокатом или без?

Настоящая проблема в том, что я получаю сообщения BADREQ в журнале haproxy, но [echo "показать ошибки" | socat unix-connect: /var/run/haproxy.sock stdio] их не отлавливает. Это что-то с конфигурацией haproxy?

возможно, увеличивающийся счетчик означает отсутствие настоящих «плохих запросов», но такие вещи, как сканирование портов, как упомянуто в https://serverfault.com/a/202654/227214 ?

Я также заметил увеличение badreq-counter без совпадения записей в «показать ошибки».

Поскольку шоу ошибок определяется как:

show errors : report last request and response errors for each proxy

Я думаю, тебе не повезло. Однако с помощью небольшого сценария оболочки вы сможете собрать достаточно из них в файл, чтобы добраться до сути:

#Run the command every 10 seconds, appending to the errors file in the current directory
nohup bash -c 'while true; do echo "show errors" | socat stdio /var/run/haproxy-t1.stat; sleep 10; done >> errors'