ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11gリリース2 (11.1.2.2) for All Platforms
B69533-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 Webゲート・イベント・メッセージのロギング

各Webゲート・インスタンス(10gおよび11g Webゲートの両方)は、プロセスおよび状態に関する情報をログ・ファイルに書き込むことができます。ログは、様々なレベルの粒度で情報を提供するように設定できます。たとえば、エラーの記録、エラーおよび状態情報の記録、またはエラーと状態に加えてデバッグ・トレース・レベルのその他の情報を記録することもできます。また、ログから機密情報を削除することもできます。


注意:

特に明記しないかぎり、この項のすべての情報は10gと11gのWebgateに同様に適用されます。たとえば、ログ構成oblog_config_wg.xmlの場所は11gでは変更されましたが、ファイルの内容と他の詳細はほとんど変更されていません。

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

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

ロギング機能により、システムのパフォーマンスを分析し、問題をトラブルシューティングできます。次のコンポーネントの個別のWebゲート・インスタンスのロギングを構成できます。

  • 10g Webゲート

  • 11g Webゲート

  • カスタム・アクセス・クライアント(Access Manager SDK)

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

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

ロギングの構成: Webgateとともに格納される構成ファイルを編集して、ロギングを構成します。「ログ構成ファイルのパスおよび内容について」を参照してください。

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

ログ出力先: ログ構成ファイルでは、ログ・ライターと呼ばれるパラメータがログ出力の宛先を決定します。詳細は、「ファイルまたはシステム・ファイルへのログ出力の送信について」を参照してください。ログ・ライターまたはログ・レベルを識別して、ログ出力の完全な定義を作成します。この完全な定義はログ・ハンドラと呼ばれます。詳細は、「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 Access Manager API

> 150サード・パーティAPI

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

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

LOGLEVEL_ ALL

> 5000

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


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

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

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


注意:

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

10.1.2 ログ出力について

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

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

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"または"Function returned"などのこのログ・レベルに割り当てられたログ・メッセージがあり、次に示すような機能の名前が続きます。

"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 ログ構成ファイルのパスおよび内容について

ログ構成ファイルoblog_config_wg.xmlは、Webgateロギング(oblogs)の構成詳細を指定するために使用します。

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

この後の項では、次の項目について説明します。

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

デフォルトでは、Webgateロギングは有効であり、oblogsがOracle HTTP Server (OHS)インスタンス診断ディレクトリinstance1/diagnostics/logs/OHS/ohs1/に生成されます。

各Webgateインスタンスにはログ構成ファイル(oblog_config_wg.xml)があり、ここでログ出力内に記録するデータのタイプを定義します。ログ構成ファイルはログ出力ファイルとは異なります。ログ出力ファイルの詳細は、「ログ出力について」を参照してください。

oblog_config_wg.xmlファイルは、Webgateロギングを編集して構成すると更新されます。たとえば、新しいログしきい値レベルの設定、ログ・ファイル名の変更、またはいくつかのモジュールに関連するログのフィルタリングなどをした場合です。

ログ構成ファイルoblog_config_wg.xmlは、ご使用のWebgateバージョンに応じて次の場所に存在します。

10g Webgate: Webgate_install_dir\oblix\config

11g Webgates: $WEBGATE_HOMEまたは$ORACLE_HOME/webgate/ohs/config同じoblog_config_wg.xmlファイルが、Webgateインスタンスが作成されるとWebgateインスタンス・ディレクトリ($INSTANCE_HOME/webgate/config)にコピーされます。後者はロギング構成時に使用されます。


注意:

このファイルのパスは変更しないでください。複数のインスタンスをインストールすると、インスタンスごとにログ構成ファイルがインストールされます。ロギングを構成するときは、$INSTANCE_HOMEの下のoblog_config_wg.xmlを更新する必要があります。

インストール後は、oblog_config_wg.xmlとoblog_config_wg_original.xmlの両方に、編集のガイドとして役立つコメントが含まれます。

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

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

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

Webgate

oblog_config_wg.xml

Access Manager SDK (カスタム・アクセス・クライアント)

oblog_config.xml



重要:

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

oblog_config_wg.xmlファイルの編集では、ファイルを更新した後も有効なXMLであることが明確であれば、任意のテキスト・エディタを使用できます。ファイルの更新後、変更は約60秒で有効になります。

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

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

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

  • データの送信先

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

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

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

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

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

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 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

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

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

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

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

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_wg.xmlファイルの最初の複合リストに表示されるグローバル設定を含む単純なリストを示しています。

例10-2 グローバル設定を含む単純なリスト(oblog_config_wg.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パラメータに関連付けられている名前と値の各ペアは、ログへの書込みの前にチェックする単語やフレーズの名前、およびその単語またはフレーズのマスキングの長さを指定します。ロギング時には、その単語またはフレーズがマスキングされ、ログ・ファイルから削除されます。

つまり、ロギング時には、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>

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

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

セカンダリ

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

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

セカンダリ

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


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.logoblog.log1081303126になります。新しいデータは、元の名前のファイルに書き込まれます。

52428800

(512KB)

MAX_ ROTATION_ TIME

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

ローテーション時間によってファイルがいつローテーションされるかが決定する場合、ログ・ファイルに追加される数値はローテーション間隔の秒数だけ異なります。たとえば、oblog.log.1081389526oblog.log.1081303126には84,600 (24時間を秒で表した数値)の差があります。これは、ログ構成ファイルで設定されたローテーション間隔です。

86400

(1日の秒数)


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

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

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

SolarisおよびLinux環境の場合、システム・ログの場所はシステム構成ファイルに記録されますが、このシステム構成ファイルの細目はコンピュータごとに異なる場合があります。このシステム・ファイルやシステム・ログの名前と場所については、システム・ログを調べるコンポーネントのホストとなるコンピュータの所有者に相談してください。

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

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

<?xml version="1.0" encoding="utf-8"?>
<CompoundList        
   xmlns="http://www.oblix.com 
   ListName="oblog_config_wg.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というログ・データ・ファイルの両方に送信します。

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

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

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

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

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

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

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

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

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

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

図10-1は、デフォルトのログ構成ファイルでのログレベルのアクティブ化を示します。

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

構成可能なログ・レベル。
「図10-1 デフォルトのログ構成ファイルでのログレベルのアクティブ化」の説明

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

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

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

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

この後の項では、次の項目について説明します。

10.7.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パラメータは、ParamNameパラメータの値として指定したモジュールのロギングしきい値を設定します。

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

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

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

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

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

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

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

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

AAA_ACTIONS

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

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

AAA_AMENGINE

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

AAA_ISRESRCOPPROT

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

ACCESS_CLIENT

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

ACCESS_GATE

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

ACCESS_SDK

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

詳細は、Oracle Fusion Middleware Oracle Access Management開発者ガイドを参照してください。

ACCESS_SERVER

OAMサーバーで実行される操作のロギングしきい値を設定します。

AM_SDK

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

詳細は、Oracle Fusion Middleware Oracle Access Management開発者ガイドを参照してください。

AUDIT

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

詳細は、第9章を参照してください。

AUTHENTICATION

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

AUTHN_MGMT

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

AUTHN_PLUGIN

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

AUTHORIZATION

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

AUTHZ_MGMT

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

AUTHZ_PLUGIN

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

CACHE

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

CONN_MGMT

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

CONN_RUNTIME

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

CONNECTIVITY

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

DB_CONFIGURATION

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

DB_RUNTIME

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

DIAGNOSTIC_FRAMEWORK

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

GROUPDB

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

GROUP_MGR

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

HTTP_REQ

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

IDXML

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

詳細は、Oracle Fusion Middleware Oracle Access Management開発者ガイドを参照してください。

LDAP

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

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

NET

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

OBMYGROUPS

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

OIS_CLIENT

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

POLICY_MGMT

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

PPP

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

詳細は、Oracle Fusion Middleware Oracle Access Management開発者ガイドを参照してください。

QUERY_BUILDER

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

SECURITY

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

SELECTOR

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

SERVER

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

SSOTOKEN

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

UTILS

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

WEB

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

XML

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


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

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

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

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

    Webgate_install_dir\identity|access\oblix\config

  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を参照するか、OnまたはOffの値を指定できます。次に、例を示します。

    <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.8 機密属性のフィルタリング

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

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


注意:

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

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

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

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

    Webgate_install_dir\identity|access\oblix\config\oblog_config_wg.xml

  2. oblog_config_wg.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_wg.xmlファイルを保存します。

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

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

        <ValNameList xmlns="http://www.oblix.com" ListName="FILTER_LIST">
          ...
           <NameValPair ParamName="User Password" Value="40" />
           <NameValPair ParamName="userPassword" Value="40" />
        </ValNameList>
    
  4. 次の手順で、セキュア・ロギングおよび機密情報のフィルタリングをテストします。

    1. oblog_config_wg.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. セキュア・ロギングを構成したコンポーネントに関係するタスクを実行します。例:

      リソースへのアクセス

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

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

      Webgate_install_dir/access/oblix/log/oblog.log

    4. oblog_config_wg.xmlファイルでLOG_THRESHOLD_LEVELおよびLOG_SECURITY_THRESHOLD_LEVELを企業の目的に合ったレベルにリセットします。

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

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