我尝试将每个JMX的Kafka指标导出到Prometheus并使用Grafana显示它们,但我正在努力获取消费者指标(更准确地说:
消费者:类型=消费者FetcherManager,名称=MaxLag,clientId=([-.\w])
每次我试图获取这个Mbean,它甚至没有出现。我一直在阅读我必须“查看客户端”或“我正在查看代理指标,但我需要消费者指标”,但没有人解释如何做到这一点,所以我问你们是否可以帮助我。是否有某种配置或特殊的JMX端口来获取消费者指标或类似的东西?
我的配置文件查找MBean的模式:
- pattern : kafka.consumer<type=(.+), name=(.+), client-id=(.+)><>(Count|Value)
name: kafka_consumer_$1_$2
Labels:
clientId: "$3"
此外,我需要使用JMX获取Metrics,因为我无权访问Kafka服务器。
我以这个项目为例:https://github.com/rama-nallamilli/kafka-prometheus-monitoring
以下两件事是可能的:
A.可能会给客户端已经与Kafka断开连接
B.可能这个指标在代理上不存在。它可能在运行消费者代码的JVM应用程序中可见。我不确定,但这是你如何检查的:
>
在启用JMX的情况下重新启动您的消费者应用程序
使用可视化vm连接到上面的jvm
它应该显示所有可用的JMX指标。
如果指标包含您选择的指标,那么您找错了地方(经纪人)。如果不是,那我就错了。
我没有确切的配置,但我可以在您的配置中指出的一个错误是,name不能是消费者指标的匹配模式。尝试使用以下方式删除模式:
- pattern : kafka.consumer<type=(.+), client-id=(.+)><>(Count|Value)
有关更多参考,您可以查看Apachekafka文档,我也遇到了为消费者和生产者创建通用模式的问题。一旦我弄清楚了,我会在这里发帖。
@xBoLLo