[英]Haproxy not logging with rsyslog
我想在 HAProxy 中设置 HTTP 日志记录,但在让它正确输出请求时遇到了一些麻烦。
这是 HAProxy 相关配置:
global
log /dev/log local0
log /dev/log local1 notice
maxconn 200000
tune.ssl.default-dh-param 2048
user haproxy
group haproxy
daemon
stats socket /tmp/sock1 user root group root mode 777 level admin
defaults
log global
mode http
option httplog
option dontlognull
option httpclose
retries 3
option redispatch
maxconn 200000
backlog 20000
timeout connect 5s
timeout client 50s
timeout server 180000
balance roundrobin
cookie SERVERID rewrite
这是 /etc/rsyslog.d/haproxy.conf 文件:
# Create an additional socket in haproxy's chroot in order to allow logging via
# /dev/log to chroot'ed HAProxy processes
$AddUnixListenSocket /var/lib/haproxy/dev/log
# Send HAProxy messages to a dedicated logfile
if $programname startswith 'haproxy' then /var/log/haproxy.log
&~
在进行适当的更改以确保它们被选中后,我重新启动了 haproxy 和 rsyslogd。 /var/log/haproxy.log 甚至没有被创建。 任何帮助,将不胜感激。
rsyslog 配置假定 chroot 的 HAProxy,它与 haproxy 配置不匹配。 通过添加行来 chroot HAProxy
chroot /var/lib/haproxy
到 haproxy 配置的全局节,或更改 rsyslog 创建的套接字的位置
$AddUnixListenSocket /dev/log
在全局更改/添加下:
global
chroot /var/lib/haproxy
log /var/lib/haproxy/dev/log local0
log /var/lib/haproxy/dev/log local1 notice
... rest of your file
我在 Ubuntu 16.04 上遇到了完全相同的问题。 尝试重新启动 haproxy 和 syslog,但仍未创建 /var/log/haproxy.log。
我最终只是重新启动了服务器,并在启动时创建了 /var/log/haproxy.log。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.