问题
嗨,我正在尝试使用 Grafana 可视化 Kafka 滞后。我一直在尝试使用 Metricbeat 记录 kafka 滞后并自己进行数学计算,因为 Metricbeat 不支持在我正在使用的版本中记录 Kafka 滞后(但它最近已经实现)。max(partition.offset.newest) - max(consumergroup.offset)
我没有使用来计算滞后,而是sum(partition.offset.newest) - sum(consumergroup.offset)
在特定的kafka.topic.name
. 但是,总和不合,经过进一步调查,我发现计数甚至不合!分区偏移的计数是每 10 秒 30 个,而消费者组偏移的计数是每 10 秒 12 个。我希望两者的计数相同
我不明白为什么 Metricbeat 记录的分区多于消费者组。起初我以为是因为我的 Metricbeat 配置定义了 2 个主机组,这可能导致它被多次记录。但是,在更改我的配置后,计数只下降了一半。
TL;博士
为什么partition和consumergroup的Metricbeat计数不同?
设置
- 卡夫卡 2 经纪人
- 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"]
版本
- 卡夫卡 2.11-0.11.0.0
- Elasticsearch-7.2.0
- Kibana-7.2.0
- Metricbeats-7.2.0