7 診断ログおよびメッセージ・ログの管理

この章では、診断ログとメッセージ・ログを管理および構成する方法について説明します。Webサービスを含むOracle Fusion Middlewareコンポーネントは、起動情報と停止情報、エラー、警告メッセージ、HTTPリクエストのアクセス情報など、すべてのタイプのイベントを記録するメッセージを含むログ・ファイルを生成します。各ログ・メッセージには、時間、コンポーネントID、および発生する問題の検出と診断を支援するユーザーなどの特定の情報が含まれます。

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

7.1 ログを使用した問題の診断の概要

ログ・メッセージを確認し、Webサービスなど特定のコンポーネントでの問題を診断できます。

ログ・ファイルには2つのカテゴリがあり、Webサービスに関する問題の診断に役立てるために参照できます。

Oracle Fusion Middlewareのロギングの詳細は、『Oracle Fusion Middlewareの管理』「ログ・ファイルおよび診断データの管理」を参照してください。

次の項では、問題を診断するための、診断およびメッセージ・ログの使用方法を説明します。この項の最後にサンプル・ログのセットがあります。

7.1.1 Webサービス診断ログの概要

診断ログを使用して、Oracle Fusion Middlewareの特定の機能コンポーネントに関する診断データにアクセスできます。

次の項では、診断ログ・ファイルの表示方法および管理方法を説明します。

7.1.1.1 診断ログのログ・レベルの設定

「ログ構成」ページを使用して、WebLogic ServerレベルでWebサービスおよびOWSMのコンポーネントのロギング・レベルを設定します。

また、「Webサービス・エンドポイント」ページから、特定のWebサービス・エンドポイントのサーバー・レベルで設定されたログ・レベルをオーバーライドできます。Webサービス・エンドポイント・レベルで設定されたロギング・レベルは、WebLogic Serverレベルで設定されたレベルよりも詳細なレベルである必要があります。詳細でない場合は、WebLogic Serverレベルで設定されたロギング・レベルが使用されます。

次の手順では、WebLogic ServerおよびWebサービス・エンドポイント・レベルで診断ログのログ・レベルを設定する方法を説明します。詳細は、『Oracle Fusion Middlewareの管理』「ログ・ファイルに書かれた情報のレベルの設定」を参照してください。

WebLogic Serverレベルで診断ログのログ・レベルを設定する手順

  1. ログ出力を構成するWebLogic Serverに移動します。

    1. ナビゲーション・ペインで「WebLogicドメイン」を開きます。

    2. ドメインを開きます。

    3. リストから必要なサーバーを選択します。

      「WebLogicサーバー」ホームページが表示されます。

  2. 「WebLogic Server」メニューで、「ログ」「ログ構成」を選択します。

    「ログ構成」ページが表示されます。

  3. 「ログ・レベル」タブを選択します。

    図7-1に示すように、ログ出力のリストが表示されます。

    「ログ・レベル」ページには、ログ出力の名前、現在のロギング・レベル、編集可能なもの、および関連するログ・ファイル(たとえば、olh-handler)が表示されます。ログ・ファイルの構成の詳細は、Webサービスのログ・ファイルの構成を参照してください。

    図7-1 「ログ・レベル」ページ



  4. 「ルート・ロガー」を開きます。

  5. 「Oracle」を開きます。

  6. 次の1つ以上のコンポーネントのロギング・レベルを設定します。

    • oracle.webservices—webサービス・コンポーネント。

    • oracle.wsm—OWSMコンポーネント。

    前述のコンポーネントのいずれかを開いてサブコンポーネント・レベルでロギング・レベルを指定することで、ロギング・レベルを微調整できます。

    ログ出力のロギング・レベルを変更するには、「ログ出力名」列のログ出力に移動し、「Oracle Diagnostic Loggingレベル(Javaレベル)」ドロップダウン・メニューから目的のロギング・レベルを選択します。

    たとえば、ログ出力oracle.wsmに関連するドロップダウン・メニューから「TRACE:32」を選択します。

    デフォルトでは、ロギング・レベルはその親から継承され、WebサービスおよびOWSMのコンポーネントとサブコンポーネントに対してNOTIFICATION: 1 (INFO)に設定されます。

  7. 「適用」をクリックして、新しいロギング・レベルを保存します。

Webサービス・エンドポイント・レベルで診断ログのログ・レベルを設定するには:

  1. Fusion Middleware Controlを使用したWebサービス・エンドポイントの詳細の表示の概要で説明されているように、「Webサービス・エンドポイント」ページに移動します。

  2. 「構成」タブをクリックします。

  3. 「ロギング・レベル」フィールドに、「重度」、「警告」、「情報」、「構成」、「密」、「詳細」、「最も詳細」または「NULL」のいずれかを設定します。

7.1.1.2 診断ログの表示

「ログ・メッセージ」ページから、ADF Webサービス・エンドポイントの診断ログ・ファイルを表示できます。

Webサービス・エンドポイントの診断ログを表示するには:

「Fusion Middleware Controlを使用したWebサービス・クライアントの表示の概要」の説明に従って、「Webサービス・エンドポイント」ページに移動し、「Webサービス・エンドポイント」ページの「クイックリンク」セクション(右上)で「診断ログ」をクリックします。

注意:

アプリケーションのWebサービスで生じたすべての障害のサマリーを表示できます。詳細は、Webサービスの監視の概要を参照してください。

次の図に示すように、「ログ・メッセージ」ページが表示されます。

図7-2 「ログ・メッセージ」ページ



メッセージ領域のメッセージをクリックすると、ページの下部に詳細が表示されます。必要に応じて、リスト上のメッセージを選択して「メッセージをファイルにエクスポート」をクリックすることで、メッセージをテキスト、XMLまたはCSVファイルにエクスポートできます。

次のコントロールを使用して、表示されるメッセージ・コンテンツを制御できます。

  • 検索: 検索条件を変更します。詳細は、診断ログのフィルタ処理を参照してください。

  • 「表示」メニュー: 表で表示する列を選択します。特定の列をクリックすると、コンテンツが昇順または降順にソートされます。

  • 「表示」メニュー: メッセージをタイプまたはID別にグループ化したり、年代順にメッセージを表示します。

  • 関連メッセージの表示: リストで選択したメッセージに関連するメッセージを表示します。

  • ターゲット・スコープを拡大—表示されるメッセージのスコープを拡大します。ドメイン、クラスタ、アプリケーション・デプロイメント、またはWebLogicサーバーのすべてのメッセージが含まれるようにスコープを拡大可能です。

  • 「リフレッシュ」メニュー: 自動または手動リフレッシュ率を指定します。

生成されたログ・ファイルのコンテンツを表示する手順は次のとおりです。

  • メッセージに関連付けられたログ・ファイルのアイコンをクリックし、そのログ・ファイルのコンテンツを表示します。

  • 「ターゲット・ログ・ファイル」をクリックし、「ログ・ファイル」ページを表示して、生成されたログ・ファイルすべてのコンテンツを表示またはダウンロードします。

詳細は、『Oracle Fusion Middlewareの管理』"ログ・ファイルの表示と検索に関する項"を参照してください。

7.1.1.3 診断ログのフィルタ処理

デフォルトでは、「ログ・メッセージ」ページには、過去1時間に記録された診断メッセージのサマリーが表示されます。

診断ログをフィルタ処理する手順

  1. 次のフィールドを使用して検索条件を更新して、表示されるメッセージをフィルタ処理します。
    • 日付範囲: 日付範囲を次のいずれかに設定します。

      • 最新: 期間を定義する時間を設定します。

      • 時間間隔: 間隔を定義する開始日と終了日を設定します。

    • メッセージ・タイプ: 表示するメッセージ・タイプを選択します。

    • フィールドの追加: メッセージID、コンポーネントなどの他のメッセージ・フィールドを検索条件に追加します。

  2. フィールドを設定したら、必要に応じて「検索」をクリックします。

    メッセージ領域は、フィルタ処理された結果で更新されます。

詳細は、『Oracle Fusion Middlewareの管理』"ログ・ファイルの表示と検索に関する項"を参照してください。

7.1.1.4 OWSMデバッグ・メッセージのロギング

OWSMをデバッグするには、WebLogic Serverの起動時に、必要に応じて次のいずれかのプロパティを渡します。詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』サーバーの起動と停止に関する項を参照してください。

注意:

1つ以上のプロパティを有効にすると、非常に大きなメッセージの場合、パフォーマンスに悪影響を及ぼす可能性があります。有効化されると、OWSMによって一時バッファが作成され、Javaガベージ・コレクタに余分な負荷がかかります。

表7-1 OWSMデバッグ・メッセージのロギングの起動プロパティ

起動プロパティ 説明

-Dxml.debug.verify=true

署名検証の失敗時に生成される一連のバイトを記録します。ログ・レベルが少なくともERRORに設定されている場合、検証エラーはstderrおよび診断ログに出力されます。

-Dxml.debug.digest=true

署名生成の正規化および署名検証の一致の際に生成される一連のバイトを記録します。ログ・レベルが少なくともFINEに設定されている場合、検証エラーはstderrおよび診断ログに出力されます。

-Dxml.debug.decrypt

復号化の失敗の後、XML解析の前に生成される一連のバイトを記録します。検証エラーはstderrおよび診断ログ・ファイルに出力されます。

7.1.2 Webサービス・メッセージ・ログの概要

メッセージ・ログを使用して、ADF Webサービスとクライアントに対する、SOAPメッセージ・リクエストとレスポンスのコンテンツにアクセスできます。デフォルトでは、メッセージ・ログは診断メッセージとは別のログ・ファイルに格納されます。

次の項では、メッセージ・ログ・ファイルの表示方法および管理方法を説明します。

7.1.2.1 メッセージ・ログの構成

Webサービスまたはクライアントのメッセージ・ログは、次のいずれかの方法で構成します。

  • ロギング・アサーションを含むポリシーをWebサービスまたはクライアントに添付します。

    oracle/security_log_templateという1つの事前定義済ロギング・アサーション・テンプレートがあります。詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』oracle/security_log_templateに関する項を参照してください。このテンプレートは、WebサービスのリクエストとレスポンスのSOAPメッセージ全体をログ出力するように構成されています。デフォルトでは、すべての事前定義済Webサービス・セキュリティ・ポリシーで、最初のセキュリティ・アサーションが実行される前後にSOAPメッセージ全体を取得するために、このロギング・アサーションが使用されます。デフォルトでは、ロギング・アサーションは実行されません。SOAPメッセージをメッセージ・ログに記録するには、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』ポリシー内のアサーションの有効化または無効化に関する項の説明に従って、ロギング・アサーションを有効にする必要があります。ロギング・アサーションは、デバッグおよび監査目的でのみ有効化することをお薦めします。

  • oracle/log_policyポリシーをWebサービスまたはクライアントに添付します。詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』oracle/log_policyに関する項を参照してください。

  • 独自のロギング・ポリシーまたはアサーション・テンプレートを作成して、Webサービスのリクエストとレスポンスに関して記録されるSOAPメッセージの要素を絞り込みます。

    たとえば、リクエスト・メッセージのSOAP本文のみを表示できます。新規ポリシーを作成するには、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』Webサービス・ポリシーの新規作成に関する項で説明されている手順に従ってください。oracle/security_log_templateアサーション・テンプレートのコピーを作成して、新規ポリシーで使用できるように構成できます。新規アサーション・テンプレートの作成の詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』アサーション・テンプレートのクローン作成に関する項を参照してください。

7.1.2.2 メッセージ・ログの表示

「ログ・メッセージ」ページから、ADF Webサービス・エンドポイントのメッセージ・ログ・ファイルを表示できます。

Webサービス・エンドポイントのメッセージ・ログを表示するには:

「Fusion Middleware Controlを使用したWebサービス・クライアントの表示の概要」の説明に従って、「Webサービス・エンドポイント」ページに移動し、「Webサービス・エンドポイント」ページの「クイックリンク」セクション(右上)で「メッセージ・ログ」をクリックします。

図7-2のような「ログ・メッセージ」ページが表示されます。「ログ・メッセージ」ページのコンテンツの詳細は、診断ログの表示を参照してください。

7.1.2.3 メッセージ・ログのフィルタ処理

デフォルトでは、「ログ・メッセージ」ページには、過去1時間に記録されたSOAPメッセージのサマリーが表示されます。検索条件を更新することで、表示されるメッセージをフィルタ処理できます。プロセスは診断ログのプロセスと同じです。詳細は、診断ログのフィルタ処理を参照してください。

デフォルトでは、「コンポーネント」および「モジュール」メッセージ・フィールドは、メッセージ・ログの検索条件の一部に含まれます。「コンポーネント」フィールドは、WebLogic Server名に設定されます。「モジュール」フィールドは、メッセージ・ロギング・コンポーネント名のoracle.wsm.msg.loggingに設定されます。

7.1.3 サンプル・ログ

次の項に、ログ・エントリを使用して特定の問題を診断する方法を実演する、サンプル・ログからの抜粋を示します。

7.1.3.1 サンプル・ログ: OWSM Policy Manager使用不可

次のサンプル・ログの抜粋は、OWSM Policy Managerが停止していることを示します。この問題を解決するためには、『Oracle Fusion Middlewareの管理』アプリケーションの起動と停止に関する項で説明されているように、wsm-pmアプリケーションを再起動します。

2009-02-16 16:21:28,029 [[ACTIVE] ExecuteThread: '4' for queue:
 'weblogic.kernel.Default (self-tuning)'] 
 ERROR policymgr.PolicyManagerModelBean logp.251 - 
 Service lookup failed with URL:t3://host.example.com:7001/wsm-pm
 oracle.wsm.policymanager.PolicyManagerException: WSM-02118 : 
 The query service cannot be created.
...
7.1.3.2 サンプル・ログ: セキュリティ・キーストア未構成

次のサンプル・ログの抜粋は、メッセージ保護されているOWSMセキュリティ・ポリシーが適用されていて、キーストアが構成されていないことを示します。このセキュリティ・フォルトを解決するためには、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』メッセージ保護のためのキーストアの構成に関する項 で説明されているように、キーストアを構成します。

Feb 16, 2009 5:29:56 PM oracle.wsm.common.logging.WsmMessageLogger logSevere 
 SEVERE: The specified Keystore file /scratch/sbollapa/stage131/user_projects/domains/sai131_domain/config/fmwconfig/default-keystore.jks 
 cannot be found; it either does not exist or its path is not included in the 
 application classpath.
 Feb 16, 2009 5:29:56 PM oracle.wsm.common.logging.WsmMessageLogger logSevere
 SEVERE: Keystore is not properly configured in jps config.
 Feb 16, 2009 5:29:56 PM oracle.wsm.common.logging.WsmLogUtil log
 SEVERE: failure in OWSM Agent processRequest, category=security,
 function=agent.function.client, application=default, composite=pe3test3,
 modelObj=Service1, + policy=null, policyVersion=null, assertionName=null
 oracle.wsm.common.sdk.WSMException: WSM-00101 : The specified Keystore file 
 /scratch/sbollapa/stage131/user_projects/domains/sai131_domain/config/fmwconfig/default-keystore.jks cannot be found; 
 it either does not exist or its path is not included in the application classpath.
...
7.1.3.3 サンプル・ログ: 証明書使用不可

次のサンプル・ログの抜粋は、メッセージ保護されているOWSMセキュリティ・ポリシーが適用されていて、キーストアで使用できないセキュリティ証明書が必要なことを示します。このセキュリティ・フォルトを解決するためには、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』信頼できる証明書の入手およびキーストアへのインポートに関する項で説明されているように、証明書付きキーストアを構成します。

[2009-04-15T04:07:02.821-07:00] [jrfServer] [ERROR] [WSM-000062]
 [oracle.wsm.resources.security] [tid: [ACTIVE].ExecuteThread: '0' for 
queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] 
 [ecid: 0000I2dTFG7DScT6uBe9UH19tRyv000000,0:1] [WEBSERVICE_PORT.name:
 NonCAAsCAMessageProtectionPolicyPort] [APP: jaxwsservices] 
 [J2EE_MODULE.name: NonCAAsCAMessageProtectionPolicy] [WEBSERVICE.name:
 NonCAAsCAMessageProtectionPolicyService] [J2EE_APP.name: jaxwsservices] 
 [arg: oracle.wsm.security.SecurityException: WSM-00062 : 
 The path to the certificate used for the signature is invalid.] 

[2009-04-15T04:07:02.810-07:00] [jrfServer] [NOTIFICATION] []
 [oracle.wsm.security.policy.scenario.processor.Wss11X509TokenProcessor] 
 [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default
 (self-tuning)'] [userId: <anonymous>] 
[ecid: 0000I2dTFG7DScT6uBe9UH19tRyv000000,0:1] 
[WEBSERVICE_PORT.name: NonCAAsCAMessageProtectionPolicyPort] 
[APP: jaxwsservices] [J2EE_MODULE.name: NonCAAsCAMessageProtectionPolicy]
 [WEBSERVICE.name: NonCAAsCAMessageProtectionPolicyService] [J2EE_APP.name:
 jaxwsservices] Certificate path validation failed for signing certificate

[2009-04-15T04:07:02.821-07:00] [jrfServer] [ERROR] [WSM-00006]
 [oracle.wsm.resources.security] [tid: [ACTIVE].ExecuteThread: '0' for queue:
 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] 
[ecid: 0000I2dTFG7DScT6uBe9UH19tRyv000000,0:1] [WEBSERVICE_PORT.name:
 NonCAAsCAMessageProtectionPolicyPort] [APP: jaxwsservices] 
[J2EE_MODULE.name: NonCAAsCAMessageProtectionPolicy] [WEBSERVICE.name:
 NonCAAsCAMessageProtectionPolicyService] [J2EE_APP.name: jaxwsservices] 
[arg: oracle.wsm.security.SecurityException: WSM-00062 : The path to the
 certificate used for the signature is invalid.] Error in receiving the request:
 oracle.wsm.security.SecurityException: WSM-00062 : The path to the certificate
 used for the signature is invalid.

7.2 Webサービスのログ・ファイルの構成

ロギング・データをより詳細に編成するには、Webサービスのログ・ファイルを構成します。

SOAおよびADFサービスのログ・ファイルを構成できます。

次の表では、OWSMに関連するデフォルトのログ・ファイルが定義されています。

表7-2 OWSMのデフォルトのログ・ファイル

デフォルト・ログ・ファイル 説明

odl-handler

サーバーのJava EEコンポーネントの一般的な診断データを記録します。

owsm-message-handler

SOAPメッセージをOWSMロギング・ポリシーにより記録します。

次の手順では、WebLogic ServerおよびWebサービス・エンドポイント・レベルで診断ログのログ・レベルを設定する方法を説明します。

Fusion Middleware ControlまたはWLSTを使用したログ・レベルの設定に関する詳細は、『Oracle Fusion Middlewareの管理』「ログ・ファイルに書かれた情報のレベルの設定」を参照してください。

Webサービスのログ・ファイルを構成するには:

  1. ログ出力を構成するWebLogic Serverに移動します。

    1. ナビゲーション・ペインで「WebLogicドメイン」を開いてドメイン名を表示します。

    2. ドメインを開いてサーバーのリストを表示します。

    3. リストから必要なサーバーを選択します。

      「WebLogicサーバー」ホームページが表示されます。

  2. 「WebLogic Server」メニューで、「ログ」→「ログ構成」を選択します。

    「ログ構成」ページが表示されます。

  3. 「ログ・ファイル」タブを選択します。

    ログ・ファイルの最新リストが表示されます。「ログ構成」ページには、現在構成されているログ・パス、ファイル形式およびローテーション・ポリシーが表示されます。

  4. ログ・ポリシー構成を編集する場合は、リスト内のログ・ファイルを選択し、「構成の編集 . . .」をクリックします。

    「ログ・ファイルの編集」ページが表示されます。

    図7-3 「ログ・ファイルの編集」ページ

    図7-3の説明が続きます
    「図7-3 「ログ・ファイルの編集」ページ」の説明
  5. 必要に応じて、ログ・ファイル情報を編集します。

    表7-3 「ログ・ファイルの編集」ページのフィールド

    フィールド 説明

    ログ・パス

    ログ・ファイルのパス。このフィールドは必須です。

    ログ・ファイル形式

    ログ・ファイルの形式。有効な値はテキストまたはXMLです。

    ログ・レベル

    ログ出力のデフォルトのログ・レベル。リストからログ・レベルを選択します。有効な値は次のとおりです。

    • INCIDENT_ERROR:1 (SEVERE+100)

    • ERROR:1 (SEVERE)

    • WARNING:1 (WARNING)

    • NOTIFICATION:1 (INFO)

    • NOTIFICATION:16 (CONFIG)

    • TRACE:1 (FINE)

    • TRACE:16 (FINER)

    • TRACE:32 (FINEST)

    デフォルト属性の使用

    ログ出力にデフォルト属性を使用するかどうかを指定するフラグ。

    サプリメンタル属性

    サプリメンタル属性は必須です。

    関連付けるログ出力

    ログ出力に関連付けるコンポーネント。

    ローテーション・ポリシー

    期間によるファイル・サイズに基づいて、ログ・ファイルをローテーションするかどうか指定します。詳細は、『Oracle Fusion Middlewareの管理』ログ・ファイルのローテーションの構成に関する項を参照してください。

    ローテーション・ポリシーとして「サイズ・ベース」が選択されている場合、「最大ログ・ファイル・サイズ」は必須フィールドです。ローテーション・ポリシーとして「時間ベース」が選択されている場合、「頻度」は必須フィールドです。

  6. 「OK」をクリックして、ログ・ファイルの構成を編集します。