Kafka 查看统计消息堆积

kafka 是一个出色的消息队列服务。

Kafka 查看统计消息堆积

本篇介绍统计Topic消息堆积情况可用下列指令:看第6列LAG
kafka-consumer-groups.sh –bootstrap-server localhost:9092 –all-groups –describe | grep <Topic>

Kafka 查看统计消息堆积

列出消费者ID:

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
Kafka 查看统计消息堆积

获取 Topic 的消息总数:

kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic <Topic> --time -1
Kafka 查看统计消息堆积

基于消费者组ID获取消息堆积情况:

kafka-consumer-groups.sh --bootstrap-server <Kafka地址> --group <消费者组ID> --describe
Kafka 查看统计消息堆积

还有几个参数, 可以综合一起使用,来达到查看堆积情况的目的:

去掉标题行

grep -v "TOPIC" 

输出第6列 LAG – 消息堆积

awk '{print $6}'

计算第6列总和

awk '{sum += $6} END {print sum}'

计算第6列总和,并打上时间戳

awk 'BEGIN {cmd="date \"+%Y-%m-%d %H:%M:%S\""; cmd | getline date; close(cmd)} {sum+=$6} END {print date, "Total LAG:", sum}'

结果输出到文件

>> "lag_log_$(date '+%Y-%m-%d').txt"

我的示例:

./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --describe --group mygroup |grep -v "TOPIC" | awk 'BEGIN {cmd="date \"+%Y-%m-%d %H:%M:%S\""; cmd | getline date; close(cmd)} {sum+=$6} END {print date, "Total LAG:", sum}'>> "/www/wwwlogs/kafka/lag_log_$(date '+%Y-%m-%d').txt"

输出:

Kafka 查看统计消息堆积

然后,再配置一个定时任务,定时执行脚本, 就可以统计消息堆积情况了

原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/1431.html

淘宝小店:陈皮王五工作室

(0)
GaryGary
上一篇 2025-03-26 下午12:13
下一篇 2025-04-01 下午1:02

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注