为什么主机名从 HAProxy 系统日志消息中被截断

为什么主机名从 HAProxy 系统日志消息中被截断

这是我的 haproxy 日志记录的一部分,其中我以 sysloga 为目标并远程记录到 papertrail,使用选项log-send-hostname在日志消息中显示主机名,而不是localhost

global
  log logs2.papertrailapp.com:12345   local0
  log 127.0.0.1   local1 info
  log-send-hostname

日志消息示例:

Aug 11 01:43:21 messaging-service-proxy-staging haproxy[10496]: 50.242.120.110:49337 [11/Aug/2015:01:43:21.436] http test-backend/elb 4/0/1/5/10 404 487 - - ---- 0/0/0/0/0 0/0 "GET / HTTP/1.1"

Aug 11 01:43:21 messaging-service-proxy-staging haproxy[10496]: 50.242.120.110:49338 [11/Aug/2015:01:43:21.606] http test-backend/elb 4/0/1/6/11 404 487 - - ---- 0/0/0/0/0 0/0 "GET / HTTP/1.1"

因此记录的主机messaging-service-proxy-staging名是messaging-service-proxy-staging-vpc1

答案1

默认情况下,haproxy 似乎只保留主机名值中的 32 个字符。development-haproxy.limecraft.c 有 31 个字符,但末尾还有 '\0'。我可以通过更改 haproxy.cfg 中前端部分的此配置行来记录更长的主机名:

捕获请求头Host len 50

相关内容