3.2 ロギング

3.2.1 ログおよびログ・レベルの設定

Oracle GoldenGate Veridataでは、エージェントとサーバーの両方のログが保持されるため、監視、トラブルシューティングおよびパフォーマンス分析に役立ちます。

  • エージェントによって生成されるものは次のとおりです:
    • メインのログ
    • 実行されたSQL問合せの問合せログ
    • 実行効率を追跡するためのパフォーマンス・ログ

Veridataエージェントのログは、ロギングの詳細度を制御するために様々なログ・レベルに分類されます:

  • TRACE – 詳細なデバッグ情報
  • NOTIFICATION – 一般的な操作メッセージ
  • WARNING – 注意が必要と思われる潜在的な問題
  • ERROR – 機能に影響を与えるが、実行を停止しないエラー
  • INCIDENT_ERROR – 即時のアクションが必要なクリティカル・エラー

  • サーバーによって生成されるものは次のとおりです:
    • サーバー・ログ
    • Apiログ
    • システム・パフォーマンスを監視するためのパフォーマンス・ログ

Veridataサーバーのログは、ロギングの詳細度を制御するために様々なログ・レベルに分類されます:

  • SEVERE

即時のアクションが必要な重大な障害を示します。

  • WARNING

今後問題を引き起こす可能性のある潜在的な問題を示します。

  • INFO

アプリケーションの通常の実行に関する一般情報メッセージに使用されます。

  • FINE

デバッグの一般的なトレース情報を提供します。

  • FINER

FINEより詳細なトレース・メッセージ。

  • FINEST (最低優先度)

最も詳細なトレース情報(通常は非常に詳細なレベル)。

  • ALL

すべてのレベルのすべてのメッセージ(FINESTからSEVEREまで)を取得します。

ノート:

本番システムは通常、INFOまたはWARNINGレベルでログを記録します。

デバッグ・シナリオでは、FINEFINERまたはFINESTを使用できます。

3.2.2 エージェント

3.2.2.1 エージェント・ログの場所

エージェント・ログは、次のディレクトリに格納されます: $AGENT_DEPLOYED_LOCATION/logs/

メインのエージェント・ログは、veridata-agent.logに記録されます。

パフォーマンス・ログは、vdtperf-agent.logに格納されます。

3.2.2.2 エージェント・ログ設定の更新

エージェント・ログ設定は、odl.xmlファイルで構成できます。

ファイルの場所: $AGENT_DEPLOYED_LOCATION/config/odl.xml

3.2.2.3 パフォーマンス・ログの有効化

  1. oracle.veridata.agent.performanceという名前のロガーについて、odl.xmlファイルを変更し、レベルをNOTIFICATIONからTRACEに変更します。

    たとえば:

    <logger name='oracle.veridata.agent.performance' level='TRACE:1' useParentHandlers='false'> <handler name='perf-handler' /> <handler name='my-console-handler' /> </logger> 
  2. エージェントを再起動します

    このロガーがodl.xmlに存在しない場合:

    1. 次のログ・ハンドラを<log_handlers>の下に追加します
      <log_handler name='perf-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${agentHome}/logs/vdtperf-${agent.id}.log' /> <property name='maxFileSize' value='10485760' /> <property name='maxLogSize' value='104857600' /> <property name='useSourceClassAndMethod' value='TRACE:1' /> </log_handler> 
    2. <loggers>タグの下に、次を追加します:
      <logger name='oracle.veridata.agent.performance' level='TRACE:1' useParentHandlers='false'> <handler name='perf-handler' /> <handler name='my-console-handler' /> </logger> 
  3. エージェントを再起動します

3.2.2.4 トレース・ログの有効化

oracle.veridataという名前のロガーについて、odl.xmlファイルを変更し、レベルをNOTIFICATIONからTRACEに変更します。エージェントを再起動します

たとえば:

<logger name='oracle.veridata' level='TRACE:1' useParentHandlers='false'> <handler name='odl-handler' /> <handler name='my-console-handler' /> </logger> 
<logger name='oracle.veridata.XML' level='TRACE:1' useParentHandlers='false'> <handler name='odl-handler' /> <handler name='my-console-handler'/> </logger> 

3.2.2.5 問合せログの有効化

  1. oracle.veridata.agent.queryという名前のロガーについて、odl.xmlファイルを変更し、レベルをNOTIFICATIONからTRACEに変更します。
    <logger name='oracle.veridata.agent.query' level='TRACE:1' useParentHandlers='false'> <handler name='odl-handler' /> <handler name='my-console-handler' /> </logger> 
  2. エージェントを再起動します

3.2.2.6 ログ・サイズの変更

ログ・ローテーションはデフォルトで有効になっているため、ログ・サイズが特定のサイズに達すると、古いログは削除されます。ただし、これは次に説明するように制御できます。

ログ・サイズは、odl.xmlファイルのログ・ハンドラごとに指定されます。これは、次の2つのプロパティによって制御されます:

  • maxFileSize - ログ・ファイルの最大サイズ(バイト)を定義します。このサイズに達するとローテーションが行われ、新しいログ・ファイルが作成されます。
  • maxLogSize - ロールオーバー前の最大ログ・サイズ(バイト)を制御します。

すべてのログの場合:

odl-handlerという名前のログ・ハンドラを検索し、maxFileSizeおよびmaxLogSizeの値を変更してから、エージェントを再起動します。

<log_handler name='odl-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${agentHome}/logs/veridata-${agent.id}.log' /> <property name='maxFileSize' value='10485760' /> <property name='maxLogSize' value='104857600' /> <property name='useSourceClassAndMethod' value='TRACE:1' /> </log_handler> 

パフォーマンス・ログの場合:

perf-handlerという名前のログ・ハンドラを検索し、maxFileSizeおよびmaxLogSizeの値を変更してから、エージェントを再起動します。

<log_handler name='perf-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${agentHome}/logs/vdtperf-${agent.id}.log' /> <property name='maxFileSize' value='10485760' /> <property name='maxLogSize' value='104857600' /> <property name='useSourceClassAndMethod' value='TRACE:1' /> </log_handler>

ノート:

maxFileSizeおよびmaxLogSizeの値はバイト単位であるため、10485760は10MBです。

3.2.3 サーバー

3.2.3.1 サーバー・ログの場所

すべてのサーバー・ログは、<VERIDATA_HOME>/veridata/logsディレクトリに格納されます。

サーバーAPIログは、vdtapi.logに記録されます。サーバーAPIログ・ファイルの形式は、vdtapi.log.xです。たとえば、vdtapi.log.0です。古いログは、vdtapi.log.1vdtapi.log.2またはvdtapi.log.nという名前になります。

サーバー・ログは、vdtserver.logに記録されます。サーバー・ログ・ファイルの形式は、vdtserver.log.xです。たとえば、vdtserver.log.0です。古いログは、vdtserver.log.1vdtserver.log.2またはvdtserver.log.nという名前になります。

サーバー・パフォーマンス・ログは、vdtperf.logに記録されます。

ノート:

ログ・ファイルは、<VERIDATA_HOME>/config/logging.propertiesにある構成ファイルからも更新できます。

3.2.3.2 サーバー・ログ・レベルの更新

サーバー・ログ・レベルは、update log config APIを使用して構成できます。詳細は、『GoldenGate Veridata REST API』を参照してください。このAPIは、次のログ・レベルを設定するために使用されます:

  1. すべてのログのログ・レベルの設定:
    すべてのログに一度にログ・レベルを適用するには、次のリクエスト本文を送信します:
    { "level":<global_log_level> }

    <global_log_level>の有効な値: ALLSEVEREWARNINGINFOFINEFINERFINEST

  2. パフォーマンス・ログの構成:
    パフォーマンス・ロギングを有効にするには、次のリクエスト本文を使用します:
    { "level": <global_log_level>, "logComponents": "oracle.veridata.server.performance=FINE" }

    ここで、logComponentsの値は、次のいずれかの値です:

    "oracle.veridata.server.performance=FINE" "oracle.veridata.server.performance=FINER" "oracle.veridata.server.performance=FINEST" 
  3. サーバー・ログの構成

    デフォルトでは、INFOレベルのサーバー・ログはvdtserver.logファイルに書き込まれます。サーバー・ログ・レベルを変更するには、次のリクエスト本文を使用します:

    { "level": <global_log_level>, "logComponents": "oracle.veridata.server=<desired_log_level>" } 

    <desired_log_level>の有効な値: ALLSEVEREWARNINGINFOFINEFINERFINEST

  4. ログ・ハンドラの構成(ファイルとコンソール):

    ログの格納場所を選択できます:

    FileHandler: ログをファイルに格納します。

    ConsoleHandler: コンソールにログを表示します。

    両方のハンドラを同時に有効にできます。
    { "level": <global_log_level>, "logHandlers": "FileHandler,ConsoleHandler" } 

3.2.3.3 ログ・サイズの変更

ログ・ローテーションはデフォルトで有効になっており、指定したサイズに達したときに古いログが削除されるようになります。

ログ・サイズは<VERIDATA_HOME>/config/logging.propertiesファイルによって制御され、各ログ・ハンドラには2つの主要なプロパティがあります:

  • FileHandler.limit - ログ・ファイルの最大サイズ(バイト)を定義します。このサイズに達するとローテーションが行われます(新しいファイルが作成されます)。これは基本的に1つのログ・ファイルのサイズです。
  • FileHandler.count - ローテーションで保持するログ・ファイルの数を定義します。ログ・ファイルの数がカウントを超えると、最も古いファイルが削除されます。
たとえば、perfログのファイル・サイズを10MBに変更し、ログ・ファイル数を10に変更するには、次のように変更します:
com.oracle.goldengate.veridata.logging.PerfFileHandler.limit=10485760 com.oracle.goldengate.veridata.logging.PerfFileHandler.count=10
この更新の後にサーバーを再起動する必要があることに注意してください。