10.2. 为 Kafka 代理日志记录器动态更改日志记录级别
Kafka 代理日志记录由每个代理中的代理日志记录器提供。在运行时动态更改代理日志记录器的日志记录级别,而无需重启代理。
您还可以动态地将代理日志记录器重置为其默认日志记录级别。
先决条件
- 每个主机上安装了 Apache Kafka 的流,且配置文件可用。
- Kafka 正在运行。
流程
切换到
kafka
用户:su - kafka
使用
kafka-configs.sh
工具列出代理的所有代理日志记录器:/opt/kafka/bin/kafka-configs.sh --bootstrap-server <broker_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={}
更改一个或多个代理日志记录器的日志级别。使用
--alter
和--add-config
选项,并使用双引号将每个日志记录器及其级别指定为逗号分隔的列表。/opt/kafka/bin/kafka-configs.sh --bootstrap-server <broker_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
工具将一个或多个代理日志记录器重置为其默认日志记录级别。使用 --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 文档中的 更新 代理配置