1. 程式人生 > >haproxy 1.8版本沒有日誌輸出,參考1.7版本配置

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

在這裡插入圖片描述

  • 重新修改回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,導致沒有日誌輸出

參考