并非所有属性在kafka producer.metrics()中都可用

时间:2019-07-30 08:57:09

标签: apache-kafka kafka-consumer-api kafka-producer-api

我正在尝试通过producer.metrics()api调用获取kafka生产者的所有指标。

我能够获取少量指标,但无法查看https://kafka.apache.org/20/documentation.html中提到的所有指标 kafka.producer:type = producer-metrics

我的尝试:

我正在尝试获取属性record-send-rate和record-send-total的指标。

但是我只能看到记录发送率值,但无法找到记录发送总数。

final Map<MetricName, ? extends Metric> metricsDisplayMap = producer.metrics();

for (Map.Entry<MetricName, ? extends Metric> entry : metricMap.entrySet()) {
      if (metricsNameFilter.contains(entry.getKey().name()) && entry.getKey().group().equalsIgnoreCase("producer-metrics")) {
        System.out.print(entry.getKey().name() + " : " + entry.getValue().value() + "  <--> " + entry.getKey().group() + " \n ");
 }

(1)我需要打印生产者的所有指标,例如发送的记录数,花费的时间等

(2)另外,我想知道还有其他方法可以收集kafka生产者的指标

(3)KafkaMetricsReporter的用途是什么?何时使用?

1 个答案:

答案 0 :(得分:0)

根据我在Kafka文档中看到的,记录发送总数指标存在并且应该可以访问。

不过,这些记录的度量标准旨在通过JMX访问。您是否尝试使用JMX客户端工具访问它们?这也许可以回答您的第二个问题。

以下是一些有关如何监控您的Kafka JMX指标的文档:

https://access.redhat.com/documentation/en-us/red_hat_amq/7.3/html/using_amq_streams_on_red_hat_enterprise_linux_rhel/monitoring-str

Yannick

相关问题