Решение HADroxy BADREQ с использованием socat

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

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

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

2 ответа

Так как ошибки показа определяются как:

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'

Может быть, увеличение счетчика означает не настоящие "плохие запросы", а такие вещи, как сканирование портов, как указано в /questions/261779/tainstvennyie-oshibki-zaprosa-haproxy/261786#261786?

Я также замечаю увеличение счетчиков bad req без совпадения записей в "Показать ошибки".

Другие вопросы по тегам