Enable or fix logging for HAProxy load balancer
After configuration of HAProxy to balance web traffic, I’ve noticed that HAProxy is not generating any logs in my server. Due to its load balancer role, logging is vital to diagnose any issue that might come in future.
In its default config, HAProxy send logs to a syslog facility: local0, via a socket connection. By default, your syslog configuration probably doesn’t accept socket connections, and even doesn’t have a local0 facility, so you have no HAProxy log. If you want it, configure syslog to accept TCP connections by adding -r to syslogd parameters.
On a RedHat/CentOS server, edit the value of SYSLOGD_OPTIONS in /etc/sysconfig/syslog:
SYSLOGD_OPTIONS=”-m 0 -r”
On a Debian/Ubuntu server, edit the value of SYSLOGD in /etc/default/syslogd:
SYSLOGD=”-r”
Then set up syslog facility local0 and direct it to file /var/log/haproxy.log or your desired location by editing /etc/syslog.conf:
local0.* /var/log/haproxy.log
finally, restart syslog service to apply changes:
service syslog restart