4.13. 日志记录
Kafka 代理使用 Log4j 作为其日志记录基础架构。默认情况下,日志记录配置从 log4j.properties 配置文件读取,该文件应放在 /opt/kafka/config/ 目录中,或 classpath。可以使用 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 代理日志记录由每个代理中的多个 broker loggers 提供。您可以动态更改代理日志记录器的日志记录级别,而无需重启代理。增加日志返回的详细级别 - 从 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={}更改一个或多个代理日志记录器的日志级别。使用
--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 工具将一个或多个代理日志记录器重置为其默认日志记录级别。使用 --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 文档中的 更新 代理配置。