FluentdでOpenLDAPのログ管理

Wed, Dec 16, 2015

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投入したり、クラウド上に保管したりなど、柔軟なログ管理ができるようになります。