为什么hostname从HAProxy系统日志消息中被截断

这是从我haproxy日志logging,我瞄准的sysloga和远程login到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" 

所以日志logging的主机名是messaging-service-proxy-staging而主机名是messaging-service-proxy-staging-vpc1

默认情况下,haproxy似乎只保留32个字符的主机名值。 development-haproxy.limecraft.c有31个,但最后也有'\ 0'。 我可以在haproxy.cfg的前端部分通过更改此configuration行来logging更长的主机名:

捕获请求头主机len 50