次は、「cn=Databases,cn=Monitor」以下の情報を見てみましょう。ここで出力される情報からは、稼働中の各バックエンドデータベースの構成情報や運用状況を確認できます。またさらに、すべてのバックエンドデータベースに共通する構成情報を見ることもできます。それでは、次のように検索を実行してください。
# cd /usr/local/openldap-2.4.23 |
検索を実行すると、図4のような結果になります。この出力結果も、図5のような構造をイメージすると分かりやすいでしょう。
先頭に現れる「cn=Databases,cn=Monitor」の部分を見ると、OpenLDAPの設定ファイルであるslapd.confのグローバルセクションに記述する設定内容を確認できます。これは、すべてのバックエンドデータベースを対象にした設定であり、例えばユーザーができる操作を制限する「restrict」や、データベースへの操作を読み出しだけに限定する「readOnly」といった設定項目を確認できます。
また、ここを見るとどのバックエンドデータベースが稼働中であるのかを確認できます。それぞれのバックエンドデータベースのDITのトップとなるDNが並ぶからです。これは、slapd.confでは「suffix」ディレクティブで指定するものです。
2番目に現れる「cn=Frontend,cn=Databases,cn=Monitor」も、すべてのデータベースに共通する情報を保持しています。Frontendは、各バックエンドへ設定を引き継ぐ特殊なデータベースです。このため、「cn=Databases,cn=Monitor」と同じように、restrictや、readOnlyディレクティブなどの設定を確認できます。
3番目以降の「cn=Database n,cn=Databases,cn=Monitor」には、slapd.confに記述した、バックエンドデータベースの設定内容が順々に現れます。注目すべき設定項目を見ていきましょう。
「monitoredInfo」は、バックエンドデータベースが使用しているデータベースの種類を表しています。「monitorIsShadow」を見ると、そのデータベースがほかのデータベースの複製であるかどうかが分かります。例えば、レプリケーション構成のスレーブなど、ほかのデータベースの複製である場合はTRUEになり、複製でないときはFALSEとなります。
「namingContexts」は、slapd.confファイルのsuffixディレクティブで設定する、各バックエンドデータベースのトップとなるDNを指します。モニタデータベースの場合は「monitorContext」という項目にトップDNが現れます。ただし、モニタデータベースはトップDNがcn=Monitorと決まっていますので、ほかのDNが現れることはありません。
「restrictedOperation」は、slapd.confファイルの「restrict」ディレクティブで設定した、ユーザーに許可しない操作を表示します。そして、「monitorUpdateRef」には、リダイレクト先のURLを表示します。例えば、レプリケーション構成のスレーブ側など、更新系処理のリダイレクトを設定しているときに現れる設定項目です。
ほかには、slapd.confファイルの「overlay」ディレクティブで設定した、オーバレイモジュールの名前を表示する「monitorOverlay」や、参考エントリを表示する「seeAlso」といった項目を見ると良いでしょう。
さらに、monitoredInfoがbdb、あるいはhdbの場合は表2に挙げた項目にも注目しましょう。「olmBDBEntryCache」「olmBDBDNCache」「olmBDBDNCache」の3項目は、第6回「ビシッと決めるチューニング:もう一絞り編」で説明した、OpenLDAPが持つ各種キャッシュの利用状況を示しています。そして、「olmDbDirectory」は、バックエンドデータベースのデータファイルを格納するディレクトリを表しています。これは、slapd.confファイルのdirectoryディレクティブに設定したものです。
オブジェクト | 提供する情報 |
---|---|
olmBDBEntryCache | エントリキャッシュの利用状況を表示 |
olmBDBDNCache | DNキャッシュの利用状況を表示 |
olmBDBIDLCache | IDリストキャッシュの利用状況を表示 |
olmDbDirectory | データディレクトリを表示 |
表2 cn=Database n,cn=Databases,cn=Monitorで確認できるキャッシュ関連の情報 |
今回は、OpenLDAPのモニタ機能を利用するための設定と、情報を取得する方法、そして構成情報を保持するオブジェクトの中から「Backends」と「Databases」の中身を解説しました。
次回は、構成情報を保持するほかのオブジェクトの内容に迫っていきます。お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.