7.3.2. マップされた診断コンテキストの追加


ほとんどの Debezium コネクター(および Kafka Connect ワーカー)は複数のスレッドを使用して異なるアクティビティーを実行します。これにより、ログファイルを表示し、特定の論理アクティビティーのログメッセージのみを見つけることが困難になる可能性があります。ログメッセージの検索を容易にするため、Debezium は各スレッドの追加情報を提供する マッピングされた診断コンテキスト (MDC)を複数提供します。

Debezium は、以下の MDC プロパティーを提供します。

dbz.connectorType
コネクタータイプの短いエイリアス。たとえば、、MySql Mongo Postgres、などがあります。同じ タイプ のコネクターに関連付けられたすべてのスレッドは同じ値を使用するため、これを使用して特定のタイプのコネクターによって生成されたすべてのログメッセージを見つけることができます。
dbz.connectorName
コネクターの設定に定義されたコネクターまたはデータベースサーバーの名前。たとえば productsserverA、などです。特定の コネクターインスタンスに関連付けられたすべてのスレッドは同じ値を使用する ため、特定のコネクターインスタンスによって生成されたすべてのログメッセージを確認できます。
dbz.connectorContext
コネクターのタスク内で実行される個別のスレッドとして実行されるアクティビティーの省略名。たとえば、、main binlog snapshot、などがあります。コネクターがテーブルやコレクションなど、特定のリソースにスレッドを割り当てると、代わりにそのリソースの名前を使用できます。コネクターに関連付けられた各スレッドは個別の値を使用するため、この特定のアクティビティーに関連するログメッセージをすべて見つけることができます。

コネクターの MDC を有効にするには、log4j.properties ファイルにアペンダーを設定します。

手順

  1. log4j.properties ファイルを開きます。
  2. サポートされる Debezium MDC プロパティーのいずれかを使用するようにアペンダーを設定します。

    以下の例では、以下の MDC プロパティーを使用するよう stdout アペンダーが設定されています。

    log4j.properties

    ...
    log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p  %X{dbz.connectorType}|%X{dbz.connectorName}|%X{dbz.connectorContext}  %m   [%c]%n
    ...

    これにより、以下のようなログメッセージが生成されます。

    ...
    2017-02-07 20:49:37,692 INFO   MySQL|dbserver1|snapshot  Starting snapshot for jdbc:mysql://mysql:3306/?useInformationSchema=true&nullCatalogMeansCurrent=false&useSSL=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull with user 'debezium'   [io.debezium.connector.mysql.SnapshotReader]
    2017-02-07 20:49:37,696 INFO   MySQL|dbserver1|snapshot  Snapshot is using user 'debezium' with these MySQL grants:   [io.debezium.connector.mysql.SnapshotReader]
    2017-02-07 20:49:37,697 INFO   MySQL|dbserver1|snapshot  	GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debezium'@'%'   [io.debezium.connector.mysql.SnapshotReader]
    ...

    ログの各行には、コネクタータイプ(例: MySQL)、コネクターの名前(例: dbserver1)、およびスレッドのアクティビティー(例: snapshot)が含まれます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.