ユーザー情報や組織情報などを一元的に管理するディレクトリサーバは、企業システムの中で重要な役割を果たしています。オープンソースの「OpenLDAP」によるディレクトリサーバの構築方法を解説した前連載に続き、その運用方法を紹介していきます。(編集部)
不満をいわないコンピュータが相手だからこそ、サーバ管理者は常にログが確認できる状態を整備し、日々の運用状況を把握できるよう努めているはずです。今回と次回、2回に分けて、OpenLDAPサーバのログ管理について説明していきます。
残念ながらOpenLDAPサーバは、インストールしたそのままの状態でログを記録するようには設定されていません。これは、肥大化するログがディスク領域を圧迫したり、パフォーマンスに影響を与えやすいディスクへの書き込みが少ない設定でもあります。
しかしながらこのままの設定では、日々起こり得る、OpenLDAPサーバにとって不都合な事象を見逃して、不安定な運用にもつながりかねません。また、いざ障害が発生したときに、その原因を追究し、再発防止を検討する糸口を得られなかったりする可能性もあります。このため、管理上有効な情報はログとして記録し、定期的に古いログを削除できる設定が必要になります。
OpenLDAPサーバは、デフォルトでsyslogのLOCAL4ファシリティにログを送付しています。このため、syslog.confファイルの設定を変更することで、syslogがOpenLDAPサーバのログを受けて記録できるようになります。
# vi /etc/syslog.conf |
次は、必要なログのみを出力するようにログレベルをカスタマイズする方法を説明します。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サーバの管理に有効な
といった情報が記録されます。
実運用時のログレベルの選択は、例えばデフォルトのログレベルなど、必要最低限の内容に絞っておくとよいでしょう。これは、ログの出力が、性能劣化やディスク領域の圧迫につながるからです。さらに、出力量が多くなる詳細なログを取得している場合は、多くの情報に埋もれ、かえって問題の概要がつかみにくくなってしまうという理由もあります。
もちろん、すでに問題が発生している状況では、より詳細なログを取得し調査する必要があります。
ログレベルの指定は、次のように、slapd.confのグローバルセクションにloglevelディレクティブを用いて行うことができます。
# cd /usr/local/openldap-2.4.19 |
slapd.confファイルへの変更後は、OpenLDAPサーバを再起動する必要があります。
# cd /usr/local/openldap-2.4.19 |
再起動後は、LDAPクライアントからの接続を行いながら、syslog.confファイルに指定した出力先に、指定した内容のログが記録されることを確認しておきましょう。
# tail -f /var/log/ldap.log |
Copyright © ITmedia, Inc. All Rights Reserved.