Haproxy 配置:如何过滤健康检查日志并记录所有业务请求
要实现这个配置,你可以使用 haproxy 的日志格式和日志过滤功能。下面是一个示例配置:
global
log /dev/log local0
log /dev/log local1 notice
defaults
log global
mode http
option httplog
frontend http-in
bind *:80
default_backend servers
backend servers
server server1 192.168.0.1:80 check
option log-health-checks
log-format '%ci:%cp\ [%t]\ %ft\ %b/%s\ %Tq/%Tw/%Tc/%Tr/%Tt\ %ST\ %B\ %cc\ %cs\ %tsc\ %ac/%fc/%bc/%sc/%rc\ %sq/%bq\ %hr\ %hs\ %{+Q}r'
http-request set-log-level silent if { path -i -m beg /healthcheck }
上述配置中,我们首先指定了全局的日志设备和日志等级。然后,在默认配置中,我们使用了全局的日志格式,并设置了 HTTP 模式和 HTTP 日志选项。
在前端配置中,我们绑定了 80 端口,并将默认请求转发到后端服务器。在后端服务器配置中,我们指定了一个服务器,并启用了健康检查日志记录选项。我们还定义了一个特殊的日志格式,其中包含了各种请求和响应的详细信息。
最后,我们使用 http-request 指令设置了一个静默日志级别,以便将所有以 '/healthcheck' 开头的请求的日志级别设置为 silent,这样这些请求的日志将不会被记录。
通过这个配置,你将能够记录所有的业务请求日志,但不包含正常的健康检查日志。任何检查不正常的日志都会被记录。
原文地址: https://www.cveoy.top/t/topic/qgsg 著作权归作者所有。请勿转载和采集!