4.13. ロギング
Kafka ブローカーは Log4j をロギングインフラストラクチャーとして使用します。デフォルトでは、ロギング設定は /opt/kafka/config/
ディレクトリーまたはクラスパスのいずれかに配置される log4j.properties
設定ファイルから読み取られます。設定ファイルの場所と名前は、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 ドキュメントの「Updating Broker Configs」