나는 haproxy와 함께 사용하고 싶은 최신 세대의 Linux 시스템을 가지고 있습니다. Journald는 기꺼이 에서 stdout을 기록 .service
하고 로그가 해당 서비스에서 오는 것으로 표시하지만haproxy가 stdout에 로그인할 수 없는 것 같습니다..
haproxy가 systemd/journald에 로그인하도록 하는 가장 간단하고 깨끗한 방법은 무엇입니까?
편집하다: 현재 구성이 기본값입니다.
global
log 127.0.0.1 local2
local2
하지만 로컬 박스에 syslog가 없기 때문에 아무런 기능도 없습니다 .
답변1
Systemd에는 로그인할 수 있는 Unix 도메인 소켓이 있습니다.
global
log /dev/log local0 info
그런 다음 systemctl restart haproxy
변경 사항을 적용합니다.
답변2
이 대답은 어려움을 겪고 있는 사람들을 위한 것입니다. 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
}