ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Manager管理者ガイド
11g リリース1(11.1.1)
B62265-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

13 コンポーネント・イベント・メッセージのロギング

ロギングは、コンポーネントがファイルにメッセージを書き込むためのメカニズムです。OAMの管理者は、ロギング・メカニズムを使用して重要なコンポーネント・イベントを取得することができます。ロギングの構成とログ・ファイルの検索がこの章の焦点です。ログ・ファイルの情報を使用した問題診断については、このマニュアルでは取り上げません。

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

OAMコンポーネント・イベントのロギングの概要

Oracle Access Manager 11gのコンポーネントは、Oracle Fusion Middleware 11gの他のコンポーネントと同じロギング・インフラストラクチャとガイドラインを使用しています。これはjava.util.loggingパッケージを使用して行ないますが、このパッケージは標準的なもので、すべてのJava環境で使用することができます。ロギング・システムはフラット・ファイルにのみ出力を書き出します。Oracle Databaseインスタンスへのロギングはサポートされていません。

ログ・メッセージは問題の診断に使われます。ロギング・インフラストラクチャは、OAMコンポーネントからのメッセージを記録します。管理者は、ロガーの定義対象となる各OAMコンポーネントに対してログ・レベルを指定することにより、メッセージ内の記録情報量を制御します。


注意:

一般に、ユーザーは、問題診断のためにOracleテクニカル・サポートへ送るファイルを作成するためにロギングを有効にします。ログ・メッセージに関するドキュメントはありません。場合によっては、ログ・ファイルを参照することによってユーザー自身で問題を診断できることもあります。

デフォルトでは、すべてのOAMコンポーネントのログ・レベルが「通知」レベルになっています。「エラー」レベルでのロギングで生成される出力は少量ですが、他のログ・レベルではロギング出力が大量になることがあり、その場合はOAMのパフォーマンスに影響します。本番環境では、通常はロギングを無効にするか、ロギング出力量が少くなるようなレベル(たとえばエラー・レベル)に設定します。

Oracle Access Managerは、WebLogicコンテナのロギング・デフォルトを使用します。

以下のイベントは自動的に記録されます。


関連項目:

Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイドのロギング情報

OAMコンポーネント・ロガーについて

下の表に示すように、それぞれのOAMコンポーネントには対応するロガー名が関連付けられています。

表13-1 OAMサーバー側コンポーネント

コンポーネント名 OAMロガー名

プロトコル・バインディング

oracle.oam.binding

SSOコントローラ

oracle.oam.controller.sso

OAMプロキシ

oracle.oam.proxy.oam

OSSOプロキシ

oracle.oam.proxy.osso

資格証明コレクタ

oracle.oam.credcollector

パートナーのリモート登録

oracle.oam.engine.remotereg

管理コンソール

oracle.oam.admin.console

管理サービス構成

oracle.oam.admin.service.config

診断とモニタリング

oracle.oam.diag


表13-2 OAM共有サービス・エンジン・コンポーネント

コンポーネント名 OAMロガー名

認証エンジン

oracle.oam.engine.authn

ポリシー・サービス・エンジン

oracle.oam.engine.policy

セッション管理エンジン

oracle.oam.engine.session

トークン・エンジン

oracle.oam.engine.token

SSOエンジン

oracle.oam.engine.sso

PartnerTrustMetadataエンジン

oracle.oam.engine.ptmetadata

認可エンジン

oracle.oam.engine.authz


表13-3 OAM基盤APIコンポーネント

コンポーネント名 OAMロガー名

セッション・アクセス

oracle.oam.session.access

セッション・アクセス実行

oracle.oam.session.accessimpl

ポリシー・アクセス

oracle.oam.policy.access


サンプル・ロガーとログ・ハンドラ定義

例13-1logging.xmlファイル内のロガーとログ・ハンドラの構成を示します。


関連項目:

『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』のロギング情報

例13-1 ロガーとログ・ハンドラの構成

<logging_configuration>

  <log_handlers>
    <log_handler name='oam-handler' class='oracle.core.ojdl.logging.
    ODLHandlerFactory'>
      <property name='path' value='oam/diagnostic'/>
      <property name='maxFileSize' value='10485760'/>
      <property name='maxLogSize' value='104857600'/>
    </log_handler>
  </log_handlers>

  <loggers>
    <logger name='oracle.security.am' level='NOTIFICATION:1'>
      <handler name='oam-handler'/> 
      ...
    </logger>
  </loggers>

</logging_configuration>

関連項目:

Java EEロギングの詳細については、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』の付録I、I.1.1項を参照してください。

ロギング・レベルについて

ロガーによるデータ出力の量はそのレベルによって制御され、レベルが高いほど記録される情報量も多くなります。ロガーのレベルは、ファイルlogging.xml内の<logger>という要素によって指定されます。フォーマットは以下のとおりです。

<logger name="loggerName" level="notifLevel"/>

ここで、loggerNameはロガー名(表13-1表13-2、および表13-3)で、notifLevelはODLメッセージ・レベルまたはJavaメッセージ・レベルです。

表13-4に、ODLメッセージ・レベルとJavaメッセージ・レベルの対応を昇順に示します。

表13-4 ODLレベルとJavaレベルの対応

ODLメッセージ・レベル Javaメッセージ・レベル

INCIDENT_ERROR:1

SEVERE.intValue()+100

ERROR:1

SEVERE(例外を記録)

WARNING:1

WARNING(例外を記録)

NOTIFICATION:1

INFO(デフォルト)

NOTIFICATION:16

CONFIG

NOTIFICATION:32

INFO and CONFIG

TRACE:1

FINE(状況によっては本番環境に推奨)

TRACE:16

FINER(本番環境には推奨しない)

TRACE:32

FINEST(本番環境には推奨しない)


上記に挙げられていない他のJavaレベル値は(つまり、SEVERE.intValue()+100からFINESTまでの範囲にないもの)、ODLレベルのUNKNOWNに相当します。

カスタムWLSTコマンドを使用したOracle Access Managerのロギング構成

グラフィカル・ユーザー・インタフェースはロガー・レベルの変更には使用できません。使用できるのはWLSTコマンドだけです。この項の内容は次のとおりです。

Oracle Access Managerのロガー・レベル変更

管理者は、以下に示す手順に従い、OAM用のカスタムWLSTコマンドを使用してOAMのロガーの設定を変更することができます。実際のデプロイメントと選択肢は、説明と異なることがあります。


注意:

WLSTコマンドhelp("fmw diagnostics")を使用してください。

OAMロガー・レベルの変更方法

  1. OAMサーバーが稼動中であることを確認します。

  2. OAM用のカスタムWLSTスクリプトを取得します。例:

    <ORACLE_HOME>/common/bin/wlst.sh
    
  3. WebLogic Serverに接続してWebLogic管理者としてログインします。例:

    sh wlst.sh wls:/offline> connect adminID password
    
  4. OAMサーバーで使用可能なOAMロガーをリストします。例:

    wls:/base_domain/serverConfig> listLoggers(pattern="oracle.oam.*",target="oam_
    server1")
    

    ここで、pattern=はoam.controllerコンポーネントを表し、target=は希望のOAMサーバー(登録時に指定されたもの)を表します。

  5. このOAMサーバーに関連付けられているOAMロガーのリストを表示します。例:

    Logger                                      | Level
    --------------------------------------------+-----------------
    oracle.oam                                  | <Inherited>
    oracle.oam.admin.foundation.configuration   | <Inherited>
    oracle.oam.agent-default                    | <Inherited>
    oracle.oam.audit                            | <Inherited>
    oracle.oam.binding                          | <Inherited>
    oracle.oam.commonutil                       | <Inherited>
    oracle.oam.config                           | <Inherited>
    oracle.oam.controller                       | <Inherited>
    oracle.oam.default                          | <Inherited>
    oracle.oam.diagnostic                       | <Inherited>
    oracle.oam.engine.authn                     | <Inherited>
    oracle.oam.engine.authz                     | <Inherited>
    oracle.oam.engine.policy                    | <Inherited>
    oracle.oam.foundation.access                | <Inherited>
    oracle.oam.idm                              | <Inherited>
    oracle.oam.idm                              | <Inherited>
    oracle.oam.idm                              | <Inherited>
    oracle.oam.user.identity.provider           | <Inherited>
    
  6. 自身の要求に基づいてログ・レベルを変更します。たとえば、このシーケンスは、oam.controllerのログ・レベルを永続性のないTRACE:32に変更します。

    wls:/base_domain/serverConfig> domainRuntime()
    wls:/base_domain/domainRuntime> setLogLevel(logger="oracle.oam.controller", 
    level="TRACE:32", persist="0", target="oam_server1")
    
  7. ステップ4を繰り返して再びロガーをリストし、ログ・レベルの変更を確認します。例:

    wls:/base_domain/serverConfig> listLoggers(pattern="oracle.oam.*",target="oam_
    server1")
    
    Logger                                      | Level
    --------------------------------------------+-----------------
    oracle.oam                                  | <Inherited>
    oracle.oam.admin.foundation.configuration   | <Inherited>
    oracle.oam.agent-default                    | <Inherited>
    oracle.oam.audit                            | <Inherited>
    oracle.oam.binding                          | <Inherited>
    oracle.oam.commonutil                       | <Inherited>
    oracle.oam.config                           | <Inherited>
    oracle.oam.controller                       | <Inherited>
    oracle.oam.default                          | <Inherited>
    oracle.oam.diagnostic                       | <Inherited>
    oracle.oam.engine.authn                     | <Inherited>
    oracle.oam.engine.authz                     | <Inherited>
    oracle.oam.engine.policy                    | <Inherited>
    oracle.oam.foundation.access                | <Inherited>
    oracle.oam.idm                              | <Inherited>
    oracle.oam.idm                              | <Inherited>
    oracle.oam.idm                              | <Inherited>
    oracle.oam.user.identity.provider           | <Inherited>
    
  8. 生成されたログ・ファイルを検証して、コントローラがTRACE:32レベルでロギングされていることを確認します。

    DOMAIN_HOME/server/SERVER_INSTNCE_NAME/logs/
    
  9. 「ランタイム・イベント・ロギング構成の検証」へ進みます。

OAM固有ロガーとログ・ハンドラの追加

管理者は、以下の手順を使用してログ・ファイルのパスと必要な属性を指定することができます。実際のデプロイメントと選択肢は、説明と異なることがあります。


注意:

より詳しい内容を知るには、WLSTコマンドhelp("fmw diagnostics")を使用してください。

以下の条件に合致する場合はステップ1から3をスキップしてください。

  • OAMサーバーが稼動している

  • WLSTスクリプトがある

  • すでにサーバーに接続してログインしている


関連項目:

Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス

OAMロガー、レベル、およびログ・ハンドラの変更方法

  1. OAMサーバーが稼動中であることを確認します。

  2. WLSTスクリプトを取得します。例:

    <ORACLE_HOME>/common/bin/wlst.sh
    
  3. WebLogic Serverに接続してWebLogic管理者としてログインします。例:

    sh wlst.sh wls:/offline> connect
    
  4. OAMロガーと、OAMサーバーのレベルを追加します。例:

    wls:/base_domain/serverConfig> domainRuntime()
    wls:/base_domain/domainRuntime> setLogLevel(logger="oracle.oam", 
    level="WARNING", persist="0", target="oam_server1")
    

    ここで<<<???>>>は<<<???>>>を表し、target="oam_server1"は希望するOAMサーバーを表します。

  5. カスタム・ログ・ハンドラを追加して、それにOAMロガーを関連付けます。例:

    wls:/base_domain/domainRuntime> configureLogHandler(name="oam-log-handler", 
    target="oam_server1", rotationFrequency="daily", retentionPeriod="week", path="${domain.home}/oamlogs" , maxFileSize ="10485760", maxLogSize = "104857600", addHandler="true", handlerType="oracle.core.ojdl.logging
    .ODLHandlerFactory", addToLogger="oracle.oam")
    
    wls:/base_domain/domainRuntime>configureLogHandler(name="oam-log-handler", 
    addProperty="true", propertyName="supplementalAttributes", propertyValue=
    "OAM.USER, OAM.COMPONENT", target="oam_server1")
    
  6. DOMAIN_HOME/oamlogsディレクトリに生成されるすべてのOAMログを確認します。

    DOMAIN_HOME/oamlogs/
    

ランタイム・イベント・ロギング構成の検証

以下の手順を使用して、ランタイム・イベントのロギング構成をテストすることができます。

前提条件

ランタイム・イベント・ロギングの検証方法

  1. 保護されたリソースのURLをブラウザに入力し、無効な資格証明を使ってサインインします。

  2. 正しい資格証明を使って再度サインインします。

  3. 物理サーバー上で、下記のパスに生成されるすべてのOAMログを検証します。

    DOMAIN_HOME/oamlogs/
    
  4. ログ・ファイルを開いて最後のエントリを探し、認証の失敗と成功を確認します。