Я пытаюсь понять, почему я время от времени получаю 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'