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で自由自在です。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら