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

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

次の項目について説明します。

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

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

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

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

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

ノート:

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

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

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

instanceconfig.xmlファイル内のログ・セクションの例

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

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

ログ・ライターを含むinstanceconfig.xmlファイルの例

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

<?xml version="1.0" encoding="UTF-8"?>
<!-- Oracle Business Intelligence Presentation Services Configuration File -->
<WebConfig xmlns="oracle.bi.presentation.services/config/v1.1">
   <ServerInstance>
      ...
      ...
      <Logging xmlns="oracle.bi.presentation.services/config/v1.1">
         <Writers>
            <Writer implementation="FileLogWriter" name="Global File Logger" writerClassId="1" dir="{%ORACLE_BIPS_INSTANCE_LOGDIR%}" filePrefix="sawjsonlog"  rotateBy="size" rotationIntervalHours="24" maxFileSizeKb="10240" filesN="10" fmtName="JSON"/>
            <Writer implementation="CoutWriter" name="Console Logger" writerClassId="2"/>
            <Writer implementation="FileLogWriter" name="Audit Logger" writerClassId="3" dir="{%ORACLE_BIPS_INSTANCE_LOGDIR%}" filePrefix="auditjson" rotateBy="size" maxFileSizeKb="10240" filesN="10" fmtName="Devops-ServiceLog"/>
         </Writers>
         <WriterClassGroups>
            <WriterClassGroup name="All">1,2,3</WriterClassGroup>
            <WriterClassGroup name="File">1</WriterClassGroup>
            <WriterClassGroup name="Console">2</WriterClassGroup>
            <WriterClassGroup name="AuditLog">3</WriterClassGroup>
         </WriterClassGroups>
         <Filters>
            <FilterRecord writerClassGroup="File" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32"/>
            <FilterRecord writerClassGroup="AuditLog" path="oa.devops.servicelog.audit" information="32" trace="0" warning="0" error="0" incident_error="0"/>
         </Filters>
      </Logging>
      ...
      ...
    </ServerInstance>             
</WebConfig>

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

要素 属性 説明

Writers

なし

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

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

Writer

なし

ライターを構成します。

Writer

implementation

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

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

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

Writer

name

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

Writer

writerClassId

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

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

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

Writer

fmtName

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

  • JSON。識別の見出しを使用してメッセージを書式設定します。

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

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

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

Writer(FileLogWriter固有の属性)

dir

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

Writer(FileLogWriter固有の属性)

maxFileSizeKb

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

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

Writer(FileLogWriter固有の属性)

filePrefix

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

Writer(FileLogWriter固有の属性)

filesN

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

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

WriterClassGroups

なし

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

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

name

WriterClassGroupの名前を指定します。

Filters

なし

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

FilterRecord

writerClassGroup

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

FilterRecord

path

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

saw.httpserver.request.soaprequest

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

FilterRecord

information

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

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

FilterRecord

warning

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

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

FilterRecord

error

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

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

FilterRecord

trace

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

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

FilterRecord

incident_error

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

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

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

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

デフォルト形式(JSON)の例

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

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

{"ts":"1722816936932","time":"1722816936.932","datetime":"2024-08-05T00:15:36Z","app":"OBIPS","level":"NOTIFICATION","severity":"1","category":"saw.sawserver","ecid":"","rid":"","thread":"","sik":"","user":"","msg":"Oracle Analytics Presentation Services have started successfully.","file":"sawserver.cpp","line":"871","log_sources":"saw.sawserver","stacktrace":"","properties":{}}

ODL-Text形式の例

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

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

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

[2024-09-20T19:20:26Z] [OBIPS] [NOTIFICATION:1] [] [saw.sawserver] [ecid: ] [tid: ] [SI-Key: ] [userId: ] Oracle Analytics Presentation Services have started successfully.[[
File:sawserver.cpp
Line:871
Location:
        saw.sawserver
]]

ODL-XML形式の例

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

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

<msg time="2024-09-20T19:25:41Z" comp_id="OBIPS" module="saw.sawserver" msg_id="" type="NOTIFICATION" level="1" ecid="" tid="
">SI-Key="" userId="" 
 <txt>Oracle Analytics Presentation Services have started successfully.</txt>
   <suppl_detail>
   <File>sawserver.cpp</File>
   <Line>871</Line>
   <Location>
      <Logsource>saw.sawserver</Logsource>
   </Location>
   <Properties>
   </Properties>
 </suppl_detail>
</msg>

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

プレゼンテーション・サービスによって記録される各メッセージは、次の表に示されている様々なコンポーネントで構成されます。

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

メッセージ・テキスト

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

メッセージ・タイプ

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" />

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

前述の例の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" />

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

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

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.

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

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

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

実行中

NOTIFICATION:1

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

再実行中

NOTIFICATION:1

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

失敗

ERROR:1

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

タイムアウト

ERROR:1

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

タイムアウト

WARNING:1

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

警告

WARNING:1

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

取消済

NOTIFICATION:1

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

再度実行

NOTIFICATION:1

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

完了

NOTIFICATION: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は、デバッグ・ログ・ファイルを表します。

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

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