借助于阿里云ARMS Prometheus监控服务和Grafana的指标存储和展示能力,消息队列RocketMQ版提供Dashboard大盘功能。该功能可帮助您一站式、全方位、多维度地统计和观测指标,进而快速了解业务的运行状态。本文介绍Dashboard大盘的应用场景、计费说明、指标详情和使用方法。

前提条件

  • 开通ARMS Prometheus监控服务
  • 创建服务关联角色
    • 角色名称:AliyunServiceRoleForOns
    • 角色策略名称:AliyunServiceRolePolicyForOns
    • 权限说明:允许消息队列RocketMQ版使用该角色访问您的服务(云监控和ARMS服务)以完成监控报警和Dashboard相关功能。
    • 具体文档说明:服务关联角色

计费说明

消息队列RocketMQ版的Dashboard大盘指标在阿里云ARMS Prometheus监控服务中属于基础指标,基础指标不收取费用。因此,使用Dashboard大盘功能不收取费用。

更多信息,请参见基础指标说明阿里云Prometheus监控计费说明

应用场景

针对消费堆积场景,Dashboard大盘支持统计就绪消息量、就绪消息排队时长、消费处理时长等可以准确反映堆积问题的指标数据。例如,当您观测到消息堆积量较大时,您可以继续查看就绪消息排队时长和消费处理时长等指标,进一步判断是消费逻辑问题还是消费者客户端容量问题。
运维场景下,您不仅可以查看指定实例的消息收发总览信息,还可以同时查看该实例下所有Topic的消息生产数据和Group的消息消费数据。根据消息数据的变化趋势或异常结果评估实例运行状态及对您本地业务的影响。全量数据和多维度的同时观测、异常指标的快速定位,可以帮助您极大地提高巡检成本。
通过查看相关指标,您可以对实例的规格容量或消费情况进行评估,或根据使用情况清理不必要的资源,节约成本。例如,您可以将指定实例下所有Topic的消息收发量进行排序,如果很长时间范围内某Topic的消息发送量都为0,您可以进一步判断该Topic所属业务是否下线,对应资源是否可以清除。
您可以借助相关指标的变化规律规划业务结构。例如,通过观察消息收发量、消息TPS等指标的峰谷值在每天、每周、甚至每月的分布规律,可以分析出业务量的变化趋势,为您下一步的业务优化提供有力的参考。

相关概念

查看Dashboard大盘指标前,您需要了解以下涉及消息堆积的指标概念。相关概念上图表示指定Topic的某一队列中各消息的状态。
  • 处理中消息:在消费者客户端正在处理中但客户端还未返回消费成功响应的消息。
  • 已就绪消息:消息在消息队列RocketMQ版服务端已就绪,可以被消费者消费的消息。

    已就绪消息量指标反映还未被消费者开始处理的消息规模。

    • 已就绪消息的就绪时间
      • 普通消息:消息的存储时间。
      • 定时/延时消息:定时或延时结束时间。
      • 事务消息:事务提交时间。
    • 已就绪消息的排队时间:最早一条就绪消息的就绪时间和当前时间差。

      该指标反映了还未被处理的消息的延迟时间大小,对于时间敏感的业务来说是非常重要的度量指标。

      示例:如上图所示,最早一条就绪消息M1的就绪时间为12:00:00,最后一条就绪消息M2的就绪时间为12:00:30。假设当前时间为12:00:50,则已就绪消息排队时间=当前时间-M1消息的就绪时间=50秒。

指标详情

消息队列RocketMQ版的Dashboard大盘中提供以下指标:
  • 生产者:查看Topic的发送消息量、发送成功率和发送耗时等指标。
  • 消费者:查看Group订阅指定Topic的消费量、消费成功率和消息堆积等相关指标。
  • 实例 Top 20 概览:查看指定实例下部分指标数据值的Top 20及其所属的Topic或Group。
  • 计费指标信息:查看指定实例下的消息收发TPS、API调用次数、消息平均大小等指标,可为实例计费项的估算提供参考。
注意 所有指标项的采集周期均为1分钟,消息队列RocketMQ版支持查询15天内的消息数据,查询的时间间隔最大为24小时。

生产者

指标项 说明
消息生产速率

统计Topic的消息生产速率和消息生产时的API调用速率。

单位:
  • 消息速率:条/秒
  • API调用速率:次/秒
消息生产速率峰值

统计消息生产速率的最大值。

单位:条/秒。

累计生产消息量

统计指定实例下生产的消息总量。

单位:条。

消息生产调用成功率 统计Topic消息生产的成功率。
消息生产调用耗时

统计Topic生产消息时的耗时。

单位:毫秒。

消费者

指标项 说明
平均消费成功率 统计指定实例下所有消息的消费成功率。
堆积消息量(已就绪+处理中)

统计指定实例下的消息堆积总量,包括已就绪的消息和处理中的消息。

单位:条。

处理中消息量

统计在消费者客户端正在处理但客户端还未返回消费成功响应的消息的数量。

单位:条。

已就绪消息量

统计在消息队列RocketMQ版服务端已就绪,可以被消费者消费的消息数量。

指标反映还未被消费者开始处理的消息规模。

单位:条。

已就绪消息排队时间

统计最早一条就绪消息的就绪时间和当前时间差。

该指标反映了还未被处理的消息的延迟时间大小,对于时间敏感的业务来说是非常重要的度量指标。

总览中的指标值表示指定实例下的已就绪消息排队时间的平均值;具体图表中的指标值表示指定Group订阅指定某Topic下的已就绪消息排队时长。

单位:毫秒。

消息消费速率

统计Group消费消息的速率。

单位:条/秒

消息消费速率峰值

统计消息消费速率的最大值。

单位:条/秒

累计消费消息量

统计指定实例下所有消费的消息总量。

单位:条。

消费堆积量

统计Group消费消息时的消息堆积量,包括已就绪消息和处理中消息。

单位:条。

消息消费处理耗时

统计Group消费消息时,消息从开始被消费到消费完成的处理耗时。

单位:毫秒。

消费者本地等待耗时

统计Group消费消息时,消息到达消费者客户端到开始被消费的耗时。

单位:毫秒。

消费成功率 统计消息消费的成功率。
消费者客户端访问协议占比 统计所有被消费的消息各协议类型消息量的占比。

实例 Top 20 概览

指标项 说明
消息生产速率 top20 Topics

统计消息生产速率最快的前20个Topic。

单位:条/秒。

消息消费速率 top20 GroupIDs

统计消息消费速率最快的前20个Group。

单位:条/秒。

已就绪消息量 top20 GroupIDs

统计已就绪消息量最多的前20个Group。

单位:条。

已就绪消息排队时间 top20 GroupIDs

统计已就绪消息排队时间最长的前20个Group。

单位:毫秒。

堆积消息量(已就绪消息+处理中消息)top20 GroupIDs

统计堆积的消息量最多的前20个Group。

单位:条。

处理中消息量 top20 GroupIDs 统计处理中的消息量最多的前20个Group。

单位:条。

消费处理耗时 top20 GroupIDs

统计消费处理耗时最长的前20个Group。

单位:毫秒。

在消费者本地等待处理耗时 top20 GroupIDs

统计消费者本地等待耗时最长的前20个Group。

单位:毫秒。

消息生产调用失败率 top20 Topics 统计生产消息时失败率最高的前20个Topic。
消息消费失败率 top20 GroupIDs 统计消费消息时失败率最高的前20个Group。

计费指标信息

说明 以下各计费指标项的值均包含了大消息倍数和高级特性消息倍数的计算结果。
  • 大消息倍数:以消息大小4 KB为计量单位。例如,发送一条16 KB的消息,API调用次数计算为16 KB/4 KB=4次。
  • 高级特性消息倍数:高级特性消息(顺序消息、定时/延时消息、事务消息)的API调用次数在普通消息的基础上以5倍倍率计算。
指标项 说明
生产 TPS 峰值

统计消息生产TPS的最大值。该指标项可为估算实例计费项中的TPS峰值规格提供参考。

单位:次/秒。

消费 TPS 峰值

统计消息消费TPS的最大值。该指标项可为估算实例计费项中的TPS峰值规格提供参考。

单位:次/秒。

TPS 峰值

统计消息生产TPS和消息消费TPS之和的最大值。该指标项可为估算实例计费项中的TPS峰值规格提供参考。

单位:次/秒。

累计API调用次数

统计所有的API调用次数总和。该指标项可为估算实例计费项中的API调用次数提供参考。

单位:次。

平均消息大小

统计生产的所有消息的平均大小。

单位:字节。

生产消费 TPS 统计消息生产TPS和消息消费TPS之和。

单位:次/秒。

每天 API 调用次数

按一天维度累计的生产消息API和消费消息API的调用次数之和。

单位:次。

查看Dashboard大盘

  1. 登录消息队列RocketMQ版控制台
  2. 在左侧导航栏,单击实例列表
  3. 在顶部菜单栏,选择地域,如华东1(杭州)
  4. 实例列表页面,单击目标实例名称。
  5. 选择以下任一方式查看Dashboard大盘。
    • 通过实例详情页面查看:在实例详情页面,单击数据统计页签。
    • 通过Dashboard页面查看:在左侧导航栏,单击Dashboard
  6. 在大盘上方单击TopicGroupID下拉框,在弹出的下拉列表中选择您需要指定查看的Topic或Group。若不选择,则默认查看该实例下所有Topic和Group的指标。
    注意实例详情页面查看Dashboard大盘时,不支持选择指定Topic和Group,默认查看指定实例下所有Topic和Group的指标。
    选择资源
  7. 在大盘右上角单击时间下拉框,在弹出的下拉列表中选择预定义的相对时间区间,也可以通过设置时间起点和终点来设置自定义的绝对时间区间。
    时间范围
    设置完成后,Dashboard页面会为您展示指定时间范围内的指标数据,具体的指标项说明,请参见指标详情