Logging
如何讓 haproxy 登錄到 systemd/journald?
我有一個想與 haproxy 一起使用的目前一代 Linux 系統。Journald 會很高興地從 記錄 stdout
.service
,並將日誌標記為來自該服務,但haproxy 似乎無法記錄到 stdout。讓 haproxy 登錄到 systemd/journald 的最簡單和最乾淨的方法是什麼?
編輯:目前配置是預設配置:
global log 127.0.0.1 local2
但是沒有
local2
設施,因為本地盒子上沒有系統日誌。
Systemd 有一個 Unix 域套接字,您可以登錄到:
global log /dev/log local0 info
然後
systemctl restart haproxy
使更改生效。
這個答案適用於那些苦苦掙扎的人。haproxy_global.cfg =>
global log 127.0.0.1:514 local0 defaults mode http log global log-format "%ci:%cp [%tr] %ft %b/%s %TR/%Tw/%Tc/%Tr/%Ta %ST %B %CC %CS %tsc %ac/%fc/%bc/%sc/%rc %sq/%bq %hr %hs %{+Q}r"
/etc/rsyslog.d/haproxy.conf =>
# Collect log with UDP $ModLoad imudp $UDPServerAddress 127.0.0.1 $UDPServerRun 514 $AddUnixListenSocket /var/lib/haproxy/dev/log # Send HAProxy messages to a dedicated logfile :programname, startswith, "haproxy" { /var/log/haproxy/haproxy.log stop }
/etc/logrotate.d/haproxy =>
/var/log/haproxy/haproxy.log { missingok notifempty sharedscripts rotate 14 daily compress postrotate reload rsyslog >/dev/null 2>&1 || true endscript }