Dashboard
借助于阿里云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 大盘的 Overview 区域展示 Ready messages、Current connections、Current channels、Current consumers 四个关键指标,页面顶部还提供 指标详情说明、配合消息轨迹排查问题、导入Grafana专家版 等快捷链接。
-
指定时间范围查看:在Dashboard页面右上角,单击时间选择框,在弹出的下拉列表中选择预定义的相对时间区间,例如过去5分钟、过去12小时、过去30天等,也可以通过设置时间起点和终点来设置自定义的绝对时间区间。
设置完成后,您可在Dashboard页面查看到指定Vhost、Exchange、Queue或时间范围的指标信息。关于指标项的说明,请参见Metrics指标详情。
-
在哪里可以获取Dashboard的Metrics指标数据?
Dashboard大盘上的所有指标已经存储在您阿里云账号下的Prometheus服务中,查询步骤如下:
-
登录ARMS控制台,在左侧导航栏单击接入中心。
-
在接入中心页面的搜索文本框输入
RabbitMQ,单击
图标。 -
在搜索的结果中,选择需要接入的云服务(如阿里云 RabbitMQ 企业版)。接入的具体操作,请参见步骤一:接入云服务监控数据。
-
接入成功后,在左侧导航栏单击接入管理。
-
在已接入环境页签下的云服务区域环境列表,单击目标环境名称进入云服务环境详情页面。
-
在组件管理页签的基本信息区域,单击Prometheus 实例右侧的云服务地域。
-
在{key, select, RAM {RAM 访问控制} Overview {概览} Identities {身份管理} Users {用户} Groups {用户组} Roles {角色} Settings {设置} Permissions {权限管理} Grants {授权} Troubleshoot {权限诊断} Policies {权限策略} Integrations {集成管理} Providers {SSO 管理} Applications {OAuth 应用(公测)} CloudSSO {多账号身份权限(云 SSO)} AccessAnalyzing {访问分析} Analyzers {分析器} Findings {分析结果} Beta {Beta} Governance {云治理中心} other {{key}} }页签,可以获取不同的数据访问方式。进入接入端点页面,展示 Prometheus 实例的各协议接入地址,包括 Remote Read 地址、Remote Write 地址、Push Gateway 地址、OpenTelemetry 地址和 HTTP API 地址(Grafana 读取地址),每种地址均提供公网和内网两种网络类型的 URL,URL 格式以
https://cn-hangzhou.arms.aliyuncs.com开头并包含实例标识参数。每个部分旁附有蓝色 使用说明文档 链接,底部提供 Token 生成入口。
如何将Dashboard的指标数据接入自建Grafana?
云消息队列 RabbitMQ 版的所有指标数据已保存到您的阿里云可观测监控 Prometheus 版中,您可以参照在哪里可以获取Dashboard的Metrics指标数据?中的步骤,接入云服务并获取环境名称和HTTP API地址后,通过API将云消息队列 RabbitMQ 版的Dashboard的指标数据接入到本地自建Grafana中。具体操作,请参见使用HTTP API地址对接Grafana或自建应用中接入Prometheus数据。