更新时间:2022-08-15 GMT+08:00

设置RabbitMQ告警规则

本章节主要介绍部分监控指标的告警策略,以及配置操作。在实际业务中,建议按照以下告警策略,配置监控指标的告警规则。

表1 RabbitMQ实例配置告警的指标

指标名称

告警策略

指标说明

解决方案

内存高水位状态

告警阈值:原始值>=1

连续触发次数:1

告警级别:致命

告警阈值为1表示触发内存高水位,会阻塞消息生产

  • 加快消费
  • 采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施

磁盘高水位状态

告警阈值:原始值>=1

连续触发次数:1

告警级别:致命

告警阈值为1表示触发磁盘高水位,会阻塞消息生产

  • 减少惰性队列的消息堆积
  • 减少持久化队列的消息堆积
  • 删除队列

内存使用率

告警阈值:原始值>业务预期使用率(推荐30%)

连续触发次数:连续3~5个周期

告警级别:重要

该指标需要分别为每个节点设置内存使用率告警,避免触发内存高水位阻塞生产

  • 加快消费
  • 采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施

CPU使用率

告警阈值:原始值>业务预期使用率(推荐70%)

连续触发次数:连续3~5个周期

告警级别:重要

该指标需要分别为每个节点设置CPU使用率告警,CPU使用率过高可能会影响生产速度

  • 减少镜像队列个数
  • 对于集群实例,建议扩容节点个数,然后进行节点间重平衡

可消费消息数

告警阈值:原始值>业务预期可消费消息数

连续触发次数:1

告警级别:重要

可消费消息数过多表示消息堆积

请参考消息堆积的解决办法

未确认消息数

告警阈值:原始值>业务预期未确认消息数

连续触发次数:1

告警级别:重要

未确认消息数过多可能会导致消息堆积

  • 检查消费者是否异常
  • 检查消费者逻辑是否消耗时间过长

连接数

告警阈值:原始值>业务预期连接数

连续触发次数:1

告警级别:重要

连接数突增可能是流量变大的预警

需检查业务是否正常,可参考其他告警

通道数

告警阈值:原始值>业务预期通道数

连续触发次数:1

告警级别:重要

通道数突增可能是流量变大的预警

需检查业务是否正常,可参考其他告警

Erlang进程数

告警阈值:原始值>业务预期进程数

连续触发次数:1

告警级别:重要

进程数突增可能是流量变大的预警

需检查业务是否正常,可参考其他告警

  • 告警阈值请根据业务预期数设置。例如,业务预期使用率35%,则告警阈值设置35%。
  • 连续触发次数和告警级别可根据业务逻辑自行调整。

操作步骤

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    此处请选择与您的应用服务相同的区域。

  3. 在管理控制台左上角单击,选择“应用服务 > 分布式消息服务 RabbitMQ”,进入分布式消息服务RabbitMQ专享版页面。
  4. 在RabbitMQ实例名称后,单击“查看监控数据”,进入“云监控”页面。
  5. 在实例监控指标页面中,找到需要创建告警的指标项,鼠标移动到指标区域,然后单击指标右上角的,进入“创建告警规则”页面。
  6. 在告警规则页面,设置告警信息。

    创建告警规则操作,请查看《云监控服务 用户指南》。

    1. 设置告警名称和告警的描述。
    2. 设置告警策略和告警级别。

      例如,在进行指标监控时,如果连续3个周期,连接数原始值超过设置的值,则产生告警,如果未及时处理,则每一天发送一次告警通知。

    3. 设置“发送通知”开关。当开启时,设置告警生效时间、产生告警时通知的对象以及触发的条件。
    4. 单击“立即创建”,等待创建告警规则成功。