Il est très intéressant de pouvoir écrire dans un fichier de log les erreurs de HAProxy. Cela peut aussi servir dans le cas d’un debug.
Les logs de HAProxy peuvent être activés en ajoutant cette ligne dans le fichier de configuration haproxy.cfg.
log 127.0.0.1 local0
Il suffit ensuite de créer ce fichier /etc/rsyslog.d/10-haproxy.conf avec le contenu suivant :
$ModLoad imudp
$UDPServerRun 514
$template Haproxy,"%msg%\n"
local0.=info -/var/log/haproxy.log;Haproxy
local0.notice -/var/log/haproxy.notice;Haproxy
local0.* ~
On relance Rsyslog :
/etc/init.d/rsyslog restart
Avec ceci, tous les logs de type info vont être écrit dans le fichier /var/log/haproxy.log.
Les types notice iront dans le fichier /var/log/haproxy.notice.
Pour finir, les fichiers de logs peuvent être tournés via rotatelog, il faut ajouter cette configuration dans /etc/logrotate.d/haproxy :
/var/log/haproxy.log {
missingok
notifempty
sharedscripts
rotate 14
daily
compress
postrotate
reload rsyslog >/dev/null 2&>&1 || true
endscript
}