Oracle Analyticsプレゼンテーション・サービスでのログ情報

この項では、特にプレゼンテーション・サービスにおけるロギングについて説明します。

次のトピックがあります。

診断ログ・ファイルとログ構成ファイルの理解を参照してください。

プレゼンテーション・サービスのロギング機能の使用

プレゼンテーション・サービスのログを使用すると、問題およびエラーをトラブルシューティングできます。

デフォルトでは、プレゼンテーション・サービスは、すべてのエラー・イベントと、十分な重要性のある情報イベントや警告イベントをログ記録するように構成されています。サーバーの起動や停止が、重要な情報イベントの例です。ログ・ファイルには、sawlogxx.logという名前が付けられます。xxは、増分する値に置き換えられます。

発生する特定の問題をデバッグするために、ロギング・レベルを増やして、デフォルト構成より多くの情報を記録することができます。たとえば、プレゼンテーション・サービスの特定の接続問題をデバッグする場合は、saw.odbcログ・ソースのみ、最大ロギングを増やすことができます。これにより、このコンポーネントの詳細なロギングが追加されますが、他のイベントによる詳細なロギングでログがいっぱいになることはありません。プレゼンテーション・サービスのすべての構成情報は、instanceconfig.xmlファイルからロードされます。

注意:

ロギングはパフォーマンスに影響するため、特定の問題を診断する場合を除いて、本番実装でロギングを増やさないでください。

プレゼンテーション・サービスのロギング・レベルの設定

プレゼンテーション・サービスの「管理」ページのオプションを使用してロギング・レベルを変更します。

  1. グローバル・ヘッダーで「管理」をクリックします。
  2. 「メンテナンスとトラブルシューティング」領域の「ログ構成の再ロード」で、使用するロギング・レベルを選択します。
  3. 「ログ構成の再ロード」をクリックすると、プレゼンテーション・サービスを再起動しなくても変更を有効にできます。

    プレゼンテーション・サービスを再起動しても、変更は引き続き有効です。

  4. 「セッションの管理」リンクをクリックして「セッションの管理」ページを表示します。
  5. セッションごとに、適切なレベルを表の「ログ・レベル」列に指定します。

    更新後のレベルは、そのセッションに対して即時有効になります。レベルを選択する際、必ず重大度の値をプレゼンテーション・サービスですべてのメッセージに指定されている値以下にします。

プレゼンテーション・サービス構成ファイルの構造

プレゼンテーション・サービスの構成ファイルの構造によって、システムの出力が適切に表示されます。

構成ファイルの構造を次の例に示します。各ノードのカーディナリティは大カッコ内に示します。

例8-3 instanceconfig.xmlファイル内のログ・セクションの構造

Logging [1..1]
Writers [0..1]
Writer [0..1]
WriterClassGroups [0..1]
Filters [0..1]
FilterRecord [0..n]

4つのライターを含むinstanceconfig.xmlファイルの例を次に示します。

例8-4 4つのライターが含まれるinstanceconfig.xmlファイル

<?xml version="1.0" ?>
<Server>
. . . . . . .
<Logging>
<Writers>
<Writer implementation="FileLogWriter" name="Global File Logger"
writerClassId="1" dir="{%ORACLE_BIPS_INSTANCE_LOGDIR%}" filePrefix="sawlog"
maxFileSizeKb="10000" filesN="10" fmtName="ODL-Text" ODLLogFilePath="{%ORACLE_BIPS_INSTANCE_LOGDIR%}/diagnostic.log"/>
<Writer implementation="CoutWriter" name="Global Output Logger"
writerClassId="2" />
<Writer implementation="EventLogWriter" name="Event Logger"
writerClassId="3" />
<Writer implementation="CrashWriter" name="CrashWriter"
writerClassId="4"
/>
</Writers>
<WriterClassGroups>
<WriterClassGroup name="All">1,2,3,4</WriterClassGroup>
<WriterClassGroup name="File">1</WriterClassGroup>
<WriterClassGroup name="Console">2</WriterClassGroup>
<WriterClassGroup name="EventLog">3</WriterClassGroup>
<WriterClassGroup name="Crash">4</WriterClassGroup>
</WriterClassGroups>
<Filters>
<FilterRecord writerClassGroup="Console" path = "saw" information="1" warning="31" error="31" trace="0" incident_error="32" />
<FilterRecord writerClassGroup="File" path = "saw" information="1" warning="31" error="31" trace="0" incident_error="32" />
<FilterRecord writerClassGroup="File" path="saw.mktgsqlsubsystem.joblog" information="1" warning="2" error="31" trace="0" incident_error="32"/>
<FilterRecord writerClassGroup="File" path="saw.httpserver.request"
information="16" warning="32" error="32" trace="0" incident_error="32"/>
<FilterRecord writerClassGroup="File" path="saw.httpserver.response"
information="16" warning="32" error="32" trace="0" incident_error="32"/>
</Filters>
</Logging>
</Server>

次の表は、構成階層内の各ノードの説明を示しています。

要素 属性 説明

Writers

なし

ライター構成が含まれます。

この構成は起動時にロードされます。

Writer

なし

ライターを構成します。

Writer

disableCentralControl

(オプション)このエントリがFusion Middleware Controlによって更新されないように指定します。デフォルト値はtrueです。

Writer

implementation

次の実装が定義されています。

  • FileLogWriter。ディスク・ファイルに書き込みます。

  • CoutWriter。標準出力に書き込みます。

  • EventLogWriter。Windowsイベント・ログまたはLinux syslogに書き込みます。

  • CrashWriter。Windowsのみの機能で、プレゼンテーション・サービスが特定のソース・ファイルと行番号からのログを試みると、クラッシュ・ダンプ・ファイルに書き込みます。

    ログ記録可能であっても回復可能ではないエラー(たとえば、NQTESTの失敗)に関する情報を得るために、本番環境で使用されます。

    ノート: サーバーが不安定な状態になる可能性があるため、この実装の使用には注意が必要です。この実装は、テスト・システムでごくまれに診断目的でのみ使用します。

    WindowsでCrashWriterを使用するには、適切なバージョンのdbghelp.dll(6.0.17.0以上)が必要です。

    適切なdbghelp.dllは、support/windows/system64にあります。

    このDLLをWINNT/system64またはmain/binディレクトリに配置します。

    登録は必要ありません。

Writer

name

ライターの一意の名前です。

Writer

writerClassId

1 - 10の範囲の整数値を指定します。この値は、ロギングを許可または禁止するために、フィルタで使用されます。

個々のライターはそれぞれ一意の値を持つ必要があり、その値が後でフィルタ構成で使用されます。

異なるライターが同じクラスIDを持つこともありますが、その場合、フィルタでそれらのライターを区別できません。

Writer

fmtName

(オプション)ログ・メッセージの形式を指定します。有効な値は次のとおりです。

  • デフォルト - 10g形式。識別の見出しを使用してメッセージを書式設定します。

  • ODL-TEXT。Oracle診断テキスト形式でメッセージを書式設定します。

  • ODL-XML。Oracle診断XML形式でメッセージを書式設定します。

この属性を設定しないと、ログ・メッセージはデフォルト形式で表示されます。デフォルト形式は、ファイル・ログ・ライターの場合は10g形式で、コンソールの場合はODL-TEXTです。

例は、「ログ・メッセージの形式例」を参照してください。

Writer(FileLogWriter固有の属性)

dir

ログ・ファイルが作成されるディレクトリを指定します。

Writer(FileLogWriter固有の属性)

ODLLogFilePath

Fusion Middleware Controlがログ・ビューアに表示するファイルを指定します。

Writer(FileLogWriter固有の属性)

maxFileSizeKb

ログ・ファイルの最大サイズをKB単位で指定します。

ファイル・サイズの上限に達するとファイルは閉じられ、新しいログ・ファイルが作成されます。

Writer(FileLogWriter固有の属性)

filePrefix

ログ・ファイルの接頭辞を指定します。

Writer(FileLogWriter固有の属性)

filesN

ログ・ファイルの最大数を指定します。

この値を超えると、最初のファイルが削除され、再び作成されます。ログ出力が起動し、最初のファイルの先頭に書き込みが実行されます。

Writer(EventLogWriter固有の属性)

winSource

ログに記録されるイベントのイベント・ログ・ソースを指定します。

Writer(CrashWriter固有の属性)

file

ダンプ・ファイル・パスを指定します。

Windowsの場合、ダンプ・ファイルはbin/coredumpsに作成され、プレゼンテーション・サービスは実行を続けます。

Writer(CrashWriter固有の属性)

line

ダンプ・ファイルの行番号です。

WriterClassGroups

なし

ライター・クラスの定義が含まれます。ライター・クラスは、ライター・クラスIDのグループです。

WriterClassGroup(クラスIDのカンマ区切りのリストを子テキストとして含む。)

name

WriterClassGroupの名前を指定します。

Filters

なし

フィルタ構成が含まれます。

FilterRecord

writerClassGroup

このレコードが適用されるライターのグループを指定します。WriterClassGroupは通常、WriterClassGroupsセクションであらかじめ定義されています。

FilterRecord

disableCentralControl

(オプション)このエントリがFusion Middleware Controlによって更新されないように指定します。デフォルト値はtrueです。

FilterRecord

path

ログ・ソース・パスを指定します。SOAP情報のロギングを有効にするには、次の値を入力します。

saw.httpserver.request.soaprequest

現在のフィルタ・レコードは、パスで識別されるソフトウェア・コンポーネントとそのすべてのサブコンポーネントに適用されます。

FilterRecord

information

対応するメッセージ・タイプの重大度を指定する整数が含まれます。

指定の値より重大度が低いメッセージのみが記録されます。

FilterRecord

warning

対応するメッセージ・タイプの重大度を指定する整数が含まれます。

指定の値より重大度が低いメッセージのみが記録されます。

FilterRecord

error

対応するメッセージ・タイプの重大度を指定する整数が含まれます。

指定の値より重大度が低いメッセージのみが記録されます。

FilterRecord

trace

対応するメッセージ・タイプの重大度を指定する整数が含まれます。

指定の値より重大度が低いメッセージのみが記録されます。

FilterRecord

incident_error

対応するメッセージ・タイプの重大度を指定する整数が含まれます。

指定の値より重大度が低いメッセージのみが記録されます。

ログ・メッセージの形式例

Writer要素のfmtName属性により、ログ・メッセージは、デフォルト(10g形式)、ODL-TEXT、ODL-XMLのいずれかの形式になります。

次の例はデフォルト形式を示しています。

例8-5 デフォルト形式

デフォルト形式の場合、次のように、識別の見出しを伴うメッセージが生成されます。

Type: Information
Severity: 30
Time: Wed Jul 26 11:22:20 2006
File: project\sawserver\sawserver.cpp
Line: 399
Properties: ThreadID-2552
Location: 
             saw.sawserver
             saw.sawserver.initializesawserver
             saw.sawserver
Oracle BI Presentation Services has started successfully.

次の例はODL-TEXT形式を示しています。

例8-6 ODL-TEXT形式

短縮形式の場合、次のように、識別の見出しを伴わない省略された形式でメッセージが生成されます。

[timestamp] [component id] [messagetype:level] [message-id] [module id] ([field-name: field-value])* message-text [[
supplemental-detail
]]

[2010-05-27T10:51:20.000-07:00] [OBIPS] [NOTIFICATION:1] [] [saw.sawserver] [ecid: 1243446680218334471555761] [tid: 2552] Oracle BI Presentation Services (OBIPS) 11.1.1.2 (Build 0) are starting up.[[
File:sawserver.cpp
Line:432
Location:
   saw.sawserver
   saw.sawserver.initializesawserver
   saw.sawserver
ecid: 1243446680218334471555761 
]]

次の例はODL-XML形式を示しています。

例8-7 ODL-XML形式

xml形式の場合、次のように、XML形式のメッセージが生成されます。

<msg time="2010-05-08T18:41:05.000+00:00" 
comp_id="OBIPS" type="NOTIFICATION" level="1" msg_id="" 
module="saw.sawserver" ecid="124180446517874242628761" tid="127c"> 
<txt> Oracle BI Presentation Services has started successfully</txt> 
<suppl_detail /> 
</msg>

プレゼンテーション・サービス・メッセージの構造

BI Publisherによって記録される各メッセージは、次の表に示されている様々なコンポーネントで構成されます。

メッセージ・コンポーネント 説明

メッセージ・テキスト

ユーザーへのログ・メッセージのテキストです。

メッセージ・タイプ

5種類(情報、警告、エラー、インシデント・エラー、トレース)のうちの1つです。

「ログ・ファイル・メッセージのカテゴリとレベルの概要」を参照してください

重大度

重大度は、正の整数で表されます。

値が低くなるほど、メッセージの重大度は増します。重大度が0 (ゼロ)のメッセージは最も重要なタイプのメッセージであり、重大度が32のメッセージはまったく重要ではありません。

メッセージ・プロパティ

プロパティには、他の種類の情報が含まれます。その種類はメッセージによって異なり、ユーザー名、クライアント・ブラウザのIPアドレス、スレッドIDなどが含まれる場合があります。

プレゼンテーション・サービス・ログ・フィルタ

FilterRecordで、ロギングの詳細をカスタマイズします。FilterRecordを使用して、実装(出力タイプ)とWebログのカテゴリ(インシデント・エラー、エラー、トレース、警告および情報)のロギング・レベルを指定します。

次の例では、最初の2つのFilterRecordに、次の文字列が含まれています。

path="saw"

この文字列は、情報イベントをレベル1、エラー・メッセージをレベル31などで記録します。

<FilterRecord writerClassGroup="Console" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" />
<FilterRecord writerClassGroup="File" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" />
<FilterRecord writerClassGroup="File" path="saw.mktgsqlsubsystem.joblog" information="1" warning="2" error="31" trace="0" incident_error="32"/>

この上位パスはすべてのイベントに適用されます。

前述の例の3番目のFilterRecordのように、各種タイプのイベントのログ・レベルをさらに詳細に指定する新しいFilterRecordを追加することで、FilterRecordをカスタマイズできます。この例の場合、saw.mktgsqlsubsystem.logからディスク・ファイルに情報が記録され、Marketingジョブ・イベントが生成されます。

次の例に示すように、情報レベルを1から0に変更することによって、または行をコメント・アウトすることによって、ジョブの詳細のロギングを無効にできます。

<FilterRecord writerClassGroup="Console" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" />
<FilterRecord writerClassGroup="File" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" />
<FilterRecord writerClassGroup="File" path="saw.mktgsqlsubsystem.joblog" information="1" warning="2" error="31" trace="0" incident_error="32"/>

エージェントに関する問題の診断

このセクションには次のトピックが含まれます:

Fusion Middleware Controlを使用したエージェントのデバッグ

エージェント・エラーおよびデバッグのログ・エントリが、 Fusion Middleware Controlを使用してメイン・スケジューラ・ログ・ファイル、nqscheduler.logに書き込まれ、ログ・ビューアに表示されます。

ログ情報、エラー・メッセージおよびアラートを表示するためのFusion Middleware Controlの使用を参照してください。

エージェント・ログ・エントリには、キー・エージェント・イベントが含まれ、単一のトレース行に情報が記載されます。たとえば:

Agent Chain Completed. Status: Completed, Agent ID: /users/weblogic/ChainedAgent, UserID: weblogic, OBIPS: example.com:0:9710, Job/Instance ID: 123/4567

次の表に、エージェント・イベント・ロギングおよび関連するトレース・タイプとレベルを示します。

イベント 状態 メッセージ・タイプ:レベル

エージェント・チェーンが開始しました

実行中

TRACE:1

エージェント・チェーンが開始しました

再実行中

NOTIFICATION:1

エージェント・チェーンが完了しました

失敗

ERROR:1

エージェント・チェーンが完了しました

タイムアウト

ERROR:1

エージェント・チェーンが完了しました

タイムアウト

WARNING:1

エージェント・チェーンが完了しました

警告

WARNING:1

エージェント・チェーンが完了しました

取消済

NOTIFICATION:1

エージェント・チェーンが完了しました

再度実行

NOTIFICATION:1

エージェント・チェーンが完了しました

完了

TRACE:1

エージェントが開始しました

該当なし

TRACE:1

エージェントが完了しました

該当なし

TRACE:1

Fusion Middleware Control内のレベルを設定すると、nqscheduler.logファイルに書き込まれたログ出力の詳細を確認できます。ログ・ファイルのローテーション・ポリシーの構成とログ・レベルの指定を参照してください。ECIDを使用してログ・エントリをフィルタ処理をし、特定のエージェント・チェイン固有の情報を検索できます。

エージェントの手動デバッグ

エージェントが実行に完全に失敗した場合やOracle BIスケジューラでデバッグが有効な場合には、エージェントのログ・ファイルが生成されます。

デバッグを手動で有効にするには、Oracle BIスケジューラのschedulerconfig.xmlファイルでTrace要素を32の値に設定するか、Fusion Middleware Controlの設定LogLevelを「Finest」に割り当てます。

schedulerconfig.xmlファイルは次の場所にあります。

<domain_home>/config/fmwconfig/biconfig/OBISCH

ノート:

コンポーネントを再起動する必要はありません。デバッグが完了した後、値をデフォルトに戻します。

「診断ログ構成ファイルの概要とその位置」を参照してください。

エージェント・ログ・ファイルの場所は、Oracle BIスケジューラのinstanceconfig.xmlファイルでも指定されます(詳細は、「エージェントのスケジューラ構成設定」を参照)。ログ・ファイルのデフォルトの場所は、Oracle BIスケジューラがインストールされるコンピュータの、インストール・ディレクトリ内のLogディレクトリです。

ログ・ファイル名の形式は、次のとおりです。

Agent-JobID-InstanceID.xxx

このファイル名の各部の内容は、次のとおりです。

  • Agentは、すべてのエージェント・ログ・ファイルの接頭辞です。

  • JobIDは、エージェントのOracle BIスケジューラ・ジョブ識別子です。

  • InstanceIDは、エージェントのOracle BIスケジューラ・インスタンス識別子です。

  • xxxは、ファイル拡張子です。

    • .errは、エージェント・エラー・ログ・ファイルを表します。

    • .logは、デバッグ・ログ・ファイルを表します。

エージェント・エラー・ログ・ファイルとデバッグ・ログ・ファイルは、実行に失敗したエージェント・インスタンスごとに、個別のファイルとして作成されます。テキスト・エディタを使用してファイルを表示できます。エントリは、通常、自明です。

エラーログの存在は、必ずしもエージェントが完全に失敗したことを意味するわけではありません。たとえば、エージェントが複数の電子メール・アドレスにコンテンツを配信するものとします。無効なアドレスがある場合や、メール・サーバーが停止している場合には、エージェントに対してエラー・ログが生成されます。

ジョブ・マネージャで、エラー・メッセージと、ジョブ・インスタンスの終了コードを表示することもできます。『Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイド』ジョブ・マネージャのインスタンス・プロパティに関する項を参照してください。終了ステータスは、正常終了した配信の数を示します。