解释为什么metricbeat kafka分区度量比consumer度量具有更高的计数

yr9zkbsy  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(461)

问题

嗨,我在用格拉法纳想象Kafka的滞后。我一直在尝试使用metricbeat记录kafka滞后,并且自己做数学运算,因为metricbeat不支持在我使用的版本中记录kafka滞后(但是最近已经实现了)。而不是使用 max(partition.offset.newest) - max(consumergroup.offset) 为了计算滞后,我使用 sum(partition.offset.newest) - sum(consumergroup.offset) 根据特定的 kafka.topic.name . 但是,总数不符,经过进一步调查,我发现,计数甚至不符!分区偏移量的计数为30/10秒,而consumergroup偏移量的计数为12/10秒。我希望两者的计数相同

我不明白为什么metricbeat记录分区的次数比记录consumergroup的次数多。起初我认为这是因为我的metricbeat配置定义了2个主机组,这可能导致它被多次记录。然而,在改变了我的配置之后,计数下降了一半。

热释光;博士

为什么partition和consumergroup的metricbeat计数不同?

设置

Kafka2经纪人
Kafka主题分区:

Topic: xxx     PartitionCount:3        ReplicationFactor:2     Configs:
Topic: xxx     Partition: 0    Leader: 2       Replicas: 2,1   Isr: 2,1
Topic: xxx     Partition: 1    Leader: 1       Replicas: 1,2   Isr: 1,2
Topic: xxx     Partition: 2    Leader: 2       Replicas: 2,1   Isr: 2,1

metricbeat配置(modules.d/kafka.yml):

- module: kafka
  #metricsets:
  #  - partition
  #  - consumergroup
  period: 10s
  hosts: ["xxx.yyy:9092"]

版本

Kafka2.11-0.11.0.0
elasticsearch-7.2.0版
Kibana-7.2.0
节拍-7.2.0

kt06eoxx

kt06eoxx1#

经过多次调试,我发现了问题所在:
出于某种原因,我的kafka代理1只有producer度量而没有consumer度量,连接到代理2解决了这个问题。连接两个代理将把这两个指标添加到一起。
lucene使用模糊搜索,所以我的数据中也有一些其他的消费群体。要精确匹配单词,请使用 kafka.partition.topic.keyword: '' 相反。这使得我的Kafka生产者补偿与消费者补偿的比率为2:1
metricbeat也会记录副本,所以我需要设置 NOT kafka.partition.partition.is_leader: false 得到所有分区的领导者。这使得耗电元件与分配比为1:1。
完成这三个步骤后,我就可以使用这个公式了 sum(partition.offset.newest) - sum(consumergroup.offset) 为了得到滞后
但是,我不知道为什么broker1没有消费者信息。

相关问题