【问题标题】:Not all attributes are available in kafka producer.metrics()并非所有属性都在 kafka producer.metrics() 中可用
【发布时间】:2019-07-30 08:57:09
【问题描述】:

我正在尝试通过 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有什么用,什么时候用?

【问题讨论】:

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


【解决方案1】:

从我在 Kafka 文档中看到的内容来看,record-send-total 指标存在并且应该可以访问。

不过,这些记录在案的指标旨在通过 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

亚尼克

【讨论】:

  • 我想在 kafka 客户端打印指标(即通过 kafka 生产者写入 kafka 的代码)。知道为什么使用 KafkaMetricsReporter 以及我们如何使用它
  • 你从哪里得到这个KafkaMetricsReporter?
  • 导入 kafka.metrics.KafkaMetricsReporter;这是卡夫卡的图书馆
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
相关资源
最近更新 更多