【发布时间】:2020-11-24 14:14:32
【问题描述】:
我创建了一个使用 Kafka 的应用程序。那么我怎样才能知道我的消费者读取了多少 MB/秒?
我的主题只有一个分区
【问题讨论】:
标签: apache-kafka jmx jconsole mbeans
我创建了一个使用 Kafka 的应用程序。那么我怎样才能知道我的消费者读取了多少 MB/秒?
我的主题只有一个分区
【问题讨论】:
标签: apache-kafka jmx jconsole mbeans
您是否在使用 Java Kafka 消费者 API?如果是,则它会公开一些 JMX 指标,并且会公开一些更特定于消费者获取的指标。你可以在这里看到它们: https://kafka.apache.org/documentation/#consumer_fetch_monitoring
【讨论】:
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false " 这实际上是例如 kafka-console-consumer 脚本所做的。如果您想从代码中获取指标,KafkaConsumer 应该有一个 metrics 方法。
KAFKA_JMX_OPTS。我应该在我的应用程序的环境中定义KAFKA_JMX_OPTS 吗?我可以通过Jconsole 和kafka.tools.JmxTool 访问代理指标。还有什么方法可以使用kafka.tools.JmxTool 获取消费者指标?