Oracle Analyticsプレゼンテーション・サービスでのログ情報
プレゼンテーション・サービスのロギング機能の使用
プレゼンテーション・サービスのログを使用すると、問題およびエラーをトラブルシューティングできます。
デフォルトでは、プレゼンテーション・サービスは、すべてのエラー・イベントと、十分な重要性のある情報イベントや警告イベントをログ記録するように構成されています。サーバーの起動や停止が、重要な情報イベントの例です。ログ・ファイルには、sawlogxx.logという名前が付けられます。xxは、増分する値に置き換えられます。
発生する特定の問題をデバッグするために、ロギング・レベルを増やして、デフォルト構成より多くの情報を記録することができます。たとえば、プレゼンテーション・サービスの特定の接続問題をデバッグする場合は、saw.odbcログ・ソースのみ、最大ロギングを増やすことができます。これにより、このコンポーネントの詳細なロギングが追加されますが、他のイベントによる詳細なロギングでログがいっぱいになることはありません。プレゼンテーション・サービスのすべての構成情報は、instanceconfig.xmlファイルからロードされます。
注意:
ロギングはパフォーマンスに影響するため、特定の問題を診断する場合を除いて、本番実装でロギングを増やさないでください。プレゼンテーション・サービス構成ファイルの構造
プレゼンテーション・サービスの構成ファイルの構造によって、システムの出力が適切に表示されます。
構成ファイルの構造を次の例に示します。各ノードのカーディナリティは大カッコ内に示します。
例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 |
次の実装が定義されています。
|
Writer |
name |
ライターの一意の名前です。 |
Writer |
writerClassId |
1 - 10の範囲の整数値を指定します。この値は、ロギングを許可または禁止するために、フィルタで使用されます。 個々のライターはそれぞれ一意の値を持つ必要があり、その値が後でフィルタ構成で使用されます。 異なるライターが同じクラスIDを持つこともありますが、その場合、フィルタでそれらのライターを区別できません。 |
Writer |
fmtName |
(オプション)ログ・メッセージの形式を指定します。有効な値は次のとおりです。
この属性を設定しないと、ログ・メッセージはデフォルト形式で表示されます。デフォルト形式は、ファイル・ログ・ライターの場合は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の場合、ダンプ・ファイルは |
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ジョブ・スケジューリング・ガイド』のジョブ・マネージャのインスタンス・プロパティに関する項を参照してください。終了ステータスは、正常終了した配信の数を示します。