Вопрос или проблема
Я включаю статистику с помощью подобной конфигурации:
global
log /var/run/log local0 info
defaults
log global
listen stats
bind *:9090
stats enable
stats auth secret:pass
stats refresh 5s
stats show-legends
stats show-node
stats uri /stats
Они работают, но теперь я хотел бы узнать, есть ли способ предотвратить запись логов статистики. В настоящее время в моих логах есть несколько строк, например:
Connect from x.x.x.x:33970 to y.y.y.y:9090 (stats/HTTP)
Есть ли идея, как предотвратить запись запросов статистики?
Я уже пробовал в определениях listen stats
без успеха:
http-request set-log-level silent
Я использую опцию dontlog-normal в конфигурации фронтенда – http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#4-option%20dontlog-normal и больше не получаю записи в логах для /stats
frontend stats
bind *:8404
# Включить Prometheus Exporter
http-request use-service prometheus-exporter if { path /metrics }
stats enable
stats uri /stats
stats refresh 10s
option dontlog-normal
Ответ или решение
Для отключения логирования запросов к статистическому интерфейсу HAProxy, вам следует использовать директиву option dontlog-normal
в конфигурации вашего фрейта. Это позволит предотвратить запись обычных логов для определённых запросов, включая запросы к вашему статистическому интерфейсу.
Вот пример конфигурации, который вам может помочь:
global
log /var/run/log local0 info
defaults
log global
frontend stats
bind *:9090
# Включаем аутентификацию
stats auth secret:pass
stats refresh 5s
stats show-legends
stats show-node
stats uri /stats
# Отключаем обычные логи для этого интерфейса
option dontlog-normal
# Пример секции listen, если она вам нужна
listen stats
bind *:9090
stats enable
stats uri /stats
stats refresh 5s
stats auth secret:pass
stats show-legends
stats show-node
option dontlog-normal
В этом примере вы сначала создаёте секцию frontend
с именем stats
, где устанавливается bind
и другие параметры для статистического интерфейса. Ключевой момент здесь – использование option dontlog-normal
, который предотвращает запись логов о стандартных HTTP-запросах, включая запросы к /stats
.
Если вы хотите, чтобы статистика продолжала работать, но не захватывала запросы к ней в логи, этот подход решит вашу проблему. В результате вы не будете видеть такие строки в логах, как:
Connect from x.x.x.x:33970 to y.y.y.y:9090 (stats/HTTP)
Таким образом, с использованием option dontlog-normal
можно эффективно управлять логированием для различных частей вашей конфигурации HAProxy.