10.3. Kafka Connect と MirrorMaker 2 のログレベルを動的に変更する


再起動することなく、実行時に Kafka Connect ワーカーまたは MirrorMaker 2 コネクターのログレベルを動的に変更します。

Kafka Connect API を使用して、ワーカーまたはコネクターロガーのログレベルを一時的に変更します。Kafka Connect API は、ログレベルを取得または変更するための admin/loggers エンドポイントを提供します。API を使用してログレベルを変更しても、connect-log4j.properties 設定ファイル内のロガー設定は変更されません。必要に応じて、設定ファイル内のログレベルを永続的に変更できます。

注記

MirrorMaker 2 のログレベルは、分散モードまたはスタンドアロンモードの実行時にのみ変更できます。専用の MirrorMaker 2 クラスターには Kafka Connect REST API がないため、ログレベルを変更することはできません。

Kafka Connect API のデフォルトのリスナーはポート 8083 上にあり、この手順で使用されます。admin.listeners 設定を使用して、リスナーを変更または追加したり、TLS 認証を有効にしたりできます。

admin エンドポイントのリスナー設定の例

admin.listeners=https://localhost:8083
admin.listeners.https.ssl.truststore.location=/path/to/truststore.jks
admin.listeners.https.ssl.truststore.password=123456
admin.listeners.https.ssl.keystore.location=/path/to/keystore.jks
admin.listeners.https.ssl.keystore.password=123456

admin エンドポイントを使用可能にしない場合は、設定で空の文字列を指定して無効にすることができます。

admin エンドポイントを無効にするリスナー設定の例

admin.listeners=

前提条件

手順

  1. kafka ユーザーに切り替えます。

    su - kafka
  2. connect-log4j.properties ファイルで設定されているロガーの現在のログレベルを確認します。

    $ cat /opt/kafka/config/connect-log4j.properties
    
    # ...
    log4j.rootLogger=INFO, stdout, connectAppender
    # ...
    log4j.logger.org.reflections=ERROR

    curl コマンドを使用して、Kafka Connect API の admin/loggers エンドポイントからログレベルを確認します。

    curl -s http://localhost:8083/admin/loggers/ | jq
    
    {
      "org.reflections": {
        "level": "ERROR"
      },
      "root": {
        "level": "INFO"
      }
    }

    jq は出力を JSON 形式で出力します。このリストには、標準の org および root レベルのロガーに加えて、ログレベルが変更された特定のロガーが表示されます。

    Kafka Connect の admin.listeners 設定に TLS (トランスポート層セキュリティー) 認証を設定する場合、ロガーエンドポイントのアドレスは、https://localhost:8083 など、https としてプロトコルを使用して admin.listeners に指定された値になります。

    特定のロガーのログレベルを取得することもできます。

    curl -s http://localhost:8083/admin/loggers/org.apache.kafka.connect.mirror.MirrorCheckpointConnector | jq
    
    {
      "level": "INFO"
    }
  3. PUT メソッドを使用して、ロガーのログレベルを変更します。

    curl -Ss -X PUT -H 'Content-Type: application/json' -d '{"level": "TRACE"}' http://localhost:8083/admin/loggers/root
    
    {
      # ...
    
      "org.reflections": {
        "level": "TRACE"
      },
      "org.reflections.Reflections": {
        "level": "TRACE"
      },
      "root": {
        "level": "TRACE"
      }
    }

    root ロガーを変更すると、デフォルトでルートログレベルを使用していたロガーのログレベルも変更されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.