更新时间:2024-11-12 GMT+08:00

ALM-38018 Kafka消息积压

告警解释

如果用户在KafkaUI界面的“Alarms”中配置了需要上报的Kafka消息积压告警规则(默认不存在Kafka消息积压告警规则),则系统将按照如下规则进行上报:

系统每60秒周期性检测所有用户配置的消费者组订阅的Topic,当连续5次检测到消费者在消费Topic时,其消费进度(offset)与该分区(partition)最新生产的消息的log end offset之间的差距(lag)过大(产生消息积压),且超过了用户配置的积压告警规则阈值时产生该告警。

当连续5次检测到log end offset之间的差距(lag)较小(不存在消息积压),且低于了用户配置的积压告警规则阈值时告警恢复。

该告警仅适用于MRS 3.5.0及之后版本。

告警属性

告警ID

告警级别

是否可自动清除

38018

重要(用户手动配置)

紧急(用户手动配置)

告警参数

类别

参数名称

参数含义

定位信息

服务名

产生告警的集群内服务名称。

消费者组

产生告警的Kafka消费者组名称。

附加信息

topic名称

产生告警的Kafka Topic名称。

消息积压量

产生告警的Kafka Topic消息积压量。

对系统的影响

Kafka Topic中消息保留时间有限(默认7天),若不及时消费Topic中积压的消息,则会导致数据丢失。

可能原因

  • 新创建的消费者组,从头开始消费Topic中的消息,导致消息积压。
  • 用户配置的消息积压告警规则不合理,积压告警阈值设置过低,导致上报告警。
  • Kafka Topic流量激增,短时间内产生大量消息,导致消息积压。
  • 下游处理Kafka Topic中消息过慢,导致消息积压。

处理步骤

检查是否为新创建的消费者组。

  1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”。查看当前告警详细信息,在定位信息中查看告警上报的Kafka消费者组名称,在附加信息中查看Topic名称。
  2. 根据实际情况判断消费者组是否为新创建。

    • 是,执行3

      新创建的消费者组,新消费者会从头开始消费Topic中的消息,产生消息积压告警属于正常现象,待下游消费Topic中消息后,告警会自动消除。

    • 否,执行4

  3. 等待一段时间后,查看当前告警是否清除。

    • 是,操作结束。
    • 否,执行4

检查是否告警规则配置不合理。

  1. 在Manager界面,选择“集群 > 服务 > Kafka”,在“KafkaManager WebUI”右侧,单击URL链接,访问KafkaUI的页面。单击“Alarms”,查看已配置的积压告警的阈值信息是否合理。

    • 是,执行6
    • 否,请在该页面重新配置积压告警的阈值信息并保存,执行5

  2. 等待5分钟,查看当前告警是否清除。

    • 是,操作结束。
    • 否,执行6

检查是否Topic流量激增。

  1. 在KafkaUI的页面,单击“Topics”,查看上报告警的Topic是否存在流量激增,即短时间内是否生产大量消息。

    • 是,执行7

      如果为Topic流量激增导致,则待下游消费Topic中消息后,告警会自动消除。

    • 否,执行8

  2. 等待一段时间后,查看当前告警是否清除。

    • 是,操作结束。
    • 否,执行8

检查是否下游处理Kafka Topic中消息过慢。

  1. 根据用户业务判断,是否存在下游消费Topic中消息较慢的情况。

    • 是,执行9
    • 否,执行10

  2. 根据实际情况分析下游作业导致Topic中消息不能及时、快速消费的原因,增强下游消费Topic中消息的能力。等待5分钟,查看当前告警是否清除。

    • 是,操作结束。
    • 否,执行10

收集故障信息。

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”框中勾选待操作集群的“Kafka”。
  3. 单击右上角的时间编辑按钮,设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  4. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。