ヘッダーをスキップ
Oracle Access Manager IDおよび共通管理ガイド
10g(10.1.4.3)
B55478-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

10 ロギング

Oracle Access Managerコンポーネント・インスタンスでは、プロセスおよび状態に関する情報をログ・ファイルに書き込めます。ログを構成して、様々なレベルの粒度で情報を提供できます。たとえば、エラー、状態の情報を加えたエラー、またはデバッグ・トレースのレベルのエラー、状態およびその他の情報を記録できます。ログから機密情報を除外することもできます。

この章の内容は次のとおりです。


注意:

システム・イベント監査、診断、SNMPモニタリングなどの他のレポート機能の概要は、「レポート」を参照してください。

10.1 ロギング、ログ・レベルおよびログ出力について

ロギング機能により、システムのパフォーマンスおよび状態を分析し、問題をトラブルシューティングできます。

次のコンポーネントの個別のインスタンスのロギングを構成できます。

コンポーネント・インスタンスの異なる機能領域に対して別々のロギング・レベルを構成できます。たとえば、LDAPアクティビティのデバッグ・データを取得して、それ以外のすべてのコンポーネント・アクティビティではエラー・レベルのデータのみを記録できます。また、コンポーネントが処理する各リクエストで要する時間を記録し、異なるレベルのログ・データを別々の宛先に送信できます。たとえば、エラー情報をファイルに送信し、その他のログ・データをシステム・ログに送信できます。

機密情報の保護: Oracle Access Managerでは、ユーザーの機密情報が処理されます。サイトによって異なりますが、ユーザー・パスワード、誕生日、社会保障番号、ロスト・パスワード・リクエストに対するセキュリティ上の質問と回答などが含まれます。セキュリティ番号や保護の対象とするその他の情報も機密データに含めることができます。機密情報は、特定のロギング・レベルで取得されます。現在は、ログ・ファイルの機密情報をフィルタ処理できます(「機密属性のフィルタ処理」を参照してください)。

ロギングの構成: コンポーネントとともに格納される構成ファイルを編集して、ロギングを構成します。アイデンティティ・サーバーの場合のみ、アイデンティティ・システム・コンソールで設定できるロギングのパラメータもあります。「ログ構成ファイルのパスおよび内容について」を参照してください。

ロギング・レベル: 様々なレベルで、ロギングをリクエストできます。最上位レベルは「致命的」で、最下位レベルは「トレース」です。詳細は、「ログ・レベルについて」を参照してください。

ログ出力先: ログ構成ファイルでは、ログ・ライターと呼ばれるパラメータがログ出力の宛先を決定します。詳細は、「ファイルまたはシステム・ファイルへのログ出力の送信について」を参照してください。ログ・ライターまたはログ・レベルを識別して、ログ出力の完全な定義を作成します。この完全な定義はログ・ハンドラと呼ばれます。詳細は、「2番目の複合リストおよびログ・ハンドラ」を参照してください。

ロギング・パフォーマンス: パフォーマンスの問題の分析では、特定の操作を実行するのに要する時間に関するデータをログで取得できます。詳細は、「リクエストの処理に要する時間のロギング」を参照してください。

この項には、次の各項目が含まれます。

10.1.1 ログ・レベルについて

ロギング・レベルは、ログ・データ・ファイルに書き込まれるデータの量を決定します。各ロギング・レベルは累積的で、上位のレベルで生成されたすべてのデータが各レベルに含まれます。たとえば、エラー・ログには、致命的ログで生成されたすべてのデータに加えて、エラー・カテゴリに固有のイベントが含まれます。

表10-5にレベルを示します。デフォルトのログ・レベルは警告(LOGLEVEL_ WARNING)です。

表10-1 ロギング・レベル

レベル レポートされるイベント数 説明

LOGLEVEL_ FATAL

> 60

クリティカルなエラーを記録します。一般に、これらのイベントは、コンポーネントの終了の原因になります。

システム障害が発生した場合は、致命的レベルのメッセージが常にログ・ファイルにフラッシュされます。

LOGLEVEL_ ERROR

> 960

コンポーネントが使用できないなど、修正処理を必要とする可能性のあるイベントを記録します。エラー・ログは、別のコンポーネントへの接続失敗など、一時的または自己修正可能な問題に対して生成されることもあります。

LOGLEVEL_ WARNING

> 1200

将来のある時点でエラーを引き起こす、または修正処理を必要とする可能性のある問題を記録します。

LOGLEVEL_ INFO

> 400

コンポーネントの初期化中など、コンポーネントの完了したアクションまたは現在の状態を記録します。

LOGLEVEL_ DEBUG1

> 400

デバッグ情報を記録します。通常は、このレベルの情報は開発者にとってのみ意味があります。

LOGLEVEL_ DEBUG2

> 100

詳細なデバッグ情報を記録します。このレベルは、Debug1ログ・レベルを補強します。通常は、このレベルの情報は開発者にとってのみ意味があります。

LOGLEVEL_ DEBUG3

> 900

大量のデバッグ情報またはコードの高コスト部分に関連するデータをログ・ファイルに記録します。このレベルは、タイト・ループやパフォーマンスに敏感なファンクションのデバッグに役立ちます。通常は、このログ・レベルの情報は開発者にとってのみ意味があります。

これらログには、機密情報が含まれる場合があります。

LOGLEVEL_ TRACE

> 900 Oracle Access Manager API

> 150サード・パーティAPI

このログ・レベルは、コード・パス実行のトレースまたはパフォーマンス・メトリックの取得に使用されます。この情報は、各コンポーネント・ファンクションのエントリ・ポイントおよび終了ポイントで取得されます。通常は、このログ・レベルの情報は開発者にとってのみ意味があります。

これらログには、機密情報が含まれる場合があります。

LOGLEVEL_ ALL

> 5000

このレベルには、その他のレベルすべてのイベントおよび状態がすべて含まれます。


複合リスト: 隣接していないレベルからログ・データを収集し、異なるレベルのログ・データを別々の宛先に送信できます。たとえば、致命的ログをシステム・ログに送信し、エラー・ログをファイルに書き込めます。詳細は、「2番目の複合リストおよびログ・ハンドラ」を参照してください。

しきい値: グローバル・カットオフまたはしきい値を構成して、ログ構成ファイルのLOG_THRESHOLD_LEVELパラメータでロギングできます。デフォルトでは、ログ・ハンドラの構成済レベルがカットオフを超えると、ログ・データは収集されません。LOG_THRESHOLD_LEVELパラメータがログ・ハンドラで構成されたレベルに優先するため、構成済レベルにかかわらず、ログが書込みに失敗する場合があります。ログ構成ファイルのMODULE_CONFIGセクションのみがグローバルしきい値をオーバーライドします。詳細は、「単純なリスト、ロギングしきい値およびアイデンティティ・システム・コンソールの同期」を参照してください。

オーバーライド: グローバル・ロギングしきい値に対する機能固有またはモジュール固有のオーバーライドを、MODULE_CONFIGパラメータに指定します。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。


注意:

「トレース」および「デバッグ3」レベルのログには、機密情報が含まれる場合があります。機密情報の詳細は、「機密属性のフィルタ処理」を参照してください。

10.1.2 ログ・ファイルのスタック・トレース・データの取得について

コンポーネント・インスタンスのロギングが有効化されていて、インスタンスがクラッシュすると、Oracle Access Managerはスタック・トレース情報をログ・ファイルに書き込みます。スタック・トレースをリクエストごとに生成することもできます。

詳細は、「診断情報の取得」を参照してください。

10.1.3 ログ出力について

ログ出力ファイルの各行は、特定の構造に従います。行は、日付およびタイム・スタンプで始まり、次にリクエストを処理するスレッド、ログが記録された機能またはモジュールの名前とログ・レベルが続きます。

次に、ログ出力ファイルの一番左の列のスナップショットを示します。

2007/06/01@00:50:56.859000    5932  2672  DB_RUNTIME     DEBUG3
2007/06/01@00:50:56.859000    5932  2672  DB_RUNTIME     TRACE
2007/06/01@00:50:56.859000    5932  2672  LDAP           DEBUG1
2007/06/01@00:50:56.859000    5932  2672  LDAP           TRACE
2007/06/01@00:50:56.859000    5932  2672  LDAP           TRACE

リグ・レベルの右の2つの列は内的コード参照で、無視することができます。次に、この列の例を示します。

0x00000205   ldap_connection_mngr.cpp:212

内的参照列の右に、「コールされた機能」または「戻された機能」などのこのログ・レベルに割り当てられたログ・メッセージがあり、次に示すような機能の名前が続きます。

"Function called"   _CallName^ldap_init

ログ・メッセージおよび機能名の後に、次の例に示すように、処理の間隔、機能が実行されるアドレス領域または状態の情報などの追加情報が続く場合があります。

"Connection health check result"   Server^dlsun4072   Port^389   Server Priority^1     Connection available^true

"Function entered"    _TraceName^ConnectionWatcherThread::CheckPrimaries

"Function exited"     _TraceName^ConnectionWatcherThread::CheckPrimaries TraceDuration^0.000028

"Connection Pool Status in ValidateConnections()
    "NumLivePrimaryConnections^1 Maximum Connections^1
     UpConnections^1
     Failover Threshold^1
     Max Session Time^0
    SleepFor^60

機密情報を保護して、ロギング操作の出力に含まれないようにする方法は、「機密属性のフィルタ処理」を参照してください。

10.2 ログ構成ファイルのパスおよび内容について

プレーンテキスト・エディタで編集するXMLベースのログ・ファイル内のログ出力を制御するパラメータを構成します。これらのファイルに対する変更は、即時に有効になります。

この項には、次の各項目が含まれます。

10.2.1 ログ構成ファイルのパスおよび名前

Oracle Access Managerの各コンポーネントには、ログ構成ファイルがあり、ここでログ出力内に記録するデータのタイプを定義します。ログ構成ファイルはログ出力ファイルとは異なります。ログ出力ファイルの詳細は、「ログ出力について」を参照してください。

ログ構成ファイルは次の場所にあります。

component_install_dir\identity|access\oblix\config

component_install_dirはコンポーネントがインストールされているディレクトリで、identity|accessはそれぞれアイデンティティ・システムとアクセス・システムを表します。このファイルのパスは変更しないでください。複数のアイデンティティ・サーバーをインストールするなど、コンポーネントの複数のインスタンスをインストールする場合、ログ構成ファイルはインスタンスごとにインストールされます。

インストール後は、oblog_config.xmlとoblog_config_original.xmlの両方にコメントが含まれます。アイデンティティ・システム・コンソールでロギング構成を変更すると、ディレクトリ・サーバーのデータがoblog_config.xmlに書き込まれます。このプロセスの際に、このファイル内のコメントは失われます。一方oblog_config_original.xmlは変更されないため、元のコメントを参照できます。

表10-2にログ構成ファイルの名前をリストします。名前を変更しないでください。

表10-2 コンポーネントのログ構成ファイル名

コンポーネント ログ構成ファイル名

アクセス・サーバー

oblog_config.xml

アイデンティティ・サーバー

oblog_config.xml

ポリシー・マネージャ

oblog_config_am.xml

WebGate

oblog_config_wg.xml

Webパス

oblog_config_wp.xml

Access Manager SDK(カスタム・アクセス・ゲート)

oblog_config.xml



重要:

いずれのロギング構成ファイルについても、デフォルトのパスまたは名前を変更しないでください。

10.2.2 ログ構成ファイルの内容

ログ構成ファイルは次の項目を制御します。

  • コンポーネントでログに記録される内容

  • データの送信先

  • 特定の場合のみ、ログで使用される書込みバッファのサイズ

  • ログ・ファイル・ローテーション間隔

ログ構成ファイルにはテキスト・エディタで編集できるXML文が含まれます。

アイデンティティ・サーバーの場合のみ、構成ファイル内のAUTOSYNCパラメータがデフォルト値のTrueに設定されていれば、アイデンティティ・システム・コンソールでログ・ファイル内の構成パラメータも変更できます。詳細は、「アイデンティティ・システム・コンソールでのログの構成」を参照してください。

10.2.2.1 ファイルに対する変更が有効化した場合

ウォッチャ・スレッドは、ログ構成ファイルに対する変更を60秒ごとに取得し、その変更を有効にします。サーバーを再起動する必要はありません。

アイデンティティ・サーバーの場合、アイデンティティ・システム・コンソールを使用してロギング設定を変更すると、ファイル内のAutoSyncパラメータがTrueに設定されている場合にのみ、変更がログ構成ファイルに書き込まれます。このパラメータがFalseに設定されている場合、以前の構成ファイル設定がサーバーの再起動後に回復されます。

10.2.2.2 ログ・ファイル内のコメントについて

デフォルトの各ログ構成ファイルには、ファイルの編集に役立つコメントが含まれます。コメントのあるデフォルトの構成ファイルは、次のようになります。

コメントは、1つ以上の行にまたがる場合があります。コメントは次のように表示されます。

<!--NetPoint Logging Configuration File                            -->
<!--                                                               -->
<!--Changes to this file will be automatically taken into  effect  -->
<!--in one minute. This does not require any server restart.       -->

例10-1に、コメントのある典型的なログ構成ファイルを示します。例10-8に、コメントのない典型的なログ構成ファイルを示します。

例10-1 コメントのあるデフォルトのログ構成ファイル

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--============================================================   -->
<!--============================================================   -->
<!--NetPoint Logging Configuration File                            -->
<!--                                                               -->
<!--Changes to this file will be automatically taken into  effect  -->
<!--in one minute. This does not require any server restart.       -->
<!--                                                               -->
<!--============================================================   -->
<!--============================================================   -->
<!--Set the Log Threshold                                          -->
<!---->
<!--The log Threshold determines the amount of information to log. -->
<!--Selecting a lower level of logging includes the information    -->
<!--logged at the higher levels. For example, LOGLEVEL_ERROR       -->
<!--includes the information collected at LOGLEVEL_FATAL.          -->
<!---->
<!--Choices are:                                                   -->
<!--LOGLEVEL_FATAL - serious error, possibly a program halt.       -->
<!--LOGLEVEL_ERROR - a transient or self-correcting problem.       -->
<!--LOGLEVEL_WARNING - a problem that does not cause an error.     -->
<!--LOGLEVEL_INFO - reports the current state of the component.    -->
<!--LOGLEVEL_DEBUG1 - basic debugging information.                 -->
<!--LOGLEVEL_DEBUG2 - advanced debugging information.              -->
<!--LOGLEVEL_DEBUG3 - logs performance-sensitive code.             -->
<!--LOGLEVEL_TRACE - used when you need to trace the code path     -->
<!--execution or capture metrics. Includes all previous levels.    -->
<!--                                                               -->
<!--If you do not specify a threshold, the default is WARNING.     -->
<!--                                                               -->
<!--In addition to specifying a threshold, you need to specify     -->
<!--if changes that you make to the logging configuration in       -->
<!--the NetPoint GUI overwrite the settings in this file. The      -->
<!--AutoSync parameter accomplishes this. This parameter takes a   -->
<!--value of True or False. If set to True, changes made in the    -->
<!--GUI overwrite changes in this config file. If False, changes   -->
<!--made in the GUI are only in effect until the server is         -->
<!--stopped or restarted, after which the settings in this file    -->
<!--overwrite the GUI settings. The default is True.               -->
<!--                                                               -->
<!--                                                               -->
<CompoundList xmlns="http://www.oblix.com" ListName="logframework.xml.staging">
  <SimpleList>
   <NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_WARNING" />
   <NameValPair ParamName="AUTOSYNC" Value="True" />
   <!-- SECURE_LOGGING flag can be used to turn on/off Secure Logging -->
   <!-- feature. By defalut this feature is tunred on.                -->
   <NameValPair ParamName="SECURE_LOGGING" Value="On" />
   <!-- In addition to specifying a log threshold, you need to       -->
   <!-- configure log level for which Secure Logging should be       -->
   <!-- applicable.Choices for this can be used same as that of      -->
   <!-- LOG_THRESHOLD_LEVEL. Secure log threshold can be set using   -->
   <!-- LOG_SECURITY_THRESHOLD_LEVEL flag. Default value for Secure  -->
   <!-- log threshold is TRACE.                                    -->
   <NameValPair ParamName="LOG_SECURITY_THRESHOLD_LEVEL"
    Value="LOGLEVEL_TRACE" />
   <!-- LOG_SECURITY_ESCAPE_CHARS is used to configure escape sequence -->
   <!-- characters. This can be used to avoid additional information   -->
   <!-- getting overwritten due to Secure Logging mechanism. Currently -->
   <!-- following characters have been identified as escape sequence.  -->
   <!-- Configuring inappropriate characters may lead to sensitive     -->
   <!-- information being unmasked.                                    -->
   <NameValPair ParamName="LOG_SECURITY_ESCAPE_CHARS" Value="),]" />
   <!-- LOG_SECURITY_MASK_LENGTH is used to specify default masking    -->
   <!-- length if none is specified in FILTER_LIST.                    -->
   <!-- Default value for LOG_SECURITY_MASK_LENGTH is 300.             -->
   <NameValPair ParamName="LOG_SECURITY_MASK_LENGTH" Value="300" /   >
  </SimpleList>
<!--                                                               -->
<!--                                                               -->
<!--============================================================   -->
<!--============================================================   -->
<!--Configure the Log Level                                        -->
<!--                                                               -->
<!--                                                               -->
<!--To configure a log level, you specify a name for the           -->
<!--configuration (for instance, MyErrorLog1) and                  -->
<!--the log level that you are configuring. You can create         -->
<!--more than one configuration per log level if you want          -->
<!--to output to more than one destination. You can output to      -->
<!--the system log or to a file, as specified on                   -->
<!--the LOG_WRITER parameter. The value for the LOG_WRITER         -->
<!--parameter may only be SysLogWriter, FileLogWriter or           -->
<!--MPFileLogWriter. The MPFileLogWriter is a multi-process safe   -->
<!--FileLogWriter. It should be used to log in webcomponents i.e   -->
<!--WebGate, Access Manager and WebPass loaded on multiprocess     -->
<!--webservers like Apache and IPlanet(UNIX)                       -->
<!--                                                               -->
<!--If you do not specify an output destination, the default is    -->
<!--SysLogWriter.                                                  -->
<!--                                                               -->
<!--If outputting to a file, you also specify a file name and      -->
<!--other parameters. Default parameter values are:                -->
<!--FILE_NAME: <installdir>/oblix/log/oblog.log                    -->
<!--BUFFER_SIZE: 32767 (number of bytes)                           -->
<!--MAX_ROTATION_SIZE: 5242880 (bytes, equivalent to 5MB)          -->
<!--MAX_ROTATION_TIME: 86400 (seconds, equivalent to one day)      -->
<!--                                                               -->
<!--Configuring the log level does not ensure that the data is     -->
<!--actually collected. Data collection for a log is               -->
<!--determined by the LOG_THRESHOLD_LEVEL parameter, above,        -->
<!--and the LOG_STATUS parameter in the log configuration.         -->
<!--                                                               -->
<!--If you do not provide a LOG_STATUS, the default for            -->
<!--LOGLEVEL_FATAL, LOGLEVEL_ERROR, and LOGLEVEL_WARNING,          -->
<!--is On.                                                         -->
<!---->
<!--This file contains several sample configurations that are      -->
<!--enclosed in comments. To use them, remove the comments.        -->
<!--                                                               -->
   <CompoundList xmlns="http://www.oblix.com" ListName="LOG_CONFIG">
    <!--Write all FATAL logs to the system logger. -->
    <ValNameList xmlns="http://www.oblix.com" ListName="LogFatal2Sys">
      <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_FATAL" />
      <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" />
      <NameValPair ParamName="LOG_STATUS" Value="On" />
    </ValNameList>
    <!--Write all logs to the Oracle log file.                     -->
    <ValNameList xmlns="http://www.oblix.com" ListName="LogAll2File">
      <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_ALL" />
      <NameValPair ParamName="LOG_WRITER" Value="FileLogWriter" />
      <NameValPair ParamName="FILE_NAME" Value="oblog.log" />
      <!-- Buffer up to 64 KB (expressed in bytes) of log entries before
         flushing to the file.     -->
      <NameValPair ParamName="BUFFER_SIZE" Value="65535" />
      <!--Rotate the log file once it exceeds 50 MB (expressed in bytes). -->
      <NameValPair ParamName="MAX_ROTATION_SIZE" Value="52428800" />
      <!--Rotate the log file after 24 hours (expressed in seconds). -->
      <NameValPair ParamName="MAX_ROTATION_TIME" Value="86400" />
      <NameValPair ParamName="LOG_STATUS" Value="On" />
    </ValNameList>
  </CompoundList>
<!--  List of values that can be specified in the module config      -->
<!--                                                                 -->
<!--  On - Uses loglevel set in the loglevel threshold               -->
<!--  Off - No information is logged                                 -->
<!--  LOGLEVEL_FATAL - serious error, possibly a program halt.       -->
<!--  LOGLEVEL_ERROR - a transient or self-correcting problem.       -->
<!--  LOGLEVEL_WARNING - a problem that does not cause an error.     -->
<!--  LOGLEVEL_INFO - reports the current state of the component.    -->
<!--  LOGLEVEL_DEBUG1 - basic debugging information.                 -->
<!--  LOGLEVEL_DEBUG2 - advanced debugging information.              -->
<!--  LOGLEVEL_DEBUG3 - logs performance-sensitive code.             -->
<!--  LOGLEVEL_TRACE - used when you need to trace the code path     -->
<!--  execution or capture metrics. Includes all previous levels.    -->
<!--                                                                 -->
<!--  List of modules that can be specified in the module config     -->
<!--                                                                 -->
<!--  ALL_MODULES - Applies to all log modules                       -->
<!--  Specific module name - Applies to specific module              -->
<!--                                                                 -->
<!--                                                                 -->
<!--    <ValNameList                                                 -->
<!--        xmlns="http://www.oblix.com"                             -->
<!--        ListName="MODULE_CONFIG">                                -->
<!--        <NameValPair                                             -->
<!--            ParamName="CONNECTIVITY"                             -->
<!--            Value="LOGLEVEL_TRACE"></NameValPair>                -->
<!--    </ValNameList>                                               -->
<!--   <!--FILTER_LIST is used to maintain list of attributes which need         -->
<!-- to be treated as sensitive and hence will be filtered out from   -->
<!-- from logs. FILTER_LIST consist of all attribute names along      -->
<!-- with corresponding masking lengths.There should be separate      -->
<!-- entry in the list for the display name of the attribute          -->
<!-- identified as sensitive. All attributes configured are case      -->
<!-- sensitive i.e. if we configured sensitive attribute homePhone    -->
<!-- as HomePhone then it will not get filtered out from logs.        -->
<!-- By default four attributes (password, Password, response and     -->
<!-- Response) are configured as sensitive                            -->
<!-- A sample configuration is shown below                            -->

<!-- <ValNameList                                                    -->
<!--    xmlns="http://www.oblix.com"                                 -->
<!--    ListName="FILTER_LIST">                                      -->
<!--    <NameValPair                                                 -->
<!--      ParamName="password"                                       -->
<!--      Value="40"></NameValPair>                                  -->
<!--    <NameValPair                                                 -->
<!--      ParamName="Password"                                       -->
<!--      Value="40"></NameValPair>                                  -->
<!--    <NameValPair                                                 -->
<!--      ParamName="response"                                       -->
<!--      Value="40"></NameValPair>                                  -->
<!--     <NameValPair                                                -->
<!--      ParamName="Response"                                       -->
<!--      Value="40"></NameValPair>                                  -->
<!--    <NameValPair                                                 -->
<!--      ParamName="homePhone"                                      -->
<!--      Value="40"></NameValPair>                                  -->
<!--  </ValNameList>                                                 -->
  <ValNameList xmlns="http://www.oblix.com" ListName="FILTER_LIST">
    <NameValPair ParamName="password" Value="40" />
    <NameValPair ParamName="Password" Value="40" />
    <NameValPair ParamName="passwd" Value="40" />
    <NameValPair ParamName="Passwd" Value="40" />
    <NameValPair ParamName="response" Value="40" />
    <NameValPair ParamName="Response" Value="40" />
  </ValNameList>
</CompoundList>

注意:

アイデンティティ・システム・コンソール内のロギング設定を変更する場合、関連付けられるコンポーネント・インスタンスのログ構成ファイルはコメントなしで保存されます。詳細は、「アイデンティティ・システム・コンソールでのログの構成」を参照してください。

10.3 ファイルまたはシステム・ファイルへのログ出力の送信について

ログ出力を宛先に送信するには、ログ・ライターを構成します。ログ・ライターは、ログ出力を次のいずれかまたは両方に送信できます。またはいずれにも送信しないこともできます。

特定のレベルのログまたは異なるレベルのログを、複数のタイプのログ・ライターに送信できます。たとえば、致命的データをシステム・ログに送信し、トレース・データをファイルに送信できます。または、致命的データをシステム・ログとファイルの両方に送信できます。

ログ・ハンドラ定義にあるLOG_WRITERパラメータを使用して、ログ構成ファイル内のログ・ライターを定義します。詳細は、「2番目の複合リストおよびログ・ハンドラ」を参照してください。

ログ・ライターについて、表10-3で説明します。

表10-3 ログ・ライター

ライター 説明

SysLogWriter

ログに記録されるコンポーネントをホストするコンピュータのシステム・ログ・ファイルにデータを送信します。通常、システム・ログ・ファイルには、複数のアプリケーションおよびホスト・オペレーティング・システムによるイベント情報が含まれます。

Windowsマシンの場合、これは「マイ コンピュータ」、「管理」、「イベント ビューア」、「アプリケーション」にあるアプリケーション・ログ・ファイルです。

UNIXプラットフォームの場合、システム・ログ・ファイルの名前と場所は、システム管理者のコンピュータとプリファレンスに応じて異なります。ファイルの場所は、コンピュータの管理者に確認してください。

デフォルトのログ構成ファイルは、致命的メッセージ、エラー・メッセージおよび警告メッセージをシステム・ログ・ファイルに送信します。

FileLogWriter

このライターは、アクセス・サーバー、アイデンティティ・サーバーまたはその他のシングルプロセス・アプリケーションのログ・データをディスク・ファイルに保存する場合にお薦めします。

FileLogWriterは、ログ・ファイルを開き、おおよそのファイル・サイズ制限またはファイル・ローテーション間隔に達するまでディスク書込み用にファイルを開いたままにします。複数のプロセスが同じログ・ファイルに書き込む必要のある状況では、このログ・ライターをお薦めしません。このような状況では、MPFileLogWriterを使用してください。

MPFileLogWriter

このライターは、FileLogWriterに似ていますが、データをファイルに書き込むたびにログ・ファイルを開いて閉じる点が異なります。これにより、複数のプロセスが順番にファイルに書き込むことができます。ただし、これによってパフォーマンスが大幅に低下します。

MPFileLogWriterは、マルチプロセスWebサーバー(Apacheなど)またはSolarisバージョンのiPlanet Webサーバーにインストールされているアクセス・ゲートなど、マルチプロセス・アプリケーションに関連するプロセスの一部で、FileLogWriterがロギング・データの記録に失敗する場合にのみ使用することをお薦めします。


10.4 ログ構成ファイルの構造およびパラメータ

ログ構成ファイルは標準形式に準拠します。パラメータの編集や、ログ・ハンドラ定義と呼ばれる特定のセクションの追加または除去はできますが、ログ構成ファイルの基礎となる形式の変更はできません。

デフォルトのログ構成ファイルのリスティングは、例10-1または例10-8を参照してください。

この項には、次の各項目が含まれます。

10.4.1 ログ構成ファイルのヘッダー

ログ構成ファイルの先頭には、XMLファイル・ヘッダーがあります。

<?xml version="1.0" encoding="ISO-8859-1" ?>

ヘッダーは次の目的で使用します。

  • ヘッダーは、関連するXMLバージョン(常に1.0)を宣言します。

  • また、エンコーディング形式(常にISO-8559-1)を宣言します。

10.4.2 最初の複合リスト

ヘッダーの後に、次のように区切られた最初の複合リストが続きます。

<CompoundList xmlns="http://www.oblix.com" ListName="logframework.xml.staging">
. . .
</CompoundList>

最初の複合リストの構造は次のとおりです。

  • 複合リスト開始タグは、xmlnsパラメータ内のログ構成ファイルの関連XMLネームスペースを示します。

  • また、複合リスト開始タグは、ListNameパラメータ内の複合リストの名前を指定します。

  • 複合リスト終了タグは、ファイルの最後の近くで発生します。

    この複合リストは、すべての構成情報を区切ります。

10.4.3 単純なリスト、ロギングしきい値およびアイデンティティ・システム・コンソールの同期

最初の複合リスト開始タグの後に、次のように、単純なリストでロギングのグローバル・デフォルトを設定します。

<SimpleList>
. . .
</SimpleList>

単純なリストの開始タグと終了タグとの間は、次のように構成します。

表10-4 最初の複合リストのグローバル・パラメータ

パラメータ 説明

LOG_LEVEL_THRESHOLD

デフォルトのロギングしきい値を設定します。

デフォルト値: LOGLEVEL_WARNING

使用可能な値: 「ログ・レベルについて」に記載されているログ・レベルを参照してください。

グローバルしきい値により、特定のレベルおよびより一般的なレベルのログを収集し、下位レベルのログが収集されるのを防ぐことができます。このしきい値は、モジュール固有のしきい値でオーバーライドされます。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。

AUTOSYNC

アイデンティティ・システム・コンソールで実行されるロギング構成をログ構成ファイルに書き込むかどうかを決定します。

デフォルト値: True

使用可能な値: TrueまたはFalse

SECURE_LOGGING

セキュア・ロギングのメカニズムを動的に有効化または無効化します。サーバーやコンポーネントを再起動する必要はありません。

デフォルト値: On

使用可能な値: OnまたはOff

LOG_SECURITY_THRESHOLD_LEVEL

セキュア・ロギングが有効なログしきい値を示します。

デフォルト値: LOGLEVEL_TRACE

使用可能な値: 「ログ・レベルについて」に記載されているログ・レベルを参照してください。

注意: LOG_THRESHOLD_LEVELLOG_SECURITY_THRESHOLD_LEVELが同じか、互いに一貫性があることを確認してください。たとえば、LOG_THRESHOLD_LEVELLOGLEVEL_TRACEに設定されており、LOG_SECURITY_THRESHOLD_LEVELLOGLEVEL_WARNINGに設定されている場合、セキュア・ロギングはLOGLEVEL_WARNING以上に適用されますが、LOGLEVEL_TRACEには適用されません。

LOG_SECURITY_ESCAPE_CHARS

セキュア・ロギングのメカニズムによって追加の情報が上書きされるのを防ぐための、エスケープ・シーケンス文字を構成します。カンマ区切りリストを使用します。

デフォルト値: ),]

使用可能な値: 文字のみ

注意: デフォルト値を推奨します。不適切な文字を構成すると、機密情報がマスキングされない可能性があります。

LOG_SECURITY_MASK_LENGTH

FILTER_LISTで指定されていない場合に、デフォルトのマスキングの長さを指定します。

デフォルト値: 300

使用可能な値: 正の整数

注意: FILTER_LISTは、2番目の複合リスト(ログ・ハンドラ)の後に表示されます。詳細は、「機密属性のフィルタ処理」を参照してください。


例10-2は、oblog_config.xmlファイルの最初の複合リストに表示されるグローバル設定を含む単純なリストを示しています。

例10-2 グローバル設定を含む単純なリスト(oblog_config.xmlファイルの最初の複合リスト)

<SimpleList>
   <NameValPair
      ParamName="LOG_THRESHOLD_LEVEL"
      Value="LOGLEVEL_WARNING">
   </NameValPair>
   <NameValPair
      ParamName="AUTOSYNC"
      Value="True">
</NameValPair>
   <NameValPair
      ParamName="SECURE_LOGGING"
      Value="On">
</NameValPair>
   <NameValPair
      ParamName="LOG_SECURITY_THRESHOLD_LEVEL"
      Value="LOGLEVEL_TRACE">
</NameValPair>
   <NameValPair
      ParamName="LOG_SECURITY_ESCAPE_CHARS"
      Value="),]">
</NameValPair>
   <NameValPair
      ParamName="LOG_SECURITY_MASK_LENGTH"
      Value="300">
</NameValPair>
</SimpleList>

10.4.4 2番目の複合リストおよびログ・ハンドラ

グローバル設定を含む単純なリストの後と最初の複合リストの開始タグおよび終了タグの間に、追加の複合リストを指定します。この複合リストには、ログ・ハンドラ定義が含まれます。このリストの開始タグおよび終了タグは次のとおりです。

<CompoundList xmlns="http://www.oblix.com" ListName="LOG_CONFIG">
. . .
</CompoundList>

この複合リスト・タグは、次のように構成されます。

  • 複合リスト開始タグ内で、xmlnsパラメータは関連XMLネームスペースを示します。

  • また、開始タグでは、リストの名前をListNameパラメータに指定します。

    通常、このリストの名前はLOG_CONFIGです。

ログ・ハンドラの複合リストの開始タグと終了タグとの間に、1つ以上のValNameList要素を指定します。各ValNameList要素には、ログ・ハンドラ定義が含まれます。この要素の各インスタンスの開始と終了は、次のとおりです。

<ValNameList xmlns="http://www.oblix.com" ListName="Unique_Name">
. . .
</ValNameList>

ValNameList要素は次のように構成されます。

  • 開始タグは、関連XMLネームスペースをxmlnsパラメータに設定します。

  • また、開始タグは、ログ・ハンドラの名前をListNameパラメータに設定します。

ValNameListの開始タグと終了タグとの間に、ログ・ハンドラを構成します。ログ・ハンドラ定義には、3つの必須NameValPair要素が含まれます。

  • 最初のNameValPair要素は、ログ・ハンドラのロギング・レベルを定義します。

    この要素にはParamName="LOG_LEVEL"文が含まれ、その値は次のように表10-1の予約名です。

    <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_FATAL" />
    
  • 2番目のNameValPair要素は、ログ出力の宛先を定義します。

    この要素にはParamName="LOG_WRITER"文が含まれ、その値は次のように表10-3の予約名です。

    <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" />
    
  • 3番目のNameValPair要素は、ログ・ハンドラのオンとオフを切り替えます。

    この要素にはParamName="LOG_STATUS"文が含まれ、次のように、OnまたはOffの値を伴います。

    <NameValPair ParamName="LOG_STATUS" Value="On" />
    

最後に、ValNameListの開始タグと終了タグとの間に、FileLogWriterまたはMPFileLogWriterをログ・ライターとして指定する場合、次の一部またはすべてを追加できます。また、どれも追加しないこともできます。詳細は、表10-7を参照してください。

  • 宛先ファイル名

    <NameValPair ParamName="FILE_NAME" Value="oblog.log" />
    
  • バッファ・サイズ

    <NameValPair ParamName="BUFFER_SIZE" Value="65535" />
    
  • 新しいログ・ファイルが生成される時期を決定するファイル・サイズ

    <NameValPair ParamName="MAX_ROTATION_SIZE" Value="52428800" />
    
  • 新しいログ・ファイルが生成される間隔を決定する時間(分)

    <NameValPair ParamName="MAX_ROTATION_TIME" Value="86400" />
    

10.4.5 モジュール固有のロギングのリスト

ログ・ハンドラを区切る複合リスト終了タグの後および最初の複合リストの終了タグの前に、モジュール固有のロギング・パラメータを追加できます。

詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。

10.4.6 フィルタ・リスト

モジュール固有のロギング・パラメータの後にはフィルタ・リストがあります。このリストでは、フィルタ処理によってログ・ファイルから除外される機密情報を指定します。たとえば、ロスト・パスワード管理用のパスワードおよびレスポンスは、フィルタ処理でログ・ファイルから除外できる機密情報です。

FILTER_LISTパラメータに関連付けられている名前と値の各ペアは、ログへの書込みの前にチェックする単語やフレーズの名前、およびその単語またはフレーズのマスキングの長さを指定します。ロギング時には、その単語またはフレーズがマスキングされ、ログ・ファイルから削除されます。

つまり、ロギング時には、Oracle Access Managerはマスキングされる値が属性、表示名またはそれ以外のもの(プレーン・テキスト)のいずれであるかを認識しません。セキュア・ロギングは、FILTER_LISTに追加された単語またはフレーズを検索し、検出されたそれらの単語やフレーズの後に続くすべてのデータをマスキングすることで実行されます。たとえば、次のような文があるとします。

\csabuild\coreid1014\np_common\db\ldap\util\ldap_util3.cpp:3107 "ldap_parse_result
of Simple Bind"           ld handle^0x0779FA00       result^0x09FB0088
bind^cn=orcladmin        LDAP bind operation status code^0          Additional
error message^ freeit^0 parse_rc^0

セキュア・ロギングを有効にしてFILTER_LISTに(属性でも表示名でもない)bindを追加すると、FILTER_LIST内の単語(ここではbind)に続くすべてのデータがマスキングされます。この例の場合、ログの内容は次のように表示されます。

\csabuild\coreid1014\np_common\db\ldap\util\ldap_util3.cpp:3107 "ldap_parse_result
of Simple Bind"           ld handle^0x0779FA00       result^0x09FB0088
bind^cn=orcladmin        LDAP bind**********  status code^0          Additional
error message^ freeit^0 parse_rc^0

すべての属性は大/小文字が区別されます。たとえば、属性の表示名としてPasswordではなくpasswordと入力した場合、Passwordはフィルタ処理されません。デフォルトでは、password、Password、responseおよびResponseの4つの属性が、フィルタ・リスト内で常に構成されています。

デフォルトのマスキングの長さは40で、これら4つのデフォルト属性に対して個々に指定されています。デフォルト属性のデフォルトのマスキングの長さは、必要に応じて変更できます。フィルタ・リストにその他の属性を追加する場合は、マスキングの長さとして、より大きい値が必要になる可能性があります(例: 300)。

デフォルトのフィルタ・リストを例10-3に示します。

例10-3 FILTER_LISTによるログ・ファイル内の機密属性のマスキング

<ValNameList>
   xmlns="http://www.oblix.com"
   ListName="FILTER_LIST">
   <NameValPair
      ParamName="password"
      Value="40"></NameValPair>
   <NameValPair
      ParamName="Password"
      Value="40"></NameValPair>
   <NameValPair
      ParamName="passwd"
      Value="40"></NameValPair>
   <NameValPair
      ParamName="Passwd"
      Value="40"></NameValPair>
   <NameValPair
      ParamName="response"
      Value="40"></NameValPair>
   <NameValPair
      ParamName="Response"
      Value="40"></NameValPair>
</SimpleList>

フィルタ・リストに別の属性を追加する場合は、表示名および属性名をディレクトリ・サーバーに含める必要があります。

アイデンティティ・サーバーまたはWebパスのログでユーザー・パスワードをフィルタ処理する場合は、WebGateが無効であることを確認する必要があります。WebGateを無効にすると、事前構成済ログイン・ページでフォーム認証が自動的に使用されます。この場合、別個のHTMLログイン・ページを作成したり、フォームベース認証を構成する必要はありません。詳細は、「機密属性のフィルタ処理」を参照してください。

10.4.7 XML要素の順序について

XMLを使用する場合、要素自体が変更されず、最初に囲まれていたタグ内に含まれているかぎり、リスト内で並列の要素を任意の順序で指定できます。たとえば、例10-4例10-5のリストは同等です。

例10-4 有効な名前/値リスト

<ValNameList xmlns="http://www.example.com" ListName="LogError2Sys">
   <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_ERROR" />
   <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" />
   <NameValPair ParamName="LOG_STATUS" Value="On" />
</ValNameList>

例10-5 別の有効な名前/値リスト

<ValNameList xmlns="http://www.example.com" ListName="LogError2Sys">
   <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" />
   <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_ERROR" />
   <NameValPair ParamName="LOG_STATUS" Value="On" />
</ValNameList>

同様に、ある特定のタグ内の属性(常にタグの山カッコ内の最初の要素である必要があるタグ名を除く)は、変更されておらず、最初に囲まれていたタグ要素内にあるかぎり、並べ替えることができます。例10-6例10-7の名前/値リストの開始タグは同等です。

例10-6 名前/値リストの開始タグ

<ValNameList xmlns="http://www.example.com" ListName="LogError2Sys">

例10-7 名前/値リストの開始タグ

<ValNameList ListName="LogError2Sys" xmlns="http://www.example.com">

10.5 ロギング・レベルのアクティブ化および抑制について

様々な要因により、ロギングが特定のログ・ハンドラに対してアクティブかどうかが決まります。表10-5に、これらの要因をリストします。

表10-5 ロギングがアクティブかどうかを決定する要因

要因 重要性 説明

LOG_ THRESHOLD_ LEVEL

プライマリ

このパラメータは、ロギングのカットオフを設定します。しきい値よりも詳細なログ・レベルは抑制されます。有効なログ・レベルは、表10-1を参照してください。

MODULE_CONFIGパラメータを使用して、ログを記録できる項目のサブセットに対してこのパラメータをオーバーライドできます。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。

アイデンティティ・サーバーの場合のみ、アイデンティティ・システム・コンソールでしきい値を構成できます。詳細は、「アイデンティティ・システム・コンソールでのログの構成」を参照してください。

MODULE_CONFIG

プライマリ

このパラメータは、グローバル・ロギングしきい値のモジュール固有のオーバーライドを設定します。

詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。

LOG_STATUS

セカンダリ

このパラメータは、ロギングしきい値またはモジュール固有のオーバーライドで上書きされないかぎり、ロギングのオンとオフを切り替えます。

AUTOSYNC

セカンダリ

このパラメータがTrueに設定されている場合、アイデンティティ・システム・コンソールでロギング設定に対して行った変更は、サーバーを再起動しなくても即時に有効になり、変更は構成ファイルに保存されます。

AUTOSYNCFalseの場合、アイデンティティ・システム・コンソールで行った変更は即時に有効になりますが、構成ファイルには保存されず、サーバーの再起動後に破棄されます。

ログ・ハンドラの物理的な位置

セカンダリ

「ログ・ハンドラの優先順位について」を参照してください。


10.5.1 ログ・ハンドラの優先順位について

ログ構成ファイルに単一のログ・レベルに対して最大3つのログ・ハンドラ定義を構成できます。特定のログ・レベルの出力を、表10-3で説明される3つの各ログ・ライターに送信する場合は、3つの異なるログ・ハンドラが必要です。

異なるLOG_STATUS設定をこれらのログ・ハンドラに設定する場合、ログ構成ファイルの物理的な終わりに最も近いログ・ハンドラ定義の設定が、同一のログ・レベルの他のログ・ハンドラ定義のステータスを設定します。たとえば、「エラー」ログ・レベルの最初の2つのログ・ハンドラに対してLOG_STATUSOffに設定できますが、構成ファイル内の3番目の最後のログ・ハンドラに対してLOG_STATUSOnに設定すると、ロギングは3つのハンドラすべてに対して行われます。

LOG_STATUS設定は、そのレベルが現在のLOG_THRESHOLD_LEVELよりもきめ細かい場合には、無意味になります。この場合、しきい値がモジュール固有のしきい値でオーバーライドされないかぎり、ロギングはこのレベルでアクティブ化されません。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。

10.6 必須のログ・ハンドラ構成パラメータ

各ログ・ハンドラ定義には、最低でも、表10-6にリストする5つのパラメータが含まれます。

表10-6 必須のログ構成ファイル・パラメータ

パラメータ コメント

xmlns

このパラメータはValNameList開始タグ内で指定されます。

現在のリストの関連XMLネームスペースを指定し、ある特定のロギング構成ファイル内のすべてのログ・ハンドラ定義に対して同一です。次に例を示します。

http://www.example.com

ListName

このパラメータはValNameList開始タグ内で指定されます。可能な場合はデフォルト名を使用します。

新規のログ・ハンドラ定義の作成の際、他のログ・ハンドラと間違えることのない憶えやすい名前を選択してください。次に例を示します。

WarningsAndAboveToSyslogは、致命的メッセージ、エラー・メッセージおよび警告メッセージをシステム・ログ・ファイルに送信します。

WarningsOnlyToFileLog128KBufferは、警告レベルのメッセージを128KBバッファに従ってディスク・ファイルに送信します。

TraceOnlyToMPRotateDailyは、トレース・レベルのメッセージをマルチプロセス・ファイル・ライターに送信します。これにより、ディスクへの書込みのたびにファイルが開かれて閉じられます。このファイルは、置換時のファイルのサイズに関係なく、毎日新しい(空の)ファイルで置換されます。

LOG_LEVEL

これにより、ログ・レベルが指定されます。詳細は、表10-1を参照してください。

デフォルトのロギング構成ファイルは、「致命的」、「エラー」、「警告」の3つのレベルのロギングをアクティブにします。

LOG_WRITER

このログ・ライターのログ出力の宛先を指定します。詳細は、表10-3を参照してください。

デフォルトのログ構成ファイルは、出力をシステム・ログとロギングを行っているコンポーネントのログ・データ・ファイルの両方に送信します。

LOG_STATUS

このパラメータは、ログ・ハンドラを「オン」または「オフ」にします。


LOG_WRITERパラメータの値としてFileLogWriterまたはMPFileLogWriterを指定した場合は、表10-7の4つのパラメータが意味を持ちます。

表10-7 ログ・データ・ファイル構成パラメータ

パラメータ 説明 デフォルト

FILE_ NAME

必須。FileLogWriterまたはMPFileLogWriterに対してのみ使用されます。ロギング情報が書き込まれるファイルの名前および場所です。

ファイル名に絶対パスを付加して、次のデフォルトの場所以外に格納できます。

component_install_dir\oblix\logs

component_install_dirは、システム・イベントをロギングするコンポーネントのルート・インストール・ディレクトリです。

出力をFileLogWriterまたはMPFileLogWriterに送信する複数のログ・ハンドラ定義を作成した場合は、各ケースに一意のファイル名を指定して、複数のハンドラが同じファイルに書込みを試行しないようにします。この注意事項は、SysLogWriterにアクセスしているログ・ハンドラには適用されません。

oblog.log

BUFFER_SIZE

オプション。これは、ログ・ファイルに書き込まれるログ・データのバッファのサイズ(バイト単位)です。

バッファ値をゼロ(0)または負の数に設定した場合、デフォルト値が使用されます。バッファせずにログ・ファイルを即座に書き込む場合、5などの小さい値に設定します。システムに障害がある場合、小さいバッファ・サイズを設定することをお薦めします。

65535

(64KB)

MAX_ ROTATION_ SIZE

オプション。ログ・ファイルがこのサイズ(バイト単位)に達すると、タイムスタンプがファイル名に追加されます。たとえば、"oblog.log"は"oblog.log1081303126"になります。新しいデータが元の名前とともにファイルに書き込まれます。

52428800

(512KB)

MAX_ ROTATION_ TIME

オプション。最大ローテーション・サイズに達したかどうかにかかわらず、ログ・ファイル名が変更される時間間隔(秒単位)。

ファイルをローテーションする時間をローテーション時間で決定する場合、作成されるログ・ファイルに追加される数字は、ローテーション間隔の秒数だけ異なります。たとえば、"oblog.log. 1081389526"および"oblog.log. 1081303126"は86,400だけ異なります。これは、24時間の秒数です。ロギング構成ファイルで設定されたローテーション間隔です。

86400

(1日の秒数)


10.6.1 デフォルトのログ構成ファイルの設定

各コンポーネントとともにインストールされるログ構成ファイルは、ログに記録されるイベントの階層の上位3つのレベル(「致命的」、「エラー」および「警告」)のみアクティブにし、すべてのログ出力をシステム・ログに送信ます。

Windowsコンピュータでは、「マイ コンピュータ」、「管理」、「イベント ビューア」、「アプリケーション」にナビゲートすることで、ロギングしているコンポーネントをホストするコンピュータのシステム・ログを表示できます。ログに記録されるコンポーネントのシステム・イベント・エントリは、オペレーティング・システムおよびOracle Access Manager以外のアプリケーションに対してレポートされるシステム・イベントに散在します。

SolarisおよびLinux環境では、システム・ログの場所はシステム構成ファイルに記録されます。このシステム構成ファイルの項目はコンピュータごとに異なります。このシステム・ファイルまたはシステム・ログの名前と場所については、システム・ログの調査対象のコンポーネントをホストするコンピュータの所有者に確認してください。

例10-8に、デフォルトのログ構成ファイルを示します。ここでは、ファイル構造を明らかにするためにコメントを削除してあります。

例10-8 埋込みコメントなしのデフォルトのログ構成ファイル

<?xml version="1.0" encoding="utf-8"?>
<CompoundList
   xmlns="http://www.oblix.com
   ListName="oblog_config.xml.staging">
   <SimpleList>
      <NameValPair
         ParamName="LOG_THRESHOLD_LEVEL"
         Value="LOGLEVEL_WARNING"></NameValPair>
   </SimpleList>
   <SimpleList>
      <NameValPair
         ParamName="AUTOSYNC"
         Value="True"></NameValPair>
   </SimpleList>
   <SimpleList>
      <NameValPair
          ParamName="SECURE_LOGGING"
          Value="On"></NameValPair>
   </SimpleList>
   <SimpleList>
      <NameValPair
         ParamName="LOG_SECURITY_THRESHOLD_LEVEL"
         Value="LOGLEVEL_TRACE"></NameValPair>
   </SimpleList>
   <SimpleList>
      <NameValPair
         ParamName="LOG_SECURITY_ESCAPE_CHARS"
         Value="),]"></NameValPair>
   </SimpleList>
   <SimpleList>
      <NameValPair
        ParamName="LOG_SECURITY_MASK_LENGTH"
        Value="300"></NameValPair>
   </SimpleList>
   <CompoundList
      xmlns="http://www.oblix.com"
      ListName="LOG_CONFIG">
      <ValNameList
         xmlns="http://www.oblix.com"
         ListName="LogFatal2Sys">
         <NameValPair
            ParamName="LOG_LEVEL"
            Value="LOGLEVEL_FATAL"></NameValPair>
         <NameValPair
            ParamName="LOG_WRITER"
            Value="SysLogWriter"></NameValPair>
         <NameValPair
            ParamName="LOG_STATUS"
            Value="On"></NameValPair>
      </ValNameList>
      <ValNameList
         xmlns="http://www.oblix.com"
         ListName="LogAll2File">
         <NameValPair
            ParamName="LOG_LEVEL"
            Value="LOGLEVEL_ALL"></NameValPair>
         <NameValPair
            ParamName="LOG_WRITER"
            Value="FileLogWriter"></NameValPair>
         <NameValPair
            ParamName="FILE_NAME"
            Value="oblog.log"></NameValPair>
         <NameValPair
            ParamName="BUFFER_SIZE"
            Value="65535"></NameValPair>
         <NameValPair
            ParamName="MAX_ROTATION_SIZE"
            Value="52428800"></NameValPair>
         <NameValPair
            ParamName="MAX_ROTATION_TIME"
            Value="86400"></NameValPair>
         <NameValPair
            ParamName="LOG_STATUS"
            Value="On"></NameValPair>
      </ValNameList>
    </CompoundList>
    <ValNameList
       xmlns="http://www.oblix.com"
       ListName="FILTER_LIST">
       <NameValPair
          ParamName="password"
          Value="40"></NameValPair>
       <NameValPair
          ParamName="Password"
          Value="40"></NameValPair>
       <NameValPair
          ParamName="passwd"
          Value="40"></NameValPair>
       <NameValPair
          ParamName="Passwd"
          Value="40"></NameValPair>
       <NameValPair
          ParamName="response"
          Value="40"></NameValPair>
       <NameValPair
          ParamName="Response"
          Value="40"></NameValPair>
    </ValNameList>
  </CompoundList>

10.6.1.1 デフォルトのログ構成ファイルの設定の説明

デフォルトの構成ファイルは致命的メッセージ、エラー・メッセージおよび警告メッセージをシステム・ログとoblog.logというログ・データ・ファイルの両方に送信します。

ファイルの上部近くにある単純なリストは、次のパラメータを設定します。

  • これはLOG_THRESHOLD_LEVEL警告に設定します。

    しきい値は警告よりもきめ細かいレベルのロギングを抑制します。このしきい値はオーバーライドできます。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。

  • 単純なリストでは、AUTOOSYNCパラメータもTrueに設定されます。

    Trueに設定された場合、この設定により、アイデンティティ・システム・コンソールで設定した構成値をこの構成ファイルに保存して、アイデンティティ・サーバーの再起動後も保持できます。このパラメータは、アイデンティティ・サーバーにのみ適用されます。

ネストした複合リストには、4つのログ・ハンドラ定義が含まれます。

  • LogFatal2Sysという名前の最初のログ・ハンドラ定義は、ロギング・レベルを致命的に設定し、LOG_STATUSをOnに設定します。

    しきい値レベルは警告で、致命的よりもきめ細かいため、この定義は有効になりません。LOG_WRITERパラメータで指定されたように、ログ出力はシステム・ログに書き込まれます。

  • LogError2Sysログ・ハンドラ定義は、エラー・レベル・メッセージをシステム・ログに送信します。

    エラーは現在のしきい値レベル(警告)より前にあるため、この定義が有効になります。

  • LogWarning2Sys定義は、警告レベル出力をシステム・ログに送信します。

    前の2つのログ・ハンドラ定義と同様に、この定義は現在のLOG_THRESHOLD_LEVELパラメータによってオーバーライドされません。

  • 最後のログ・ハンドラ定義であるLogAll2Fileは、すべてのログ・レベルの出力をoblog.logというディスク・ファイルに送信します。

    LOG_THRESHOLD_LEVELパラメータを警告に設定すると、「致命的」、「エラー」および「警告」レベルの出力のみがこのログ・データ・ファイルに記録されます。LogAll2Fileからの出力はFileLogWriterに送信されるため、ファイル名、バッファ・サイズ、ローテーション・サイズおよびローテーション間隔を制御するパラメータはすべて有効になります。

図10-1 デフォルトのログ構成ファイルでのログレベルのアクティブ化

構成可能なログ・レベル。

10.7 アイデンティティ・システム・コンソールでのログの構成

アイデンティティ・サーバーの場合のみ、アイデンティティ・システム・コンソールで特定のログ設定を変更できます。または、ログ構成ファイルを手動で編集できます。


注意:

セキュア・ロギング・パラメータは、oblog_config.xmlファイルのみで構成されます。詳細は、「機密属性のフィルタ処理」を参照してください。

アイデンティティ・システム・コンソール内のロギング設定を変更する場合、関連付けられるコンポーネント・インスタンスのログ構成ファイルはコメントなしで保存されます。元のコメントを表示するには、元のロギング構成ファイルの次の読取り専用の複製を開きます。

IdentityServer_install_dir/oblix/config/oblog_config_original.xml

IdentityServer_install_dirは、アイデンティティ・サーバーのルート・インストール・フォルダです。

ログ・ハンドラ定義を表示または変更する手順

  1. アイデンティティ・システムのランディング・ページで、「アイデンティティ・システム・コンソール」リンクをクリックします。

    すでにログインしている場合は、「アイデンティティ・システム・コンソール」タブをクリックします。

  2. アイデンティティ・システム・コンソールで、「システム構成」サブタブをクリックし、次に左側のナビゲーション・ペインの「アイデンティティ・サーバー」リンクをクリックします。

    「すべてのアイデンティティ・サーバーをリスト」ページが表示されます。

    すべてのアイデンティティ・サーバーをリストするページのイメージ。
  3. アクティビティをログに記録するアイデンティティ・サーバーのリンクをクリックします。

    「アイデンティティ・サーバーの詳細」ページが表示され、ページの下部にログ・ハンドラ定義のリストが表示されます。

    アイデンティティ・サーバーの詳細ページのイメージ。
  4. 「ログ・ハンドラ定義」表の上の「ログのしきい値」設定を調べます。これは現在のLOG_THRESHOLD_LEVELを表します。

    この設定を変更する場合は、ページの下部にある「変更」をクリックし、「アイデンティティ・システム・コンソールからログしきい値を変更する手順」に進みます。それ以外の場合は、次の手順に進みます。

  5. ログ・ハンドラ定義の表で、検証または変更するログ・ハンドラのリンクをクリックします。

    「ログ・ハンドラ定義を変更します。」ページが表示されます。このページで、表10-6で説明した値を指定できます。「出力先」フィールドで「ファイル」を指定した場合は、表0-7で説明したフィールドに入力する必要があります。

    表10-7にリストしたように、ログ・ファイル名、ログ・ファイルの最大サイズ、ログ・ファイル・ローテーション間隔およびログ・バッファの最大サイズのデフォルトを変更できます。

  6. 「保存」をクリックします。

アイデンティティ・システム・コンソールからログしきい値を変更する手順

  1. アイデンティティ・システム・コンソールで、「システム構成」サブタブをクリックし、次に左側のナビゲーション・ペインの「アイデンティティ・サーバー」をクリックします。

  2. 設定を調べるアイデンティティ・サーバーの名前をクリックします。

  3. アイデンティティ・サーバーの詳細ページの下部にある「変更」をクリックします。

  4. リストを使用して、「ログのしきい値」を目的の値に設定します。

  5. 「保存」をクリックします。

    変更が即時に有効になります。ログ構成ファイル内でAUTOSYNCがTrueの場合は、変更がログ構成ファイルに書き込まれるため、サーバーの再起動後も変更が保持されます。

アイデンティティ・システム・コンソールでログ・ハンドラ定義を追加または削除する手順

  1. アイデンティティ・システム・コンソールで、「システム構成」サブタブをクリックし、次に左側のナビゲーション・ペインの「アイデンティティ・サーバー」リンクをクリックします。

  2. ログ・ハンドラ定義を追加するアイデンティティ・サーバーの名前をクリックします。

  3. ページの下部にある「変更」をクリックします。

    「アイデンティティ・サーバーの変更」ページが表示されます。

  4. 「ログ・ハンドラ定義」の下で、適切なアクションを実行します。

    • ログ出力構成を削除するには、適切なリンクの横のボックスをチェックし、「削除」をクリックします。

    • ログ・ライターを追加するには、「追加」をクリックします。

    「追加」をクリックした場合は、「新規ログ・ハンドラ定義を追加します。」ページが表示されます。

  5. 新規ログ・ライターの名前とログ・レベルを指定します。

  6. 「ログ・ハンドラ定義を表示または変更する手順」で説明したように、ログ・レベルが現在のログしきい値レベル以上であることを確認します。

    新規ログ・レベルが現在のしきい値レベルよりも低い場合は、「アイデンティティ・システム・コンソールからログしきい値を変更する手順」で詳細に説明したように、しきい値レベルを新しいログ・レベル以下に設定します。

  7. システム・ログ以外のファイルへの出力を選択する場合は、表10-7の説明に従ってファイル名とパスを指定する必要があります。

  8. 「保存」をクリックします。

10.8 異なるデータのタイプへの異なるしきい値レベルの構成

問題の診断では、コンポーネントが実行するすべての操作の詳細なログを必要としない場合があります。たとえば、アイデンティティ・サーバーがそのディレクトリに送信するリクエストの応答時間の遅れを診断する場合、LDAP操作の詳細ログを必要とし、それ以外タイプの操作は詳細でなくても構いません。

リリース10.1.4.2では、Oracle Access Managerで一部のコンポーネントの詳細なログを生成し、他のコンポーネントでは簡潔なログを生成するまたはログを生成しないように、モジュール固有または機能固有のしきい値レベルをログ構成ファイルで構成できます。

モジュール固有ロギングしきい値は、oblog_config.xmlファイルのMODULE_CONFIGセクションで構成します。MODULE_CONFIGセクションは、このファイルの単純なリストのセクション内のLOG_THRESHOLD_LEVELで指定するグローバルのデフォルトをオーバーライドします。

この項には、次の各項目が含まれます。

10.8.1 MODULE_CONFIGセクションについて

「ログ構成ファイルの構造およびパラメータ」で説明されているように、ログ構成ファイルでグローバル・ロギングしきい値を構成します。次に、グローバル設定LOG_THRESHOLD_LEVELの例を示します。

   <SimpleList>
      <NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_WARNING" />
      . . .
   </SimpleList>

グローバルしきい値に加えて、構成ファイルには、機能固有またはモジュール固有のログしきい値を定義するValNameListを含めることができます。常に、このリストの名前はMODULE_CONFIGです。ログ構成ファイルで許可されるのはこのリストの1つのインスタンスのみで、リストの情報はファイル内に定義されるすべてのログに適用されます。リリース10.1.4.2では、デフォルトのログ構成ファイルにはMODULE_CONFIGリストのコマンドのサンプルが含まれます。

MODULE_CONFIGリストの各項目は、次の例に示すように、モジュールのロギング・レベルを設定します。

<ValNameList xmlns="http://www.oblix.com" ListName="MODULE_CONFIG">
    <NameValPair ParamName="LDAP" Value="LOGLEVEL_TRACE"></NameValPair>
    <NameValPair ParamName="DB_RUNTIME" Value="LOGLEVEL_TRACE"></NameValPair>
</ValNameList>

このセクションの要素を次に示します。

  • ValNameListタグは、モジュール固有ロギングしきい値を区切ります。

  • 1つのNameValPairタグが、特定の各モジュール固有ロギングしきい値を区切ります。

  • ParamNameパラメータは、モジュールまたは機能の名前を設定します。

    使用可能な値のリストは、表10-8を参照してください。

  • Valueパラメータは、ParanNameパラメータの値として指定したモジュールのロギングしきい値を設定します。

    表10-1に、Valueパラメータで使用可能な値をリストします。これらの値に加えて、値を「オン」に設定するとモジュールのロギングを有効にし、値を「オフ」に設定すると特定のモジュールのロギングを無効にできます。

10.8.1.1 ログ構成ファイルのモジュール固有ロギング・セクションの場所

ログ構成ファイルの終了近く、ログ・ハンドラの複合リストの終了タグの後およびファイル内の最初の複合リストの終了タグの前に、モジュール固有しきい値セクションを追加します。

このセクションには、モジュール固有ロギング・セクションの例が含まれます。詳細は、「モジュール固有しきい値を構成する手順」を参照してください。

10.8.1.2 ログを記録できるモジュールのリスト

表10-8に、MODULE_CONFIGリスト内でParamNameパラメータに指定できる値のリストの一部を示します。

表10-8 モジュール固有ロギングしきい値に構成できるParamNameの値

ParamName値 このパラメータで設定するロギングしきい値

AAA_ACTIONS

アクセス・システムのポリシーの一部として構成された起動されるアクションのロギングしきい値を設定します。

<ValNameList xmlns="http://www.oblix.com"
       ListName="MODULE_CONFIG">
<NameValPair Paramname="AAA_ACTIONS" Value="OFF">
</NameValPair>

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AAA_AMENGINE

Access Managerエンジンで実行されたアクティビティのロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AAA_ISRESRCOPPROT

リソース操作が保護されるかどうかの決定に関連するすべてのアクセス・システム・アクティビティのロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

ACCESS_CLIENT

アクセス・クライアントのアクセス・ゲートまたはWebGateで実行された操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

ACCESS_GATE

アクセス・ゲートで実行された操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

ACCESS_MGR

ポリシー・マネージャで実行された操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

ACCESS_SDK

Access Manager SDKインタフェースで実行された操作のロギングしきい値を設定します。

詳細は、『Oracle Access Manager開発者ガイド』を参照してください。

ACCESS_SERVER

アクセス・サーバーで実行された操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AM_SDK

Access Manager SDKのロギングしきい値を設定します。

詳細は、『Oracle Access Manager開発者ガイド』を参照してください。

AUDIT

監査のロギングしきい値を設定します。

詳細は、「監査」を参照してください。

AUTHENTICATION

ユーザー認証操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AUTHN_MGMT

認証スキーム管理のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AUTHN_PLUGIN

認証プラグインで実行された操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AUTHORIZATION

ユーザー認可操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AUTHZ_MGMT

認可スキーム管理のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

AUTHZ_PLUGIN

認可プラグイン操作のロギングしきい値を設定します。

詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

CACHE

キャッシュ管理およびキャッシュ上の操作のロギングしきい値を設定します。

CONN_MGMT

接続管理のロギングしきい値を設定します。

CONN_RUNTIME

接続ランタイムのロギングしきい値を設定します。

CONNECTIVITY

クライアントとサーバー間の接続性およびメッセージのロギングしきい値を設定します。

DB_CONFIGURATION

データ・ストア・インタフェース・レイヤー構成のロギングしきい値を設定します。

DB_RUNTIME

データ・ストア・インタフェース・レイヤーのランタイムのロギングしきい値を設定します。

DIAGNOSTIC_FRAMEWORK

診断フレームワークのロギングしきい値を設定します。

GROUPDB

ディレクトリ内のグループ・マネージャ・データのアクセスをロギングするしきい値を設定します。

GROUP_MGR

グループ・マネージャ操作をロギングするしきい値を設定します。

HTTP_REQ

HTTPリクエスト処理をロギングするしきい値を設定します。

IDXML

IDXML操作をロギングするしきい値を設定します。

詳細は、『Oracle Access Manager開発者ガイド』を参照してください。

LDAP

LDAP SDKのロギングしきい値を設定します。次に例を示します。

<ValNameList xmlns="http://www.oblix.com"
        ListName="MODULE_CONFIG">
<NameValPair Paramname="LDAP" Value="LOGLEVEL_TRACE">
</NameValPair>

LPM

ロスト・パスワード管理をロギングするしきい値を設定します。

詳細は、「ロスト・パスワード管理」を参照してください。

NET

ネットワークAPIのロギングしきい値を設定します。

OBMYGROUPS

ObMyGroups処理のロギングしきい値を設定します。これは、検索を開始した人物がメンバーであるグループの検索を表します。

OIS_CLIENT

Identityクライアントのロギングしきい値を設定します。

OIS_ENGINE

アイデンティティ・サーバー・エンジンのロギングしきい値を設定します。

OIS_MGMT

アイデンティティ・システム管理のロギングしきい値を設定します。

OIS_SERVER

アイデンティティ・サーバーで実行された操作のロギングしきい値を設定します。

ORG_MGR

組織マネージャで実行された操作のロギングしきい値を設定します。

POLICY_MGMT

ポリシーおよびポリシー・ドメイン管理のロギングしきい値を設定します。

PPP

アイデンティティ・イベントAPIプラグイン操作のロギングしきい値を設定します。

詳細は、『Oracle Access Manager開発者ガイド』を参照してください。

QUERY_BUILDER

クエリー・ビルダー操作のロギングしきい値を設定します。

REQUEST_TIMINGS

コールで消費される時間のロギングしきい値を設定します。

詳細は、「リクエストの処理に要する時間のロギング」を参照してください。

SECURITY

セキュリティおよび暗号化ライブラリのロギングしきい値を設定します。

SELECTOR

セレクタ操作のロギングしきい値を設定します。

SERVER

サーバー・インフラストラクチャのロギングしきい値を設定します。

SNMP

SNMPアクティビティのロギングしきい値を設定します。

詳細は、「SNMPモニタリング」を参照してください。

SSOTOKEN

シングル・サインオン・トークン管理。

USER_ADMIN

ユーザー・マネージャ内の管理操作のロギングしきい値を設定します。

UIDINFO_CACHE

Uidinfoキャッシュのロギングしきい値を設定します。

USER_MGR

ユーザー・マネージャで実行された操作のロギングしきい値を設定します。

USER_SVR

ユーザー・サービス・センター(ユーザー・マネージャ)に対するIDXMLコールのロギングしきい値を設定します。

USERDB

ディレクトリ内のユーザー情報を検索するロギングしきい値を設定します。

UTILS

ユーティリティ・クラスのロギングしきい値を設定します。

WEB

Webサーバー・プラグイン・インタフェースのロギングしきい値を設定します。

WORKFLOW_EXEC

ワークフロー実行のロギングしきい値を設定します。

詳細は、「アイデンティティ機能とワークフローの連携」を参照してください。

WORKFLOW_MGMT

ワークフロー構成および管理のロギングしきい値を設定します。

詳細は、「アイデンティティ機能とワークフローの連携」を参照してください。

XML

XMLインフラストラクチャのロギングしきい値を設定します。


10.8.2 機能またはモジュールに対するログ・レベルしきい値の構成

次の手順では、機能固有またはモジュール固有のログ・レベルしきい値を構成する方法について説明します。


注意:

次の例は、モジュール固有ロギングしきい値に関する拡張コメントのあるログ構成ファイルを示しています。10.1.4.2パッチ・リリースがインストールされている場合、コメントはこのファイルには表示されません。

モジュール固有しきい値を構成する手順

  1. 次の場所にあるログ構成ファイルを開きます。

    component_install_dir\identity|access\oblix\config

    component_install_dirはロギングを構成するコンポーネントがインストールされているディレクトリで、identity|accessはアイデンティティ・システムとアクセス・システムの指定をそれぞれ表します。

  2. MODULE_CONFIGListNameが指定されたValNameListセクションがこのファイル内に存在していない場合、次のようなセクションを作成します。

    <ValNameList xmlns="http://www.oblix.com" ListName="MODULE_CONFIG">
    </ValNameList>
    

    ログ・ハンドラ定義を含むコンポーネント・リストの終了タグの後に、このリストを置きます。終了タグの直後にコメントがある場合、コメントの後にリストを置きます。

  3. 新しいValNameList要素の開始タグと終了タグとの間に、1つ以上のNameValPair要素を構成します。

    この要素には、ParamNameパラメータおよびValueパラメータが含まれます。ParamNameパラメータに指定できるモジュールの詳細は、表10-8を参照してください。値の詳細は表10-1を参照してください。または、OnOffの値を指定してください。次に、例を示します。

    <NameValPair ParamName="LDAP" Value="LOGLEVEL_TRACE"></NameValPair>
    

    ValNameList内に複数のValNamePair要素を指定できます。

    完全なモジュール固有ロギングしきい値セクションは、次に示す例で太字で表示されています。

    <!--  ============================================================   -->
    <!--  Configure the Log Level                                        -->
    . . .
    <CompoundList xmlns="http://www.oblix.com" ListName="LOG_CONFIG">
    
    <!-- Write all FATAL logs to the system logger. -->
    <ValNameList xmlns="http://www.oblix.com" ListName="LogFatal2Sys">
         <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_FATAL">
         </NameValPair>
         <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter">
         </NameValPair>
         <NameValPair ParamName="LOG_STATUS" Value="On">
         </NameValPair>
    </ValNameList>
    . . .
    </CompoundList>
    <!--  List of values that can be specified in the module config      -->
    <!--                                                                 -->
    <!--  On - Uses loglevel set in the loglevel threshold               -->
    <!--  Off - No information is logged                                 -->
    <!--  LOGLEVEL_FATAL - serious error, possibly a program halt.       -->
    <!--  LOGLEVEL_ERROR - a transient or self-correcting problem.       -->
    <!--  LOGLEVEL_WARNING - a problem that does not cause an error.     -->
    <!--  LOGLEVEL_INFO - reports the current state of the component.    -->
    <!--  LOGLEVEL_DEBUG1 - basic debugging information.                 -->
    <!--  LOGLEVEL_DEBUG2 - advanced debugging information.              -->
    <!--  LOGLEVEL_DEBUG3 - logs performance-sensitive code.             -->
    <!--  LOGLEVEL_TRACE - used when you need to trace the code path     -->
    <!--  execution or capture metrics. Includes all previous levels.    -->
    <!--                                                                 -->
    <!--  List of modules that can be specified in the module config     -->
    <!--                                                                 -->
    <!--  ALL_MODULES - Applies to all log modules                       -->
    <!--  Specific module name - Applies to specific module              -->
    <!--                                                                 -->
    <!--                                                                 -->
    <!--    <ValNameList                                                 -->
    <!--        xmlns="http://www.oblix.com"                             -->
    <!--        ListName="MODULE_CONFIG">                                -->
    <!--        <NameValPair                                             -->
    <!--            ParamName="CONNECTIVITY"                             -->
    <!--            Value="LOGLEVEL_TRACE"></NameValPair>                -->
    <!--    </ValNameList>                                               -->
    
        <ValNameList xmlns="http://www.oblix.com" ListName="MODULE_CONFIG">
            <NameValPair ParamName="LDAP" Value="LOGLEVEL_TRACE"></NameValPair>
            <NameValPair ParamName="DB_RUNTIME" Value="LOGLEVEL_TRACE">
            </NameValPair>
        </ValNameList>
    
    </CompoundList>
    

10.9 機密属性のフィルタ処理

前述のように、セキュア・ロギングをアクティブ化してデフォルトのフィルタ・リストを拡張すると、ログ・ファイルの機密情報をマスキングできます。

フィルタ・リストに別の属性を追加する場合は、表示名および属性名をディレクトリ・サーバーに含める必要があります。次の手順では、このタスクの実行方法を説明します。この例では、ユーザーの自宅電話番号(表示名はHome Phone、属性名はhomePhone)をフィルタ処理します。実際には、任意の属性をフィルタ処理できます。


注意:

FILTER_LISTに値を追加するごとに、セキュア・ロギングの使用にかかるランタイム・コストが増加します。

ランタイム・コストを抑えるために、FILTER_LISTの使用を最適化することをお薦めします。たとえば、ParamNameの2つのバリエーション(User PasswordとuserPassword)を追加するかわりに、1つのみを使用できます。ParamNameとしてPasswordを使用すると、User Password、userPassword、およびPasswordで終わるその他の単語がマスキングされます。また、FILTER_LISTにHome PhoneとhomePhoneの両方を含めるかわりに、Phoneのみを使用できます。

アイデンティティ・サーバーおよびWebパスのログでユーザー・パスワードをフィルタ処理する場合は、WebGateを無効にする必要があります(次の手順を参照してください)。ユーザー・パスワードをフィルタ処理しない場合は、関連する手順をスキップしてください。

フィルタ・リストに機密属性を追加する手順

  1. アイデンティティ・システム・コンソールで、フィルタ処理する表示名および属性名を探します。これを行うには、「共通構成」→「オブジェクト・クラス」をクリックします。

  2. 次のように、属性および対応する表示名を変更します。

    1. 構成済Personオブジェクトをクリックします(例: genSiteOrgPerson)。

    2. 「属性の変更」ボタンをクリックします。

    3. スクロールして、目的の属性および対応する表示名を探します。

    4. 「属性の変更」ページのリストで、手順6でフィルタ・リストに追加する属性名と表示名を探します。

      属性: homePhone

      表示名: Home Phone

  3. テキスト・エディタで適切なログ構成ファイルを開きます。

    component_install_dir\identity|access\oblix\config\oblog_config.xml

    component_install_dirは、セキュア・ロギングを構成するコンポーネントがインストールされているディレクトリです。

  4. oblog_config.xmlで次の手順を行います。

    1. セキュア・ロギングがアクティブであることを確認します。次に例を示します。

      <SimpleList>
         <NameValPair
            ParamName="SECURE_LOGGING"
            Value="On"></NameValPair>
      </SimpleList>
      
    2. ファイルの最後にあるFILTER_LISTを探します。次に例を示します。

          <ValNameList xmlns="http://www.oblix.com" ListName="FILTER_LIST">
             <NameValPair ParamName="password" Value="40" />
             <NameValPair ParamName="Password" Value="40" />
             <NameValPair ParamName="response" Value="40" />
             <NameValPair ParamName="Response" Value="40" />
          </ValNameList>
      
    3. マスキングする表示名とマスキングの長さの値を追加し、属性とマスキングの長さの値を追加します。次に例を示します。

             <NameValPair ParamName="Home Phone" Value="300" />
             <NameValPair ParamName="homePhone" Value="300" />
      

      注意:

      テスト用に、LOG_THRESHOLD_LEVELおよびLOG_SECURITY_THRESHOLD_LEVELTRACEに設定します。手順6aを参照してください。

    4. LOG_THRESHOLD_LEVELLOG_SECURITY_THRESHOLD_LEVELが同じレベルである、または互いに一貫性があることを確認します(表10-4を参照してください)。次に例を示します。

      <SimpleList>
         <NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_WARNING" />
      </SimpleList>
      ...
      <SimpleList>
         <NameValPair ParamName="LOG_SECURITY_THRESHOLD_LEVEL" Value="LOGLEVEL_
         WARNING" />
      </SimpleList>
      
    5. oblog_config.xmlファイルを保存します。

  5. ユーザー・パスワードのフィルタ処理: 次の手順を実行し、「フィルタ・リスト」を参照します。

    1. oblog_config.xmlのフィルタ・リストに表示名User Passwordおよび対応する属性を追加し、それぞれのマスキングの長さを設定します。次に例を示します。

          <ValNameList xmlns="http://www.oblix.com" ListName="FILTER_LIST">
            ...
             <NameValPair ParamName="User Password" Value="40" />
             <NameValPair ParamName="userPassword" Value="40" />
          </ValNameList>
      
    2. WebGateの無効化: アクセス・システム・コンソールの「アクセス・システム構成」タブ→「アクセス・ゲート構成」をクリックして「WebGate」を探します。名前のリンクをクリックし、構成ページの「状態」で「無効」をクリックして変更を保存します。

      ユーザー・パスワードのフィルタ処理の詳細は、「フィルタ・リスト」を参照してください。WebGateの構成の詳細は、『Oracle Access Managerアクセス管理ガイド』を参照してください。

    3. アイデンティティ・システムにログインします。

  6. 次の手順で、セキュア・ロギングおよび機密情報のフィルタ処理をテストします。

    1. oblog_config.xmlファイルで、LOG_THRESHOLD_LEVELおよびLOG_SECURITY_THRESHOLD_LEVELTRACEに設定します。

         <NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_TRACE" />
      ...
         <NameValPair ParamName="LOG_SECURITY_THRESHOLD_LEVEL" Value="LOGLEVEL_
         TRACE" />
      
    2. ユーザー・プロファイルで、フィルタ処理される属性に値が含まれることを確認します。たとえば、次の作業を実行します。

      アイデンティティ・システム・コンソールで「ユーザー・マネージャ」をクリックします。

      ユーザー・マネージャで「プロファイル」をクリックします。

      プロファイルで属性を探し、エントリが存在することを確認します。

    3. セキュア・ロギングを構成したコンポーネントに関係するタスクを実行します。たとえば、次の作業を実行します。

      アクセス・サーバーのセキュア・ロギングを構成した場合は、リソースにアクセスします。

      ユーザーのプロファイルで属性の値を表示または変更します。フィルタ処理する属性がhomePhoneの場合はHome Phoneです。

    4. 次のoblogをチェックし、フィルタ処理した属性値が***********のように文字列でマスキングされていることを確認します。

      component_install_dir/identity|access\oblix/log/oblog.log

      たとえば、アクセス・サーバーのセキュア・ロギングを実装した場合は、アクセス・サーバーのログ・ファイルでユーザー・パスワードの値がマスキングされます。ユーザーのプロファイルで属性の値(たとえばHome Phone)を表示または変更すると、アイデンティティ・サーバーのログ・ファイルではHome Phoneの値が***********のようにマスキングされます。

    5. oblog_config.xmlファイルでLOG_THRESHOLD_LEVELおよびLOG_SECURITY_THRESHOLD_LEVELを企業の目的に合ったレベルに再設定します。

    6. 必要に応じて、oblog_config.xmlファイルでフィルタ処理する属性のマスキングの長さを調整します。次に例を示します。

          <NameValPair ParamName="Home Phone" Value="340" />
          <NameValPair ParamName="homePhone" Value="340"/>
      
  7. デプロイ内の、1つ以上のマスキング対象属性を含むコンポーネントごとに、手順1〜6を繰り返します。

10.10 リクエストの処理に要する時間のロギング

キャパシティ・プランニングおよびパフォーマンス・チューニングのために、外部コンポーネントへのコールを処理する所要時間のログを作成できます。たとえば、キャパシティ・プランニングを実行する場合、最も時間を要するディレクトリ・サーバーへのコールを知ることができます。これらのコールの識別後、ディレクトリ管理者に適切な索引を設定するように求めてください。または、クライアントIPアドレスを分析して、コールを最も多く処理しているコンポーネントを判別してください。通信量の多い複数のWebパス・インスタンスからのコールをアイデンティティ・サーバーが受信している場合、ログに表示されます。内部ユーザーのIPアドレスからのコールが、外部ユーザーのIPアドレスからのコールよりもはるかに多い場合、内部ユーザーにアイデンティティ・サーバーを追加して増やすことができます。

リクエスト処理時間のログを受信すると、期待より時間を要したサーバーも判別できます。これらのログにより、リクエストするWebコンポーネントのIPアドレスを取得できます。また、様々なリクエスト・キューがログに表示されるため、パフォーマンスのボトルネックの場所を判別できます。

この項には、次の各項目が含まれます。

10.10.1 リクエスト時間ログで取得されるコールについて

表10-9に、リクエスト時間ログで取得されるコールをリストします。

表10-9 ログに書き込まれる外部コンポーネントへのコールのリスト

コンポーネント ログが記録されるコール

アイデンティティ・サーバーおよびアクセス・サーバー

  • LdapAddCall

  • LdapDeleteCall

  • LdapSearchCall

  • LdapModifyCall

  • LdapBindCall

  • LdapGetDnCall

  • LdapOtherCall

  • AuditDBコール

アイデンティティ・サーバー固有

  • アイデンティティ・サーバーからアイデンティティ・サーバーへのキャッシュ・フラッシュ・コール

  • アイデンティティ・サーバーからアクセス・サーバーへのコール

  • 外部プラグイン(IdentityプラグインまたはPPPプラグイン)へのコール

アクセス・サーバー固有

  • 認証プラグイン・コール

  • 認可プラグイン・コール


10.10.2 ログでのリクエスト時間の解析について

表10-10に示すように、各リクエスト時間ログには出力が4行あります。次の項目が、この表で特に重要です。

  • 3行目に、ほとんどの時間のリクエストが特定のWebパスまたはWebGateのリクエストであることが示されている場合、負荷を再分散する必要がある場所を確認できます。

  • 4行目に、異なるタイプのコールに要した時間およびコールのタイプの頻度が示されます。

    この行の情報は、最も長く時間を要するリクエストのタイプを表します。

表10-10に、LOGLEVEL_INFOログのREQUEST_TIMINGSエントリの例を示します。"OIS"は、アイデンティティ・サーバーで使用頻度が高いことを示す略語で、"PPP"はアイデンティティ・システム・プラグインで使用頻度が高いことを示す略語です。

表10-10 ログ出力のREQUEST_TIMINGSコールの例および説明

内容および説明

1行目

1行目には、次の例に示すように、リクエストを開始したプログラムが表示されます。

2007/06/01@01:13:50.125000    5932    4892    REQUEST_TIMINGS    
INFO    0x0000093A    obmessagechannel.cpp:410    "Request Received"    
_seqno^38    _opcode^12    _program^workflowSaveCreateProfile

2行目

2行目には、リクエストが処理のためにリクエスト・キューから取得されたことが示されます。この行には、ログ・メッセージおよび待機時間が出力され、処理される前にリクエスト・キュー内でリクエストが要した時間が示されます。ログ出力のMessageThreadIDで、特定のリクエストに対してスレッドが処理した操作を確認できます。リクエストの処理の終了後、スレッドは新しいリクエストに割り当てられます。

2007/06/01@01:13:50.125000    5932    3980    REQUEST_TIMINGS    
INFO    0x0000093B    servicethread.cpp:109    "Request started 
executing"    Waiting time for the Request^0.000769    
MessageThreadID^4892    _seqno^38    _opcode^12

3行目

3行目には、リクエストが処理中であることが表示され、リクエストを発行したWebパスまたはWebGateのIPアドレスを示されます。この行には、次の例に示すように、ログ・メッセージが出力され、リクエストしているクライアントのIPアドレスが表示されます。

2007/06/01@01:13:50.125000    5932    3980    REQUEST_TIMINGS    
INFO    0x0000093C    data\module_main.cpp:614    "Request is being 
executed"    _programName^workflowSaveCreateProfile    
_ClientIP^111.11.11.111

4行目

4行目には、次の例に示すように、LDAPコール、監査コール、プラグイン・コール、フラッシュ・コールおよびキュー・サイズが表示されます。

2007/06/01@01:13:52.812000    5932    3980    REQUEST_TIMINGS    
INFO    0x0000093D    servicethread.cpp:143    "Processing time for 
this request"    queue size^0    MessageThreadID^4892    _seqno^38    
_opcode^12    Total_Dura^2.687061    LdapAllCalls_Freq^55    
LdapAllCalls_Dura^0.014618    LdapAddCalls_Freq^9    LdapAddCalls_
Dura^0.001843    LdapDeleteCalls_Freq^0    LdapDeleteCalls_
Dura^0.000000    LdapSearchCalls_Freq^28    LdapSearchCalls_
Dura^0.010169    LdapModifyCalls_Freq^4    LdapModifyCalls_
Dura^0.001000    LdapBindCalls_Freq^1    LdapBindCalls_Dura^0.000155    
LdapGetDNCalls_Freq^13    LdapGetDNCalls_Dura^0.001452    
LdapOtherCalls_Freq^0    LdapOtherCalls_Dura^0.000000    
AuditDBCall_Freq^0    AuditDBCall_Dura^0.000000    PPPPluginCall_
Freq^0    PPPPluginCall_Dura^0.000000    OIS2OISflush_Freq^0    
OIS2OISflush_Dura^0.000000    OIS2AAACALL_Freq^0    OIS2AAACALL_
Dura^0.000000

10.10.3 外部リクエストの時間データを取得するためのログ・ファイルの構成

モジュールごとに、リクエスト処理時間のログを取得できます。これをするには、ログ構成ファイルのMODULE_CONFIGセクションにREQUEST_TIMINGSパラメータを追加します。次の手順では、ログのリクエスト処理時間のみを取得する方法について説明します。


注意:

次の例は、モジュール固有ロギングしきい値に関する拡張コメントのあるログ構成ファイルを示しています。10.1.4.2パッチ・リリースがインストールされている場合、コメントはこのファイルには表示されません。

外部リクエストの処理に要する時間をロギングする手順

  1. 次のファイルを開きます。

    component_install_dir\identity|access\oblix\config\oblog_config.xml

    component_install_dirはコンポーネント(例: アイデンティティ・サーバー)がインストールされているディレクトリです。

  2. MODULE_CONFIGListNameが指定されたValNameListセクションがこのファイル内に存在していない場合、次のようなセクションを作成します。

    <ValNameList xmlns="http://www.oblix.com" ListName="MODULE_CONFIG">
    </ValNameList>
    

    ログ・ハンドラ定義を含むコンポーネント・リストの終了タグの後に、このリストを置きます。終了タグの直後にコメントがある場合、コメントの後にリストを置きます。

  3. ログに書き込まれる情報を、異なるタイプのコールにより消費された時間のみに制限する場合、MODULE_CONFIGセクションに、REQUEST_TIMINGSパラメータを含むリスト(次に示す例で太字で表示されています)を追加します。

    MODULE_CONFIGセクションの詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。

    <!--  ============================================================   -->
    <!--  Configure the Log Level                                        -->
    . . .
    <CompoundList xmlns="http://www.oblix.com" ListName="LOG_CONFIG">
    
    <!-- Write all FATAL logs to the system logger. -->
    <ValNameList xmlns="http://www.oblix.com" ListName="LogFatal2Sys">
         <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_FATAL">
         </NameValPair>
         <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter">
         </NameValPair>
         <NameValPair ParamName="LOG_STATUS" Value="On">
         </NameValPair>
    </ValNameList>
    . . .
    </CompoundList>
    <!--  List of values that can be specified in the module config      -->
    <!--                                                                 -->
    <!--  On - Uses loglevel set in the loglevel threshold               -->
    <!--  Off - No information is logged                                 -->
    <!--  LOGLEVEL_FATAL - serious error, possibly a program halt.       -->
    <!--  LOGLEVEL_ERROR - a transient or self-correcting problem.       -->
    <!--  LOGLEVEL_WARNING - a problem that does not cause an error.     -->
    <!--  LOGLEVEL_INFO - reports the current state of the component.    -->
    <!--  LOGLEVEL_DEBUG1 - basic debugging information.                 -->
    <!--  LOGLEVEL_DEBUG2 - advanced debugging information.              -->
    <!--  LOGLEVEL_DEBUG3 - logs performance-sensitive code.             -->
    <!--  LOGLEVEL_TRACE - used when you need to trace the code path     -->
    <!--  execution or capture metrics. Includes all previous levels.    -->
    <!--                                                                 -->
    <!--  List of modules that can be specified in the module config     -->
    <!--                                                                 -->
    <!--  ALL_MODULES - Applies to all log modules                       -->
    <!--  Specific module name - Applies to specific module              -->
    <!--                                                                 -->
    <!--                                                                 -->
    <!--    <ValNameList                                                 -->
    <!--        xmlns="http://www.oblix.com"                             -->
    <!--        ListName="MODULE_CONFIG">                                -->
    <!--        <NameValPair                                             -->
    <!--            ParamName="CONNECTIVITY"                             -->
    <!--            Value="LOGLEVEL_TRACE"></NameValPair>                -->
    <!--    </ValNameList>                                               -->
    <!--  Write only REQUEST_TIMINGS logs when when using LOGLEVEL_INFO. -->
        <ValNameList xmlns="http://www.oblix.com" ListName="MODULE_CONFIG">
             <NameValPair ParamName="REQUEST_TIMINGS" Value="LOGLEVEL_INFO">
        </ValNameList>
    
    </CompoundList>