Webサービスを含むOracle Fusion Middlewareコンポーネントは、起動情報と停止情報、エラー、警告メッセージ、HTTPリクエストのアクセス情報など、すべてのタイプのイベントを記録するメッセージを含むログ・ファイルを生成します。各ログ・メッセージには、時間、コンポーネントID、および発生する問題の検出と診断を支援するユーザーなどの特定の情報が含まれます。
この章の構成は、次のとおりです。
ログ・メッセージを確認し、Webサービスなど特定のコンポーネントでの問題を診断できます。ログ・ファイルには2つのカテゴリがあり、Webサービスに関する問題の診断に役立てるために参照できます。
診断ログ: Oracle Fusion Middlewareの特定の機能コンポーネントに関する診断データにアクセスできます。詳細は、「Webサービス診断ログの使用」を参照してください。
事前定義済診断ログ出力のセットがあります。「Webサービス・ログ・ファイルの構成」の説明に従って、独自の診断ログ出力を構成できます。
メッセージ・ログ: SOAPメッセージ・リクエストの要素を表示できます。ポリシーを使用してメッセージ・ログの作成を制御します。詳細は、「Webサービス・メッセージ・ログの使用」を参照してください。
Oracle Fusion Middlewareのロギングの詳細は、『Oracle Fusion Middlewareの管理』の「ログ・ファイルおよび診断データの管理」を参照してください。
次の項では、問題を診断するための、診断およびメッセージ・ログの使用方法を説明します。この項の最後にサンプル・ログのセットがあります。
診断ログを使用して、Oracle Fusion Middlewareの特定の機能コンポーネントに関する診断データにアクセスできます。
次の項では、診断ログ・ファイルの表示方法および管理方法を説明します。
「ログ構成」ページを使用して、WebLogic ServerレベルでWebサービスおよびOWSMのコンポーネントのロギング・レベルを設定します。
また、「Webサービス・エンドポイント」ページから、特定のWebサービス・エンドポイントのサーバー・レベルで設定されたログ・レベルをオーバーライドできます。Webサービス・エンドポイント・レベルで設定されたロギング・レベルは、WebLogic Serverレベルで設定されたレベルよりも詳細なレベルである必要があります。詳細でない場合は、WebLogic Serverレベルで設定されたロギング・レベルが使用されます。
次の手順では、WebLogic ServerおよびWebサービス・エンドポイント・レベルで診断ログのログ・レベルを設定する方法を説明します。詳細は、『Oracle Fusion Middlewareの管理』の「ログ・ファイルに書かれた情報のレベルの設定」を参照してください。
WebLogic Serverレベルで診断ログのログ・レベルを設定する手順
ログ出力を構成するWebLogic Serverに移動します。
ナビゲーション・ペインで「WebLogicドメイン」を開きます。
ドメインを開きます。
リストから必要なサーバーを選択します。
「WebLogicサーバー」ホームページが表示されます。
「WebLogic Server」メニューで、「ログ」→「ログ構成」を選択します。
「ログ構成」ページが表示されます。
「ログ・レベル」タブを選択します。
図7-1に示すように、ログ出力のリストが表示されます。
「ログ・レベル」ページには、ログ出力の名前、現在のロギング・レベル、編集可能なもの、および関連するログ・ファイル(たとえば、olh-handler)が表示されます。ログ・ファイルの構成の詳細は、「Webサービスのログ・ファイルの構成」を参照してください。
「ルート・ログ出力」を開きます。
「Oracle」を開きます。
次の1つ以上のコンポーネントのロギング・レベルを設定します。
oracle.webservices: Webサービス・コンポーネント。
oracle.wsm—OWSMコンポーネント。
前述のコンポーネントのいずれかを開いてサブコンポーネント・レベルでロギング・レベルを指定することで、ロギング・レベルを微調整できます。
ログ出力のロギング・レベルを変更するには、「ログ出力名」列のログ出力に移動し、「Oracle Diagnostic Loggingレベル(Javaレベル)」ドロップダウン・メニューから目的のロギング・レベルを選択します。
たとえば、ログ出力oracle.wsmに関連するドロップダウン・メニューから「TRACE:32」を選択します。
デフォルトでは、ロギング・レベルはその親から継承され、WebサービスおよびOWSMのコンポーネントとサブコンポーネントに対してNOTIFICATION: 1 (INFO)に設定されます。
「適用」をクリックして、新しいロギング・レベルを保存します。
Webサービス・エンドポイント・レベルで診断ログのログ・レベルを設定する手順
「Fusion Middleware Controlを使用したWebサービス・エンドポイントの詳細の表示」で説明されているように、「Webサービス・エンドポイント」ページに移動します。
「構成」タブをクリックします。
「ロギング・レベル」フィールドに、「重度」、「警告」、「情報」、「構成」、「密」、「詳細」、「最も詳細」または「NULL」のいずれかを設定します。
「ログ・メッセージ」ページから、ADF Webサービス・エンドポイントの診断ログ・ファイルを表示できます。
Webサービス・エンドポイントの診断ログを表示する手順
「Fusion Middleware Controlを使用したWebサービス・エンドポイントの詳細の表示」の説明に従って、「Webサービス・エンドポイント」ページに移動し、「Webサービス・エンドポイント」ページの「クイックリンク」セクション(右上)で「診断ログ」をクリックします。
次の図に示すように、「ログ・メッセージ」ページが表示されます。
メッセージ領域のメッセージをクリックすると、ページの下部に詳細が表示されます。必要に応じて、リスト上のメッセージを選択して「メッセージをファイルにエクスポート」をクリックすることで、メッセージをテキスト、XMLまたはCSVファイルにエクスポートできます。
次のコントロールを使用して、表示されるメッセージ・コンテンツを制御できます。
検索: 検索条件を変更します。詳細は、「診断ログのフィルタ処理」を参照してください。
「表示」メニュー: 表で表示する列を選択します。特定の列をクリックすると、コンテンツが昇順または降順にソートされます。
「表示」メニュー: メッセージをタイプまたはID別にグループ化したり、年代順にメッセージを表示します。
関連メッセージの表示: リストで選択したメッセージに関連するメッセージを表示します。
—表示されるメッセージのスコープを拡大します。ドメイン、クラスタ、アプリケーション・デプロイメント、またはWebLogicサーバーのすべてのメッセージが含まれるようにスコープを拡大可能です。
「リフレッシュ」メニュー: 自動または手動リフレッシュ率を指定します。
生成されたログ・ファイルのコンテンツを表示する手順は次のとおりです。
メッセージに関連付けられたログ・ファイルのアイコンをクリックし、そのログ・ファイルのコンテンツを表示します。
「ターゲット・ログ・ファイル」をクリックし、「ログ・ファイル」ページを表示して、生成されたログ・ファイルすべてのコンテンツを表示またはダウンロードします。
詳細は、『Oracle Fusion Middlewareの管理』のログ・ファイルの表示と検索に関する項を参照してください。
デフォルトでは、「ログ・メッセージ」ページには、過去1時間に記録された診断メッセージのサマリーが表示されます。
診断ログをフィルタ処理する手順
次のフィールドを使用して検索条件を更新して、表示されるメッセージをフィルタ処理します。
日付範囲: 日付範囲を次のいずれかに設定します。
最新: 期間を定義する時間を設定します。
時間間隔: 間隔を定義する開始日と終了日を設定します。
メッセージ・タイプ: 表示するメッセージ・タイプを選択します。
フィールドの追加: メッセージID、コンポーネントなどの他のメッセージ・フィールドを検索条件に追加します。
フィールドを設定したら、必要に応じて「検索」をクリックします。
メッセージ領域は、フィルタ処理された結果で更新されます。
詳細は、『Oracle Fusion Middlewareの管理』のログ・ファイルの表示と検索に関する項を参照してください。
OWSMをデバッグするには、WebLogic Serverの起動時に、必要に応じて次のいずれかのプロパティを渡します。詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動および停止を参照してください。
注意: 1つ以上のプロパティを有効にすると、非常に大きなメッセージの場合、パフォーマンスに悪影響を及ぼす可能性があります。有効化されると、OWSMによって一時バッファが作成され、Javaガベージ・コレクタに余分な負荷がかかります。 |
表7-1 OWSMデバッグ・メッセージのロギングの起動プロパティ
起動プロパティ | 説明 |
---|---|
|
署名検証の失敗時に生成される一連のバイトを記録します。ログ・レベルが少なくともERRORに設定されている場合、検証エラーは |
|
署名生成の正規化および署名検証の一致の際に生成される一連のバイトを記録します。ログ・レベルが少なくともFINEに設定されている場合、検証エラーは |
|
復号化の失敗の後、XML解析の前に生成される一連のバイトを記録します。検証エラーは |
メッセージ・ログを使用して、ADF Webサービスとクライアントに対する、SOAPメッセージ・リクエストとレスポンスのコンテンツにアクセスできます。デフォルトでは、メッセージ・ログは診断メッセージとは別のログ・ファイルに格納されます。
次の項では、メッセージ・ログ・ファイルの表示方法および管理方法を説明します。
Webサービスまたはクライアントのメッセージ・ログは、次のいずれかの方法で構成します。
ロギング・アサーションを含むポリシーをWebサービスまたはクライアントに添付します。
oracle/security_log_templateという、1つの事前定義済oracle/security_log_template
があります。詳細は、『Oracle Web Services ManagerによるWebサービスの保護』の「oracle/security_log_template」を参照してください。このテンプレートは、WebサービスのリクエストとレスポンスのSOAPメッセージ全体をログ出力するように構成されています。デフォルトでは、すべての事前定義済Webサービス・セキュリティ・ポリシーで、最初のセキュリティ・アサーションが実行される前後にSOAPメッセージ全体を取得するために、このロギング・アサーションが使用されます。デフォルトでは、ロギング・アサーションは実行されません。『Oracle Web Services ManagerによるWebサービスの保護』のポリシー内のアサーションの有効化または無効化に関する項で説明されているように、SOAPメッセージをメッセージ・ログにログして有効にします。ロギング・アサーションは、デバッグおよび監査目的でのみ有効化することをお薦めします。
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サービスの保護』のアサーション・テンプレートの作成に関する項を参照してください。
「ログ・メッセージ」ページから、ADF Webサービス・エンドポイントのメッセージ・ログ・ファイルを表示できます。
Webサービス・エンドポイントのメッセージ・ログを表示する手順
「Fusion Middleware Controlを使用したWebサービス・エンドポイントの詳細の表示」の説明に従って、「Webサービス・エンドポイント」ページに移動し、「Webサービス・エンドポイント」ページの「クイックリンク」セクション(右上)で「メッセージ・ログ」をクリックします。
図7-2のような「ログ・メッセージ」ページが表示されます。「ログ・メッセージ」ページのコンテンツの詳細は、「診断ログの表示」を参照してください。
デフォルトでは、「ログ・メッセージ」ページには、過去1時間に記録されたSOAPメッセージのサマリーが表示されます。検索条件を更新することで、表示されるメッセージをフィルタ処理できます。プロセスは診断ログのプロセスと同じです。詳細は、「診断ログのフィルタ処理」を参照してください。
デフォルトでは、「コンポーネント」および「モジュール」メッセージ・フィールドは、メッセージ・ログの検索条件の一部に含まれます。「コンポーネント」フィールドは、WebLogic Server名に設定されます。「モジュール」フィールドは、メッセージ・ロギング・コンポーネント名のoracle.wsm.msg.loggingに設定されます。
次の項に、ログ・エントリを使用して特定の問題を診断する方法を実演する、サンプル・ログからの抜粋を示します。
次のサンプル・ログの抜粋は、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. ...
次のサンプル・ログの抜粋は、メッセージ保護されている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. ...
次のサンプル・ログの抜粋は、メッセージ保護されている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.
ロギング・データをより詳細に編成するには、Webサービスのログ・ファイルを構成します。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サービスのログ・ファイルを構成するには:
ログ出力を構成するWebLogic Serverに移動します。
ナビゲーション・ペインで「WebLogicドメイン」を開きます。
ドメインを開きます。
リストから必要なサーバーを選択します。
「WebLogicサーバー」ホームページが表示されます。
「WebLogic Server」メニューで、「ログ」→「ログ構成」を選択します。
「ログ構成」ページが表示されます。
「ログ・ファイル」タブを選択します。
図7-3に示すように、現在のログ・ファイルのリストが表示されます。「ログ構成」ページには、現在構成されているログ・パス、ファイル形式およびローテーション・ポリシーが表示されます。
ログ・ポリシー構成を編集する場合は、リスト内のログ・ファイルを選択し、「構成の編集 . . .」をクリックします。
「ログ・ファイルの編集」ページが表示されます。
必要に応じて、ログ・ファイル情報を編集します。
表7-3 「ログ・ファイルの編集」ページのフィールド
フィールド | 説明 |
---|---|
ログ・パス |
ログ・ファイルのパス。このフィールドは必須です。 |
ログ・ファイル形式 |
ログ・ファイルの形式。有効な値はテキストまたはXMLです。 |
ログ・レベル |
ログ出力のデフォルトのログ・レベル。リストからログ・レベルを選択します。有効な値は次のとおりです。
|
デフォルト属性の使用 |
ログ出力にデフォルト属性を使用するかどうかを指定するフラグ。 |
サプリメンタル属性 |
サプリメンタル属性は必須です。 |
関連付けるログ出力 |
ログ出力に関連付けるコンポーネント。 |
ローテーション・ポリシー |
期間によるファイル・サイズに基づいて、ログ・ファイルをローテーションするかどうか指定します。詳細は、『Oracle Fusion Middlewareの管理』のログ・ファイルのローテーションの構成に関する項を参照してください。 ローテーション・ポリシーとして「サイズ・ベース」が選択されている場合、「最大ログ・ファイル・サイズ」は必須フィールドです。ローテーション・ポリシーとして「時間ベース」が選択されている場合、「頻度」は必須フィールドです。 |
「OK」をクリックして、ログ・ファイルの構成を編集します。