連載
» 2010年01月20日 00時00分 公開

OpenLDAPによるディレクトリサーバ運用(3):ものいわぬOpenLDAPサーバのログ管理 (1/3)

ユーザー情報や組織情報などを一元的に管理するディレクトリサーバは、企業システムの中で重要な役割を果たしています。オープンソースの「OpenLDAP」によるディレクトリサーバの構築方法を解説した前連載に続き、その運用方法を紹介していきます。(編集部)

[菊池研自,伊藤忠テクノソリューションズ株式会社]

 不満をいわないコンピュータが相手だからこそ、サーバ管理者は常にログが確認できる状態を整備し、日々の運用状況を把握できるよう努めているはずです。今回と次回、2回に分けて、OpenLDAPサーバのログ管理について説明していきます。

OpenLDAPサーバのログ出力

 残念ながらOpenLDAPサーバは、インストールしたそのままの状態でログを記録するようには設定されていません。これは、肥大化するログがディスク領域を圧迫したり、パフォーマンスに影響を与えやすいディスクへの書き込みが少ない設定でもあります。

 しかしながらこのままの設定では、日々起こり得る、OpenLDAPサーバにとって不都合な事象を見逃して、不安定な運用にもつながりかねません。また、いざ障害が発生したときに、その原因を追究し、再発防止を検討する糸口を得られなかったりする可能性もあります。このため、管理上有効な情報はログとして記録し、定期的に古いログを削除できる設定が必要になります。

 OpenLDAPサーバは、デフォルトでsyslogのLOCAL4ファシリティにログを送付しています。このため、syslog.confファイルの設定を変更することで、syslogがOpenLDAPサーバのログを受けて記録できるようになります。

# vi /etc/syslog.conf
[...略...]
local4.*                          /var/log/ldap.log ←この行を追加

# service syslog restart

ログレベルの選択

 次は、必要なログのみを出力するようにログレベルをカスタマイズする方法を説明します。OpenLDAPサーバのログは、次の一覧に示す値を用いて、1つまたは複数のログ出力内容を選択できます。

ログレベル(10進数) ログレベル(16進数) ログレベル(文字列) ログ出力内容
-1 - any すべてのログを出力
0 - - まったくログを出力しない
1 0x1 trace 内部の関数呼び出し
2 0x2 packets パケット操作
4 0x4 args 処理の詳細なトレース
8 0x8 cons コネクション管理
16 0x10 BER パケット送受信
32 0x20 filter 検索フィルタ処理
64 0x40 config 設定ファイルの処理
128 0x80 ACL アクセス制御リストの処理
256 0x100 stats ステータスログ(デフォルト)
512 0x200 stats2 ステータスログ2
1024 0x400 shell シェルバックエンドとの通信
2048 0x800 parse エントリの解析
16384 0x4000 sync syncrepl コンシューマ処理
32768 0x8000 none 設定に依存しない最低限の出力のみ

 デフォルトでは10進数で“256”、または文字列で“stats”に当たるログがsyslogに送付されています。デフォルト設定では、基本的なOpenLDAPサーバの管理に有効な

  • クライアントからどのような接続要求があり、それは成功/またはなぜ失敗したか
  • どのようなLDAPの操作が行われ、それは成功/またはなぜ失敗したか

といった情報が記録されます。

 実運用時のログレベルの選択は、例えばデフォルトのログレベルなど、必要最低限の内容に絞っておくとよいでしょう。これは、ログの出力が、性能劣化やディスク領域の圧迫につながるからです。さらに、出力量が多くなる詳細なログを取得している場合は、多くの情報に埋もれ、かえって問題の概要がつかみにくくなってしまうという理由もあります。

 もちろん、すでに問題が発生している状況では、より詳細なログを取得し調査する必要があります。

ログレベルの変更

 ログレベルの指定は、次のように、slapd.confのグローバルセクションにloglevelディレクティブを用いて行うことができます。

# cd /usr/local/openldap-2.4.19
# vi etc/openldap/slapd.conf

[...略...]
                       ↓ 以下のどれか1行を設定
loglevel 129           ←10進数の128と、1を組み合わせて指定した例
loglevel 0x81          ←上記の設定を、16進数で指定した例
loglevel trace,ACL     ←上記の設定を、文字列で指定した例

 slapd.confファイルへの変更後は、OpenLDAPサーバを再起動する必要があります。

# cd /usr/local/openldap-2.4.19
# kill -INT `cat var/run/slapd.pid`
# ./libexec/slapd -u ldap

 再起動後は、LDAPクライアントからの接続を行いながら、syslog.confファイルに指定した出力先に、指定した内容のログが記録されることを確認しておきましょう。

# tail -f /var/log/ldap.log


       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。