feat(haproxy): switch to JSON logging format for improved log structure #96

Merged
Richie merged 1 commits from feature/moving-to-json-logs-for-haproxy into main 2026-10-13 09:10:21 -04:00
+10 -2
View File
@@ -1,13 +1,21 @@
global
log stdout format raw local0
# Structured HTTP log fields, grouped so the format remains editable here.
setenv HAPROXY_JSON_CLIENT "%(client_ip)ci %(client_port)cp"
setenv HAPROXY_JSON_ROUTING "%(frontend_name)ft %(backend_name)b %(server_name)s"
setenv HAPROXY_JSON_HTTP "%(http_method)HM %(request_path)HP %(http_version)HV %(status_code)ST %(bytes_sent)B"
setenv HAPROXY_JSON_TIMINGS "%(time_request_ms)TR %(time_wait_ms)Tw %(time_connect_ms)Tc %(time_response_ms)Tr %(time_total_ms)Ta"
setenv HAPROXY_JSON_RESULT "%(termination_state)tsc %(retries)rc"
setenv HAPROXY_JSON_CONNECTIONS "%(active_connections)ac %(frontend_connections)fc %(backend_connections)bc %(server_connections)sc %(server_queue)sq %(backend_queue)bq"
setenv HAPROXY_JSON_TLS "%(tls_sni)[ssl_fc_sni] %(tls_version)sslv %(tls_cipher)sslc %(tls_resumed)[ssl_fc_is_resumed]"
setenv HAPROXY_JSON_LOG "${HAPROXY_JSON_CLIENT} ${HAPROXY_JSON_ROUTING} ${HAPROXY_JSON_HTTP} ${HAPROXY_JSON_TIMINGS} ${HAPROXY_JSON_RESULT} ${HAPROXY_JSON_CONNECTIONS} ${HAPROXY_JSON_TLS}"
# stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
defaults
log global
mode http
option httplog
retries 3
log-format "%{+json}o ${HAPROXY_JSON_LOG}" retries 3
maxconn 2000
timeout connect 5s
timeout client 50s