Я настроил haproxy с option log-separate-errors
чтобы иметь возможность регистрировать ошибочные запросы в отдельном файле журнала. Однако при использовании этой опции все запросы отправляются в файл журнала, хотя я выполняю фильтрацию на уровне системного журнала. error
.
Я уже дважды проверил, работает ли моя фильтрация, используя собственный формат журнала, который показывает %pri-text%
- сообщения действительно отправляются на уровне системного журнала error
.
Сам экземпляр haproxy работает нормально в продакшене, проблем вообще не вижу, запросы 2хх или 3хх. Любые подсказки, как продолжить отладку, или что я делаю не так?
Я использую haproxy 1.4.18.
Чтобы продолжить здесь:
Я ошибся: в лог-файл отправлялись не все запросы, а большинство. Это произошло из-за того, что многие довольно обычные вещи считаются ошибкой haproxy, например, флаги ошибок CD--
являются просто сеансом поддержания активности, который сначала завершается клиентом, что, по-видимому, происходит часто.
Я решил отфильтровать это, даже если это технически ошибка, поскольку я ничего не могу изменить или исправить, а просто похоронит действительно важные ошибки под большой нагрузкой. Вот конфигурация системного журнала, которую я наконец использовал: https://github.com/till/easybib-cookbooks/blob/8a4e0debf814743e9dd3bb603e4845ad88ecd64b/haproxy/templates/default/haproxy-logs.erb