OpenLDAP と仲間たち Advent Calendar 2015 16日目。
OpenLDAPは通常syslogを経由してファイルに出力しますが、分散構成で運用することが多いLDAPではログを一箇所に集めたいことがあります。 こんな時fluentdを利用するとログを別のサーバーで集中管理したり、RDMBSやNoSQLなどに投入して分析することが簡単になります。
rsyslogの設定
DebianやCentOS付属のopenldapはデフォルトでsyslogのlocal4 facilityにログを出力します。 したがって、rsyslogを以下のように設定してrsyslogを再起動すると /var/log/ldap.log にログを出力するようになります。
/etc/rsyslog.conf:
local4.* -/var/log/ldap.log
fluentdのインストール
こちらから各種ディストリビューションに対応するtd-agentをインストールしてください。
fluentd(td-agent)の設定
/etc/td-agent/td-agent.conf は以下のように設定します。
<source>
type tail
path /var/log/ldap.log
pos_file /var/log/td-agent/ldap.log.pos
tag openldap.stats
format syslog
</source>
これでOpenLDAPのアクセスログを別サーバーに転送したり、NoSQLやRDBMS投入したり、クラウド上に保管したりなど、柔軟なログ管理ができるようになります。