Nâng CaoKafka iconKafka

Kafka consumer lag là gì? Cách monitor và alert khi lag quá cao?

Consumer lag = (Log End Offset của partition) - (Current Offset của consumer group) = số message consumer chưa xử lý.

  • Lag cao đồng nghĩa consumer đang xử lý chậm hơn producer ghi vào, có thể dẫn đến message bị expire (nếu log.retention.hours ngắn) hoặc data trễ quá mức chấp nhận.
  • Monitor lag:
bash
# Kafka CLI
kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
  --describe --group my-group

# Kết quả: TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG
  • Prometheus stack: Kafka Exporter (kafka_consumergroup_lag) + Grafana dashboard.
  • Alert khi: lag vượt threshold (ví dụ > 10,000 records), lag tăng liên tục qua nhiều scrape interval.
  • Nguyên nhân lag cao: consumer xử lý chậm (heavy business logic, DB call), GC pause, rebalancing, downstream bottleneck.
  • Giải pháp: tăng số consumer (nếu còn partition chưa được assign), optimize processing logic, tăng max.poll.records, cân nhắc async processing.

Xem toàn bộ Kafka cùng filter theo level & chủ đề con.

Mở danh sách Kafka