使用JMX监控Kafka消费者指标

时间:2018-08-01 07:55:16

标签: apache-kafka monitoring jmx metrics prometheus

我尝试将每个JMX的Kafka指标导出到Prometheus并使用Grafana进行显示,但是我一直在努力获取Consumer指标(更精确地说,这是一个:

kafka.consumer:type = ConsumerFetcherManager,name = MaxLag,clientId =([-。\ w] +))

每次我尝试获取此Mbean时,它甚至都没有显示。我一直在阅读“必须调查客户”或“我正在调查经纪人指标,但我需要消费者指标”的所有内容,但是没人能说明如何做到这一点,所以我问你伙计们,如果你能帮助我的话。是否有某种配置或特殊的JMX端口来获取使用者指标或类似的东西?

我的配置文件查找MBean的模式:

summarizePackages

此外,我需要使用JMX来获取指标,因为我无权访问Kafka服务器。

我以这个项目为例:https://github.com/rama-nallamilli/kafka-prometheus-monitoring

2 个答案:

答案 0 :(得分:0)

以下两件事是可能的:

A。可以使客户端已经从Kafka断开连接

B。经纪人可能不存在此指标。它可能在运行使用者代码的JVM应用程序中可见。我不确定,但是您可以通过以下方法进行检查:

  1. 在启用JMX的情况下重新启动消费者应用程序

  2. 使用可视vm连接到上述jvm

  3. 它应该显示所有可用的JMX指标。

  4. 如果度量标准包含您选择的度量标准,则说明您查找的位置错误(经纪人)。如果不是,那我错了。

答案 1 :(得分:0)

我没有确切的配置,但是我可以在您的配置中指出的1个错误是,名称不能成为消费者指标的匹配模式。 尝试通过以下方式删除图案:

- pattern :  kafka.consumer<type=(.+), client-id=(.+)><>(Count|Value) 

有关更多参考,您可以检查 Apache kafka docs 我还遇到了为消费者和生产者创建通用模式的问题。 一旦我弄清楚了,就会在这里发布。

@xBoLLo