3.2 ロギング

3.2.1 ログおよびログ・レベル

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

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

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

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

  • サーバーによって生成されるものは次のとおりです:
    • サーバー・ログ
    • Apiログ
    • システム・パフォーマンスを監視するためのパフォーマンス・ログ
    • Veridataリポジトリで行われたSQL問合せ、トランザクションおよび変更を含むリポジトリ・ログ

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

「接続」画面の「ログ」タブからエージェント・ログ・レベルを設定することもできます。

ノート:

UIの「ログ」タブは、GGS顧客の管理対象エージェントに対してのみ使用できます。

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ディレクトリに格納されます。

異なるタイプのログを格納するログ・ファイルには、次の4つのタイプがあります:
  • vdtapi.log

    サーバーAPIログは、vdtapi.logに記録されます。

  • vdtserver.log

    サーバー・ログは、vdtserver.logに記録されます。

  • vdtperf.log

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

  • vdtrepo.log

    サーバー・リポジトリ・ログは、vdtrepo.logに記録されます。

ノート:

  • ログ・ファイルのすべてのカテゴリについて、ログ・ファイル名の形式はvdt<type>.log.nです。n0,1,2.... で、古いログが含まれています。
  • ログ・ファイルのタイプごとに、vdt<type>.log.0には最新のログが含まれます。
  • ログ構成は、<VERIDATA_HOME>/config/logging.propertiesにある構成ファイルからも更新できます。
  • 構成ファイルを更新する場合は、サーバーを再起動する必要があります。
  • APIを使用することで再起動を回避できます。サーバー・ログ・レベルの更新を参照してください。

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

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

  1. すべてのログのログ・レベルの設定:
    必要なログ・レベルを、同じレベルまたはログ・タイプごとに異なるレベルですべてのログに一度に適用するには、levelnameのペアをカンマで区切って次のリクエスト本文を送信します:
    logParameters:[
      {
        "level":<desired_log_level>,
        "name": <log name>
      },
      {
        "level":<desired_log_level>,
        "name": <log name>
      }
    ]

    サポートされている値は、OFFINFOSEVEREFINESTです

  2. サーバー・ログの構成
    サーバー・ログ・レベルを変更するには、次のリクエスト本文を使用します:
    {
        "level": <desired_log_level>,
        "name":  "oracle.veridata.server"
    }
    

    サポートされているログ・レベルの値は、OFFINFOFINESTSEVEREです。

    デフォルト値はINFOです。

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

    サポートされているログ・レベルの値は、OFFINFOFINESTSEVEREです。

    デフォルト値はINFOです。

  4. リポジトリ・ログの構成:
    パフォーマンス・ロギングを有効にするには、次のリクエスト本文を使用します:
    {   
            "level": <desired_log_level>,   
            "name":  "oracle.veridata.repo"
    }
    

    サポートされているログ・レベルの値は、OFFFINESTSEVEREです。

    デフォルト値はOFFです。

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
この更新の後にサーバーを再起動する必要があることに注意してください。