借助于阿里云ARMS Prometheus监控服务和Grafana的指标存储和展示能力,云消息队列 RabbitMQ 版为企业版和铂金版实例提供Dashboard大盘功能。通过该功能,您可以查看企业版和铂金版实例、Vhost、Queue和Exchange的各种指标数据,帮助您及时发现和定位问题。本文介绍Dashboard大盘的指标详情和使用方法。
计费说明
云消息队列 RabbitMQ 版的Dashboard大盘指标在阿里云ARMS Prometheus监控服务中属于基础指标,基础指标不收取费用。因此,使用Dashboard大盘功能不收取费用。更多信息,请参见指标说明和按量计费。
使用限制
Serverless系列和预付费系列的企业版、铂金版实例支持Dashboard大盘功能,预付费系列的专业版暂不支持。
服务关联角色
查看Dashboard大盘时,云消息队列 RabbitMQ 版会为您自动创建服务关联角色AliyunServiceRoleForAmqpMonitoring。
如果未创建服务关联角色,云消息队列 RabbitMQ 版会为您自动创建一个服务关联角色,以便您使用云消息队列 RabbitMQ 版Dashboard功能。
如果已创建服务关联角色,云消息队列 RabbitMQ 版不会重复创建。
关于服务关联角色的更多信息,请参见服务关联角色。
Metrics指标详情
指标概述
云消息队列 RabbitMQ 版Dashboard大盘提供以下指标:
Overview:查看实例下或Vhost下消息数量、连接数和消费者数量等相关指标。
Connection:查看实例下或Vhost下的连接数。
Exchange:查看消息流入和流出Exchange的数量。
Queue:查看Queue中消息数、API调用次数和消费者数量。
Consumer:查看消息在消费端的处理结果。
除了rabbitmq_instance_api_tps_max为秒级指标,其他指标都为分钟级指标。
Overview
Metrics Type | Metrics Name | 单位 | 指标说明 | Label |
gauge | rabbitmq_instance_api_tps_max | count/s | 每分钟实例调用API的最大TPS值。 取值规则:以1分钟为周期,每秒钟采样一次,取这60次采样的最大值。 | {tenant_userid, instanceId} |
counter | rabbitmq_connections_opened_total | count | 已开启的连接数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_connections_closed_total | count | 已关闭的连接数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_channels_opened_total | count | 已开启的信道数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_channels_closed_total | count | 已关闭的信道数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_queues_declared_total | count | 已创建的Queue的数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_queues_deleted_total | count | 已删除的Queue的数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_exchange_declared_total | count | 已创建的Exchange的数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_exchange_deleted_total | count | 已删除的Exchange的数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_exchange_bind_total | count | Exchange添加的绑定数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_exchange_unbind_total | count | Exchange解除的绑定数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_queue_bind_total | count | Queue添加的绑定数量。 | {tenant_userid,instanceId,vHost} |
counter | rabbitmq_queue_unbind_total | count | Queue解除的绑定数量。 | {tenant_userid,instanceId,vHost} |
gauge | rabbitmq_connections | count | 所有当前开启的连接数量。 | {tenant_userid,instanceId,vHost} |
gauge | rabbitmq_channels | count | 所有当前开启的信道数量。 | {tenant_userid,instanceId,vHost} |
Connections
Metrics Type | Metrics Name | 单位 | 指标说明 | Label |
gauge | rabbitmq_connection_channels | count | Connection下的Channel数量。 | {tenant_userid,instanceId,vHost,remoteAddress} |
Exchange
Metrics Type | Metrics Name | 单位 | 指标说明 | Label |
counter | rabbitmq_exchange_messages_published_in_total | count | 流入到Exchange中的消息量。 | {tenant_userid,instanceId,vHost,exchangeName} |
counter | rabbitmq_exchange_messages_published_out_total | count | 从Exchange中流出的消息量。 | {tenant_userid,instanceId,vHost,exchangeName} |
Queue
Metrics Type | Metrics Name | 单位 | 指标说明 | Label |
counter | rabbitmq_queue_messages_published_total | count | 发送到Queue中的消息量。 | {tenant_userid,instanceId,vHost,queueName} |
gauge | rabbitmq_queue_messages_ready | count | Queue中已就绪可以被投递给消费者的消息量。 | {tenant_userid,instanceId,vHost,queueName} |
gauge | rabbitmq_queue_messages_timing | count | Queue中处于定时中的消息量。 | {tenant_userid,instanceId,vHost,queueName} |
gauge | rabbitmq_queue_messages_unacked | count | Queue中正在被处理还未返回ACK响应的消息量。 | {tenant_userid,instanceId,vHost,queueName} |
counter | rabbitmq_queue_deliver_total | count | BasicConsume接口被调用的次数。 | {tenant_userid,instanceId,vHost,queueName} |
counter | rabbitmq_queue_get_total | count | BasicGet接口被调用的次数。 | {tenant_userid,instanceId,vHost,queueName} |
counter | rabbitmq_queue_ack_total | count | BasicAck接口被调用的次数。 | {tenant_userid,instanceId,vHost,queueName} |
counter | rabbitmq_queue_uack_total | count | BasicNack接口被调用的次数。 | {tenant_userid,instanceId,vHost,queueName} |
counter | rabbitmq_queue_recover_total | count | BasicRecover接口被调用的次数。 | {tenant_userid,instanceId,vHost,queueName} |
counter | rabbitmq_queue_reject_total | count | BasicReject接口被调用的次数。 | {tenant_userid,instanceId,vHost,queueName} |
gauge | rabbitmq_queue_consumers | count | Queue中所有消费者的数量。 | {tenant_userid,instanceId,vHost,queueName} |
Consumer
Metrics Type | Metrics Name | 单位 | 指标说明 | Label |
gauge | rabbitmq_consumer_acked_process_time_avg | count | 返回响应结果的消息的平均处理耗时。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
gauge | rabbitmq_consumer_unacked_process_time_avg | count | 未返回响应结果的消息的平均处理耗时。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
gauge | rabbitmq_consumer_acked_messages | count | 返回响应结果的消息量。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
gauge | rabbitmq_consumer_unacked_messages | count | 未返回响应结果的消息量。 | {tenant_userid,instanceId,vHost,queueName,remoteAddress} |
Metrics Type说明
云消息队列 RabbitMQ 版定义的Metrics完全兼容开源Prometheus的标准,涉及的Metrics的类型为counter和gauge。
counter:累计型的度量指标,其数值只增不减。例如,API调用次数。
gauge:一种既可以增加又可以减少的度量指标,其数值表示统计对象的瞬间值。例如,API调用的TPS。
Lable说明
云消息队列 RabbitMQ 版Metrics指标中Label的说明如下:
tenant_userid:表示阿里云的账号ID。
instanceId:表示云消息队列 RabbitMQ 版的实例ID。
vHost:表示云消息队列 RabbitMQ 版实例下的Vhost的名称。
remoteAddress:表示云消息队列 RabbitMQ 版客户端的IP地址。
Exchange:表示云消息队列 RabbitMQ 版实例下的Exchange的名称。
queueName:表示云消息队列 RabbitMQ 版实例下的Queue的名称。
ackType:表示客户端处理消息的响应结果。
查看Dashboard
前提条件
创建云消息队列 RabbitMQ 版实例。具体操作,请参见实例管理。
云消息队列 RabbitMQ 版实例下已创建Vhost、Queue和Exchange并可用。具体操作,请参见Vhost管理、Exchange管理和Queue管理。
开通应用实时监控服务ARMS。具体操作,请参见开通ARMS Prometheus监控服务。
操作步骤
登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表。
在实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。
在左侧导航栏单击Dashboard,在Dashboard页面,查看Dashboard大盘。
您可以根据需要,指定Vhost、Exchange、Queue和时间范围查看Dashboard大盘。
指定Vhost、Exchange或Queue查看:在Dashboard页面,单击Vhost、Exchange或Queue下拉框,在下拉框中输入您需要指定查看的Vhost、Exchange或Queue。若不输入,则默认查看该实例下所有Vhost、Exchange和Queue的指标。
指定时间范围查看:在Dashboard页面右上角,单击时间选择框,在弹出的下拉列表中选择预定义的相对时间区间,例如过去5分钟、过去12小时、过去30天等,也可以通过设置时间起点和终点来设置自定义的绝对时间区间。
设置完成后,您可在Dashboard页面查看到指定Vhost、Exchange、Queue或时间范围的指标信息。关于指标项的说明,请参见Metrics指标详情。
在哪里可以获取Dashboard的Metrics指标数据?
Dashboard大盘上的所有指标已经存储在您阿里云账号下的Prometheus服务中,查询步骤如下:
登录ARMS控制台,在左侧导航栏单击接入中心。
在接入中心页面的搜索文本框输入
RabbitMQ
,单击图标。在搜索的结果中,选择需要接入的云服务(如阿里云 RabbitMQ 企业版)。接入的具体操作,请参见步骤一:接入云服务监控数据。
接入成功后,在左侧导航栏单击接入管理。
在已接入环境页签下的云服务区域环境列表,单击目标环境名称进入云服务环境详情页面。
在组件管理页签的基本信息区域,单击默认指标存储右侧的云服务地域。
在设置页签,可以获取不同的数据访问方式。
如何将Dashboard的指标数据接入自建Grafana?
云消息队列 RabbitMQ 版的所有指标数据已保存到您的阿里云可观测监控 Prometheus 版中,您可以参照在哪里可以获取Dashboard的Metrics指标数据?中的步骤,接入云服务并获取环境名称和HTTP API地址后,通过API将云消息队列 RabbitMQ 版的Dashboard的指标数据接入到本地自建Grafana中。具体操作,请参见使用HTTP API地址对接Grafana或自建应用中接入Prometheus数据。