我一直在研究如何计算Kafka中的消费者滞后,并且想知道如何使用__consumer_offset
消息来计算它。 __consumer_offset
显示每个主题和分区和组的偏移量,但是如何获得主题大小以计算滞后?
我要做的是将这些数据存储到Elasticsearch进行分析。我可以使用logtash(以及teh代理上的jmx数据)来提取__consumer_offset
数据,但现在需要获取主题大小来计算滞后。
答案 0 :(得分:0)
我想出的最好的 - 这有点可怕的黑客 - 是这样的: a)获取并保存主题/组的每个分区的当前位置 b)执行seekToEnd - 这会将所有分区1重新定位到最后一条记录之后 c)重新查询这些位置,这些位置等于该分区的项目数 d)使用(a)中的位置进行搜索(分区,位置)以将每个分区设置回原始位置
因为您正在更改/重置原始位置而感到恐惧。