一、问题、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
- 重新修改回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
}
四、haproxy常见问题
- sudo service haproxy reload 出现HAProxy: [ALERT] sendmsg logger #2 failed: Resource temporarily unavailable
# 将10改成100,max_dgram_qlen:域通信 Socket 在数据报( UDP )方式下,队列里最大数据报个数
vim /proc/sys/net/unix/max_dgram_qlen
sudo service rsyslog restart
# 保持修改,创建sysctl配置,To make changes persistent, create sysctl settings
sudo su
echo "net.unix.max_dgram_qlen = 100" > /etc/sysctl.d/dgram_qlen.conf
总结
- 猜测,安装haproxy1.8时候,生成/etc/rsyslog.d/49-haproxy.conf配置,但是没有重启rsyslog,导致没有日志输出