更新时间:2024-10-25 GMT+08:00

配置RabbitMQ监控告警

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

表1 RabbitMQ实例配置告警的指标(RabbitMQ 3.x.x版本)

指标名称

告警策略

指标说明

解决方案

内存高水位状态

告警阈值:原始值>=1

连续触发次数:1

告警级别:致命

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

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

磁盘高水位状态

告警阈值:原始值>=1

连续触发次数:1

告警级别:致命

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

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

内存使用率

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

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

告警级别:重要

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

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

CPU使用率

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

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

告警级别:重要

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

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

可消费消息数

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

连续触发次数:1

告警级别:重要

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

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

未确认消息数

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

连续触发次数:1

告警级别:重要

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

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

连接数

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

连续触发次数:1

告警级别:重要

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

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

通道数

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

连续触发次数:1

告警级别:重要

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

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

Erlang进程数

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

连续触发次数:1

告警级别:重要

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

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

表2 RabbitMQ实例配置告警的指标(RabbitMQ AMQP-0-9-1版本)

指标名称

告警策略

指标说明

解决方案

可消费消息数

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

连续触发次数:1

告警级别:重要

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

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

连接数

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

连续触发次数:1

告警级别:重要

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

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

通道数

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

连续触发次数:1

告警级别:重要

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

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

实例磁盘容量使用率

告警阈值:原始值>85%

连续触发次数:1

告警级别:紧急

磁盘容量使用率过大可能是消息堆积

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

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

配置RabbitMQ监控告警

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

    此处请选择RabbitMQ实例所在的区域。

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。
  4. 通过以下任意一种方法,查看监控数据。

    • 在RabbitMQ实例名称后,单击“查看监控数据”。跳转到云监控页面,查看实例、节点和队列的监控数据,数据更新周期为1分钟。
    • 单击RabbitMQ实例名称,进入实例详情页。在左侧导航栏单击“监控与告警 > 监控”,进入监控页面,查看实例、节点和队列的监控数据,数据更新周期为1分钟。

  5. 在实例监控指标页面中,找到需要创建告警的指标项,鼠标移动到指标区域,然后单击指标右上角的,进入“创建告警规则”页面。
  6. 在告警规则页面,设置告警信息。

    创建告警规则操作,请查看创建告警规则

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

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

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