ヘッダーをスキップ
Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド
11g リリース1(11.1.1)
B56247-03
  目次へ移動
目次

前
 
次
 

16 問題の診断

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

Oracle WSM Policy Managerでの問題の診断

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

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

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

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

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

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

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

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

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

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

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

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


      注意:

      ブラウザに次のURLを入力して、テスト・ポイントのURLに移動できます。http://host:port/wsm-pm/validator

Oracle WSM Policy Managerが稼働中でないことを示すサインを、次にリストします。wsm-pmアプリケーションは、『Oracle Fusion Middleware管理者ガイド』のFusion Middleware Controlを使用したアプリケーションの起動と停止に関する項の説明に従って再起動できます。

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

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 Severメニューから、 「ログ」→「ログ構成」の順に選択します。

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

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

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

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

    図16-4 「ログ・レベル」ページ

    図16-4の説明が続きます
    「図16-4 「ログ・レベル」ページ」の説明

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

  5. 「Oracle」を開きます。

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

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

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

    上記のコンポーネントのいずれかを開くと、ロギング・レベルを微調整できます。

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

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

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

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

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

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

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

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


    注意:

    setWebServiceConfiguration WLSTコマンドを使用して、Webサービス・エンドポイントでログ・レベルを設定することもできます。itemProperties引数のloggingLevelプロパティに、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST、NULLのいずれかを設定します。このコマンドの使用に関する詳細は、「Webサービス・エンドポイントの構成」「WLSTの使用」を参照してください。

診断ログの表示

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

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

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


注意:

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

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

図16-5 「ログ・メッセージ」ページ

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

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

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

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

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

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

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

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

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

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

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

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

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

診断ログのフィルタ処理

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

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

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

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

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

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

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

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

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

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

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

Oracle WSMデバッグ・メッセージのロギング

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


注意:

これらのプロパティを1つ以上有効にすると、極端にサイズの大きいメッセージではパフォーマンスに悪い影響が出る可能性があります。有効にした場合、Oracle WSMは一時バッファを作成しますが、結果的にはこれによってJavaガベージ・コレクタにさらに負荷がかかることになります。

表16-1 Oracle WSMのデバッグ・メッセージをログ出力するための起動プロパティ

起動プロパティ 説明

-Dxml.debug.verify=true

署名検証が失敗している段階で生成されたバイト・シーケンスをログ出力します。検証エラーはstderrに出力され、ログ・レベルが少なくともERRORに設定されている場合には診断ログ・ファイルに出力されます。

-Dxml.debug.digest=true

署名生成の正規化および署名検証の一致を実行している最中にバイト・シーケンスが生成されたことを検証します。検証エラーはstderrに出力され、ログ・レベルが少なくともFINEに設定されている場合には診断ログ・ファイルに出力されます。

-Dxml.debug.decrypt

XML解析前の復号化に失敗した後生成されたバイト・シーケンスをログ出力します。検証エラーはstderrと診断ログ・ファイルに出力されます。


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

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

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

メッセージ・ログの構成

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

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

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

  • oracle/log_policyポリシーをWebサービスまたはWebクラインとに添付します。詳細は、"oracle/log_policy"を参照してください。

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

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

メッセージ・ログの表示

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

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

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

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

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

デフォルトでは、「ログ・メッセージ」ページには、過去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サービス用に構成できます。

次の表に、Oracle WSMに関連のあるデフォルト・ログ・ファイルを定義します。

表16-2 WSMのデフォルト・ログ・ファイル

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

odl-handler

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

owsm-message-handler

Oracle WSMロギング・ポリシーに従ってSOAPメッセージのログを出力します。


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

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

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

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

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

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

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

  2. WebLogic Severメニューから、 「ログ」→「ログ構成」の順に選択します。

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

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

    ログ・ファイルの現在のリストが、図16-6のように表示されます。「ログ構成の更新」ページに、現在構成済のログ・パス、ファイルのフォーマットおよびローテーション・ポリシーが表示されます。

    図16-6 現在のログ・ファイル

    図16-6の説明が続きます
    「図16-6 図16-6 現在のログ・ファイル」の説明

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

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

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

    図16-7の説明が続きます
    「図16-7 「ログ・ファイルの編集」ページ」の説明

  5. 必要に応じて、ログ・ファイルの情報を編集します。

    表16-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」をクリックして、ログ・ファイルの構成を編集します。