Tenho um sistema Linux da geração atual que gostaria de usar com o haproxy. O Journald registrará alegremente stdout from .service
e marcará o log como proveniente desse serviço, mashaproxy não parece conseguir fazer logon no stdout.
Qual é a maneira mais simples e limpa de fazer com que o haproxy faça logon no systemd/journald?
Editar: a configuração atual é o padrão:
global
log 127.0.0.1 local2
Mas não há nenhuma local2
facilidade, pois não há syslog na caixa local.
Responder1
Systemd tem um soquete de domínio Unix no qual você pode fazer logon:
global
log /dev/log local0 info
Então, systemctl restart haproxy
para que as alterações tenham efeito.
Responder2
Esta resposta vale para aqueles que estão lutando. 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
}