【发布时间】:2017-04-28 10:12:51
【问题描述】:
我已经使用 jmx_prometheus_javaagent 作为 java 代理在本地启动了 Kafka 代理实例。
我对给定主题的当前消息速率感兴趣,并在 Grafana 仪表板中呈现相同的消息。在 jconsole 中探索 MBean,我可以看到一个名为 kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,topic=ABCD 的对象,它具有 MeanRate、OneMinuteRate、Count 等属性,这似乎符合我的目的:-
为了尝试我的设置,我使用一个简单的 KafkaProducer 向本地 kafka 代理发送非常小的消息,该 KafkaProducer 能够在 5 秒内发送 100 万条消息然后停止。对于这个实验,我期望看到这 5 秒的 MeanRate 会出现峰值,然后又回到 0。
问题
即使没有消息进入(生产者已停止),在生产者停止发送消息很久后,我仍看到 MeanRate 的非零高值:-
在普罗米修斯图中反映为:-
普罗米修斯配置:-
- pattern : kafka.server<type=(.+), name=(.+)PerSec\w*, topic=(.+)><>MeanRate
name: kafka_server_$1_$2_mean_rate
labels:
topic: "$3"
普罗米修斯查询 - floor(kafka_server_brokertopicmetrics_messagesin_mean_rate)
什么是正确的方法/prometheus-query/mbean 来获得消息的准确率?
【问题讨论】:
标签: java apache-kafka jmx prometheus