HAProxy is frequently used as a load-balancer in front of a Galera cluster. While diagnosing an issue with HAProxy configuration, I realized that logging doesn’t work out of the box on CentOS 6.5. Here is a simple recipe to fix the issue.
If you look at the top of
/etc/haproxy/haproxy.cfg, you will see something like:
log 127.0.0.1 local2
This means that HAProxy will send its messages to rsyslog on 127.0.0.1. But by default, rsyslog doesn’t listen on any address, hence the issue.
/etc/rsyslog.conf and uncomment these lines:
This will make rsyslog listen on UDP port 514 for all IP addresses. Optionally you can limit to 127.0.0.1 by adding:
Now create a
/etc/rsyslog.d/haproxy.conf file containing:
You can of course be more specific and create separate log files according to the level of messages:
Then restart rsyslog and see that log files are created:
# service rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
# ls -l /var/log | grep haproxy
-rw-------. 1 root root 131 3 oct. 10:43 haproxy-allbutinfo.log
-rw-------. 1 root root 106 3 oct. 10:42 haproxy-info.log
Now you can start your debugging session!