CentOS6上でHAProxyのログをSyslog(rsyslog)に出力する方法をご紹介します。
HAProxyはSyslogにログ出力するとき、UDPの514番(Syslogの待受ポート)を利用します。
そこで下記のようにrsyslogの設定を変更する必要があります。
# cat /etc/rsyslog.conf
...
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
...
再起動すると有効になります。
# service rsyslog restart
...
HAProxyは下記のようにデフォルトのままで問題ありません。
また、インストールは、yumで簡単にできます。
# yum -y install haproxy
...
ログ関係の設定は下記のようになっており、Syslog(local2)に出力されます。
# cat /etc/haproxy/haproxy.cfg
...
global
log 127.0.0.1 local2
...
HAProxyを起動します。
# service haproxy start
...
そうすると、Syslogに下記のように出力されるはずです。
...
Mar 11 09:30:47 localhost.localdomain haproxy[31610]: Proxy main started.
Mar 11 09:30:47 localhost.localdomain haproxy[31610]: Proxy static started.
Mar 11 09:30:47 localhost.localdomain haproxy[31610]: Proxy app started.
...
Syslogに出力することができれば、あとはFluentdで自由自在です。