46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
|
|
# 查询 Kafka 当前积压
|
|||
|
|
|
|||
|
|
在 Kafka 的 `bin` 目录执行。查询操作只读,不会修改消息或消费组 offset。
|
|||
|
|
|
|||
|
|
## 查询主日志消费积压
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./kafka-consumer-groups.sh \
|
|||
|
|
--bootstrap-server 10.141.121.35:9092 \
|
|||
|
|
--group agent-01-syslog-group-dm \
|
|||
|
|
--describe
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果现场主消费组仍使用旧名称,将组名改为 `agent-01-syslog-group`。
|
|||
|
|
|
|||
|
|
## 查询所有消费组的总积压
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./kafka-consumer-groups.sh \
|
|||
|
|
--bootstrap-server 10.141.121.35:9092 \
|
|||
|
|
--all-groups \
|
|||
|
|
--describe \
|
|||
|
|
| awk '$6 ~ /^[0-9]+$/ {lag[$1]+=$6} END {for (g in lag) print lag[g], g}' \
|
|||
|
|
| sort -nr
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
输出第一列是总积压条数,第二列是消费组名称,积压最多的排在最前面。
|
|||
|
|
|
|||
|
|
需要查看某个消费组各分区的明细时执行:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./kafka-consumer-groups.sh \
|
|||
|
|
--bootstrap-server 10.141.121.35:9092 \
|
|||
|
|
--group 消费组名称 \
|
|||
|
|
--describe
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
重点查看:
|
|||
|
|
|
|||
|
|
- `CURRENT-OFFSET`:已经消费并提交的位置;
|
|||
|
|
- `LOG-END-OFFSET`:Kafka 当前最新位置;
|
|||
|
|
- `LAG`:该分区积压条数。
|
|||
|
|
|
|||
|
|
间隔一分钟查询两次:`LAG` 下降表示正在追赶;`LAG` 上升表示消费速度低于数据进入速度;
|
|||
|
|
`CURRENT-OFFSET` 不变且 `LAG` 大于零,表示消费没有进展。
|