haproxy 1.8版本沒有日誌輸出,參考1.7版本配置
阿新 • • 發佈:2018-11-10
一、問題、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,導致沒有日誌輸出