列出消费组用来做什么
kafka-consumer-groups.sh --list 把集群里所有消费组一行一个列出来。它本身不显示积压,但它是很多运维动作的入口:清点有多少条链路在消费、和基线清单比对发现新增或消失的组、找出早已废弃却还保留着位移的组。真正判断链路是否健康要看 --describe 输出的 LAG,只看列表是看不出链路死活的。
基本信息
| 用途 | 列出集群内全部消费组 ID |
|---|---|
| 输出 | 一行一个 group.id |
| 配套命令 | --describe 看积压与成员,--state 看组状态 |
| 典型频率 | 巡检脚本每 5 到 10 分钟一次,与基线清单比对 |
典型使用场景
- 巡检:与基线清单比对,发现消失的组(链路挂掉)或新增的组(未登记)
- 容量盘点:统计有多少条消费链路,评估元数据规模
- 废弃组清理:找出长期无成员、位移停滞的组,再决定是否删除
- 故障定位:确认业务组的组名拼写与预期是否一致
- 多租户治理:按前缀过滤,识别不属于本团队的组
列表与比对
列表与比对
# 列出全部消费组
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
# 只看本团队前缀的组并统计数量
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list | grep '^order-' | wc -l
# 与基线清单比对,找出新增与消失的组
diff <(sort baseline_groups.txt) \
<(kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list | sort)
# 看某个组的详细状态:分区、当前位移、滞后、成员
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group order-consumer何时用哪个子命令
| 子命令 | 输出内容 | 适用判断 |
|---|---|---|
| --list | 组 ID 列表 | 盘点与比对基线 |
| --describe | 分区级位移与 LAG | 定位积压落在哪个分区 |
| --state | 组状态(Stable/Empty 等) | 判断当前是否有活跃成员 |
| --members | 成员与分区分配 | 排查消费实例是否掉线 |
| --all-groups --describe | 所有组一次输出 | 输出量很大,大集群慎用 |
组位移保存在内部主题 __consumer_offsets 上;多租户集群的组列表会很长,脚本里要加过滤与分页处理,避免一次拉全量。
无成员的组仍然会出现在列表里,因为位移还保留着;不要只用列表判断链路存活,必须结合 --state 与 LAG 一起看。