ヘッダーをスキップ
Oracle Fusion Middleware Web Servicesセキュリティおよび管理者ガイド
11gリリース1(11.1.1)
B56247-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

15 問題の診断

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

Oracle WSM Policy Managerでの問題の診断

Oracle WSM Policy ManagerはすべてのOracle WSMポリシーを管理しており、Oracle WSMポリシー・フレームワークを使用するためには、稼働している必要があります。次の図に示すOracle WSM Policy Managerのページで、ポリシー・マネージャの現在の状態を確認し、レスポンス時間、負荷およびその他のデータを確認できます。

図15-1 Oracle WSM Policy Managerのページ

図15-1の説明が続きます
「図15-1 Oracle WSM Policy Managerのページ」の説明

Oracle WSM Policy Managerのページを表示する手順は次のとおりです。

  1. ナビゲーション・ペインで「アプリケーションのデプロイ」を開きます。

  2. 「内部アプリケーション」を開きます。

  3. wsm-pmをクリックします。

    Oracle WSM Policy Managerのホームページが表示されます。

  4. 次のタスクを1つ以上実行します。

    • ポリシー・マネージャの現在の状態を確認し、デプロイ先のサーバーを識別します。

    • レスポンス時間と現在の負荷を表示します。

    • 「テスト・ポイント」のURLをクリックし、ポリシー・マネージャを検証します。ポリシー・マネージャの検証リンクをクリックします。使用可能な場合、事前定義済ポリシーのリストが説明とともに表示されます。

次に、Oracle WSM Policy Managerが稼働していないことを確認する方法を示します。Oracle Fusion Middlewareの管理者ガイドのFusion Middleware Controlを使用してアプリケーションを起動および停止する手順に関する項に従って、wsm-pmアプリケーションを再起動できます。

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

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

ログ・メッセージを確認し、Webサービスなど特定のコンポーネントでの問題を診断できます。ログ・ファイルには2つのカテゴリがあり、Webサービスに関する問題の診断に役立てるために参照できます。

Oracle Fusion Middlewareのロギングの詳細は、Oracle Fusion Middlewareの管理者ガイドのログ・ファイルと診断データの管理に関する項を参照してください。

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

Webサービス診断ログの使用

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

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

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

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

また、「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サーバー」メニューから、「ログ」「ログ構成」を選択します。

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

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

  4. 「ルート・ログ出力」を開きます。

  5. 「Oracle」を開きます。

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

    • oracle.webservices: Webサービス・コンポーネント。

    • oracle.wsm: Oracle WSMコンポーネント。

    前述のコンポーネントのいずれかを開いてサブコンポーネント・レベルでロギング・レベルを指定することで、ロギング・レベルを微調整できます。デフォルトでは、ロギング・レベルはその親から継承され、WebサービスおよびOracle WSMのコンポーネントとサブコンポーネントに対してNOTIFICATION: 1 (INFO)に設定されます。

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

  1. 「Webサービス・ポートの詳細の表示」の説明に従って、「Webサービス・エンドポイント」ページに移動します。

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

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

診断ログの表示

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

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

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


注意:

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

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

図15-4 「ログ・メッセージ」ページ

図15-4の説明が続きます
「図15-4 「ログ・メッセージ」ページ」の説明

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

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

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

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

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

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

  • 広範囲のターゲット・スコープ: 表示されるメッセージのスコープを拡大します。ドメイン、WebLogic Serverまたはファームのすべてのメッセージを含めるように、スコープを拡大できます。

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

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

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

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

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

診断ログのフィルタ処理

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

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

  1. 次のフィールドを使用して検索条件を更新して、表示されるメッセージをフィルタ処理します。

    • 日付範囲: 日付範囲を次のいずれかに設定します。

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

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

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

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

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

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

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

Webサービス・メッセージ・ログの使用

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

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

メッセージ・ログの構成

ロギング・アサーションを含むポリシーを添付して、Webサービスまたはクライアントのメッセージ・ログを構成します。

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

独自のロギング・ポリシーまたはアサーション・テンプレートを作成して、Webサービスのリクエストとレスポンスに対するログを出力するSOAPメッセージの要素をより詳細にできます。たとえば、リクエスト・メッセージのSOAP本文のみを表示できます。新規ポリシーを作成するには、「Webサービス・ポリシーの作成」の手順に従ってください。oracle/log_templateアサーション・テンプレートのコピーを作成して、新規ポリシーで使用できるように構成できます。新規アサーション・テンプレートの作成の詳細は、「アサーション・テンプレートの作成」を参照してください。

メッセージ・ログの表示

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

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

「Webサービス・ポートの詳細の表示」の説明に従って、「Webサービス・エンドポイント」ページに移動し、「Webサービス・エンドポイント」ページの「クイックリンク」セクション(右上)で「メッセージ・ログ」をクリックします。

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

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

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

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

サンプル・ログの確認

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

サンプル・ログ: Oracle WSM Policy Manager使用不可

次のサンプル・ログの抜粋は、Oracle WSM Policy Managerが停止していることを示します。この問題を解決するには、Oracle Fusion Middlewareの管理者ガイドのFusion Middleware Controlを使用してアプリケーションを起動および停止する手順に関する項の説明に従って、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://stadk13.us.oracle.com:7001/wsm-pm
 oracle.wsm.policymanager.PolicyManagerException: WSM-02118 :
 The query service cannot be created.
...

サンプル・ログ: セキュリティ・キーストア未構成

次のサンプル・ログの抜粋は、メッセージ保護されているOracle WSMセキュリティ・ポリシーが適用されていて、キーストアが構成されていないことを示します。このセキュリティ・フォルトを解決するには、「メッセージ保護に関するキーストアの設定」の説明に従って、キーストアを構成します。

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

サンプル・ログ: 証明書使用不可

次のサンプル・ログの抜粋は、メッセージ保護されているOracle WSMセキュリティ・ポリシーが適用されていて、キーストアで使用できないセキュリティ証明書が必要なことを示します。このセキュリティ・フォルトを解決するには、「メッセージ保護に関するキーストアの設定」の説明に従って、証明書を持つキーストアを構成します。

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

Webサービスに対する診断ログ出力の構成

診断データをより詳細に編成するには、Webサービスの新規診断ログ出力を構成します。SOA、ADFおよびWeb Centerサービスの診断ログ出力を構成できます。

デフォルトでは、次のログ出力が定義されています。

Webサービスの診断ログ出力を構成する手順:

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

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

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

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

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

  2. 「WebLogicサーバー」メニューから、「ログ」「ログ構成」を選択します。

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

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

    診断ログ出力の現在のリストが表示されます。

  4. 「作成」をクリックします。


    注意:

    既存の診断ログ出力の構成をコピーするには、ログ出力を選択して「類似作成」をクリックします。

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

  5. 診断ログ出力のデータを次のように入力します。

    表15-1 「ログ・ファイルの作成」ページのフィールド

    フィールド 説明

    ハンドラ・クラス

    ハンドラ・クラス。この値はoracle.core.ojdl.looging.ODLHandlerFactoryの設定のままにします。

    ログ・ファイル

    ログ・ファイルの名前。

    ログ・パス

    ログ・ファイルのパス。

    ログ・ファイル形式

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

    ログ・レベル

    診断ログ出力のデフォルトのログ・レベル。リストからログ・レベルを選択します。有効な値にはINCIDENT_ERRORが含まれます。

    • 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」をクリックして診断ログ出力を作成します。