4.13. ログ
Kafka ブローカーは、Log4j をロギングインフラストラクチャーとして使用します。デフォルトでは、ロギング設定は log4j.properties
設定ファイルから読み取られ、/opt/kafka/config/
ディレクトリーまたはクラスパスのいずれかになります。設定ファイルの場所と名前は、Java プロパティー log4j.configuration
を使用して変更できます。これは、KAFKA_LOG4J_OPTS
環境変数を使用して Kafka に渡すことができます。
su - kafka export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:/my/path/to/log4j.config"; /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Log4j の設定に関する詳細は、Log4j マニュアル を参照してください。
4.13.1. Kafka ブローカーロガーのロギングレベルを動的に変更
Kafka ブローカーロギングは、各ブローカーの複数の ブローカーロガー によって提供されます。ブローカーを再起動することなく、ブローカーロガーのロギングレベルを動的に変更できます。ログで返される詳細レベルを増やすには、INFO
から DEBUG
に変更します。たとえば、Kafka クラスターでパフォーマンスの問題を調査するのに便利です。
ブローカーロガーは、デフォルトのロギングレベルに動的にリセットすることもできます。
手順
kafka
ユーザーに切り替えます。su - kafka
kafka-configs.sh
ツールを使用して、ブローカーのブローカーロガーすべてを一覧表示します。/opt/kafka/bin/kafka-configs.sh --bootstrap-server BOOTSTRAP-ADDRESS --describe --entity-type broker-loggers --entity-name BROKER-ID
たとえば、ブローカー
0
の場合は以下のようになります。/opt/kafka/bin/kafka-configs.sh --bootstrap-server localhost:9092 --describe --entity-type broker-loggers --entity-name 0
これは、各ロガーのロギングレベル
TRACE
、DEBUG
、INFO
、WARN
、ERROR
、またはFATAL
を返します。以下に例を示します。#... kafka.controller.ControllerChannelManager=INFO sensitive=false synonyms={} kafka.log.TimeIndex=INFO sensitive=false synonyms={}
1 つ以上のブローカーロガーのログレベルを変更します。
--alter
および--add-config
オプションを使用して、各ロガーとそのレベルを二重引用符で区切って指定します。/opt/kafka/bin/kafka-configs.sh --bootstrap-server BOOTSTRAP-ADDRESS --alter --add-config "LOGGER-ONE=NEW-LEVEL,LOGGER-TWO=NEW-LEVEL" --entity-type broker-loggers --entity-name BROKER-ID
たとえば、ブローカー
0
の場合は以下のようになります。/opt/kafka/bin/kafka-configs.sh --bootstrap-server localhost:9092 --alter --add-config "kafka.controller.ControllerChannelManager=WARN,kafka.log.TimeIndex=WARN" --entity-type broker-loggers --entity-name 0
成功すると、以下のようになります。
Completed updating config for broker: 0.
ブローカーロガーのリセット
kafka-configs.sh
ツールを使用して、1 つ以上のブローカーロガーをデフォルトのロギングレベルにリセットできます。--alter
および --delete-config
オプションを使用して、各ブローカーロガーを二重引用符で区切って指定します。
/opt/kafka/bin/kafka-configs.sh --bootstrap-server localhost:9092 --alter --delete-config "LOGGER-ONE,LOGGER-TWO" --entity-type broker-loggers --entity-name BROKER-ID
関連情報
- Apache Kafka ドキュメントの「 Broker Config 」の更新。