
# 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-LTS及之后版本。
#### 告警属性
| 告警ID  | 告警级别           | 是否可自动清除 |
|:---|:---|:---|
| 38018 | 通过阈值自定义（重要/紧急） | 是       |
   
#### 告警参数
| 类别                                                                  | 参数名称    | 参数含义                   |
|:---|:---|:---|
| 定位信息                                                                | 服务名     | 产生告警的集群内服务名称。          |
| 定位信息                                                                | 消费者组    | 产生告警的Kafka消费者组名称。      |
| 附加信息  | topic名称 | 产生告警的Kafka Topic名称。    |
| 附加信息  | 消息积压量   | 产生告警的Kafka Topic消息积压量。 |
   
#### 对系统的影响
Kafka Topic中消息保留时间有限（默认7天），若不及时消费Topic中积压的消息，则会导致数据丢失。
#### 可能原因
- 新创建的消费者组，从头开始消费Topic中的消息，导致消息积压。
- 用户配置的消息积压告警规则不合理，积压告警阈值设置过低，导致上报告警。
- Kafka Topic流量激增，短时间内产生大量消息，导致消息积压。
- 下游处理Kafka Topic中消息过慢，导致消息积压。
 
#### 处理步骤
**检查是否为新创建的消费者组。**
1. 在FusionInsight Manager首页，选择"运维 \> 告警 \> 告警"。查看当前告警详细信息，在定位信息中查看告警上报的Kafka消费者组名称，在附加信息中查看Topic名称。
2. 根据实际情况判断消费者组是否为新创建。 
   - 是，执行[步骤 3]。
     ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
     新创建的消费者组，新消费者会从头开始消费Topic中的消息，产生消息积压告警属于正常现象，待下游消费Topic中消息后，告警会自动消除。
     
   
   - 否，执行[步骤 4]。
   
   
   
   
3. 等待一段时间后，查看当前告警是否清除。
   
   - 是，操作结束。
   
   - 否，执行[步骤 4]。
   
   
   
   
**检查是否告警规则配置不合理。**
4. 在Manager界面，选择"集群 \> 服务 \> Kafka"，在"KafkaManager WebUI"右侧，单击URL链接，访问KafkaUI的页面。单击"Alarms"，查看已配置的积压告警的阈值信息是否合理。
   
   - 是，执行[步骤 6]。
   
   - 否，请在该页面重新配置积压告警的阈值信息并保存，执行[步骤 5]。
   
   
   
   
5. 等待5分钟，查看当前告警是否清除。
   
   - 是，操作结束。
   
   - 否，执行[步骤 6]。
   
   
   
   
**检查是否Topic流量激增。**
6. 在KafkaUI的页面，单击"Topics"，查看上报告警的Topic是否存在流量激增，即短时间内是否生产大量消息。
   
   - 是，执行[步骤 7]。
     ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
     如果为Topic流量激增导致，则待下游消费Topic中消息后，告警会自动消除。
     
   
   - 否，执行[步骤 8]。
   
   
   
   
7. 等待一段时间后，查看当前告警是否清除。
   
   - 是，操作结束。
   
   - 否，执行[步骤 8]。
   
   
   
   
**检查是否下游处理Kafka Topic中消息过慢。**
8. 根据用户业务判断，是否存在下游消费Topic中消息较慢的情况。
   
   - 是，执行[步骤 9]。
   
   - 否，执行[步骤 10]。
   
   
   
   
9. 根据实际情况分析下游作业导致Topic中消息不能及时、快速消费的原因，增强下游消费Topic中消息的能力。等待5分钟，查看当前告警是否清除。
   
   - 是，操作结束。
   
   - 否，执行[步骤 10]。
   
   
   
   
**收集故障信息。**
10. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
11. 在"服务"框中勾选待操作集群的"Kafka"。
12. 单击右上角的时间编辑按钮，设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
13. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
不涉及。
