我已经将 HAProxy 服务器配置为在 chroot jail 中运行,将消息记录到 syslog 套接字。我的问题是,当前记录的唯一消息是 haproxy 启动时的消息。
May 26 10:42:37 dev haproxy[13986]: Proxy my_listener started.
我创建了一个名为 haproxy 的用户和组,然后执行以下操作:
su -l haproxy
mkdir jail
mkdir -m 2750 jail/dev
chmod a-w jail
我的 haproxy 配置中的相关行如下:
global
chroot /home/haproxy/jail
daemon
group haproxy
node haproxy
log /home/haproxy/jail/dev/log local0
defaults
log global
option tcplog
syslogd 正在使用该选项启动-a /home/haproxy/jail/dev/log
,并且我已将以下行添加到/etc/syslog.conf
local0.* -/var/log/haproxy.log
jail/dev 上的 ls -la 给出
drwxrws--- 2 haproxy haproxy 4096 May 26 11:07 .
dr-xr-x--x 3 haproxy haproxy 4096 May 26 11:01 ..
srw-rw-rw- 1 root haproxy 0 May 26 11:07 log
运行 Centos 5.5 和 HAProxy 1.4.21。正如我所说,我只看到侦听器启动消息,haproxy.log
没有其他消息。
答案1
这里的问题是需要从 chroot jail 目录指定 syslog 套接字的路径。下面为我修复了这个问题
global
log /home/haproxy/jail/dev/log local0
defaults
log /dev/log local0
一个小问题是,如果重新加载,已启动的消息会出现在停止消息之前,但我可以忍受。