haproxy 1.8版本没有日志输出,参考1.7版本配置

一、问题、haproxy启动后,

  • 重新安装haproxy1.8版本,配置好haproxy.cfg,可以测试到转发效果,但是/var/log下没有haproxy.log日志,看不到请求链接数据以及重启haproxy.cfg信息

二、参考网上,修改/etc/haproxy/haproxy.cfg,但是日志并没有生成

global
	# log /dev/log	local0
	# log /dev/log	local1 notice
	log 127.0.0.1	local1 notice

三、对比haproxy1.7和haproxy1.8,/etc/rsyslog.d/49-haproxy.conf配置,发现有不同,将1.8的49-haproxy.conf,改成使用1.7,重启

、修改49-haproxy.conf测试,修改/etc/rsyslog.d/49-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
# :programname, startswith, "haproxy" {
#   /var/log/haproxy.log
#   stop
# }

if ($programname == 'haproxy') then -/var/log/haproxy/haproxy.log
& ~
  • 重启rsyslog和haproxy,可以看到日志
sudo service rsyslog restart
haproxy -c -f  /etc/haproxy/haproxy.cfg
sudo service rsyslog restart

haproxy 1.8版本没有日志输出,参考1.7版本配置

  • 重新修改回haprxoy1.8的配置,重启rsyslog和haproxy,也可以看到日志
 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
:programname, startswith, "haproxy" {
  /var/log/haproxy.log
  stop
}

总结

  • 猜测,安装haproxy1.8时候,生成/etc/rsyslog.d/49-haproxy.conf配置,但是没有重启rsyslog,导致没有日志输出

参考