藉助於阿里雲 ARMS Prometheus 監控服務和 Grafana 的指標儲存和展示能力,提供 Dashboard 大盤功能。通過該功能,您可以查看執行個體、Vhost、Queue 和 Exchange 的各種指標資料,協助您及時發現和定位問題。本文介紹 Dashboard 大盤的指標詳情和使用方法。
使用限制
Dashboard 大盤功能對執行個體規格的支援範圍如下:
-
Serverless 系列:(共用)按累積量、(共用)預留+彈性、(獨享)預留+彈性。
-
預付費系列:企業版、鉑金版;
-
專業版不支援。
計費說明
雲訊息佇列 RabbitMQ 版的Dashboard大盤指標在阿里雲ARMS Prometheus監控服務中屬於基礎指標,基礎指標不收取費用。因此,使用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 版的所有指標資料已儲存到您的阿里雲Managed Service for Prometheus中,您可以參照在哪裡可以擷取Dashboard的Metrics指標資料?中的步驟,接入雲端服務並擷取環境名稱和HTTP API地址後,通過API將雲訊息佇列 RabbitMQ 版的Dashboard的指標資料接入到本地自建Grafana中。具體操作,請參見使用HTTP API地址對接Grafana或自建應用中接入Prometheus資料。