Powered by the metric storage and display capabilities of ARMS Prometheus Service and Grafana, ApsaraMQ for RabbitMQ provides a dashboard feature for Enterprise and Platinum Edition instances. You can use this feature to view various metrics for instances, vhosts, queues, and exchanges, which lets you troubleshoot issues at the earliest opportunity. This topic describes the metrics provided by the dashboard and how to use them.
Billing
The dashboard metrics for ApsaraMQ for RabbitMQ are considered basic metrics in ARMS Prometheus Service. Because no fees are charged for basic metrics, you can use the dashboard feature free of charge. For more information, see Metric details and Pay-as-you-go.
Limits
The dashboard feature is available for Serverless instances, and for Enterprise and Platinum Edition subscription instances. It is not available for Professional Edition subscription instances.
Service-linked role
When you view the dashboard, ApsaraMQ for RabbitMQ automatically creates the service-linked role AliyunServiceRoleForAmqpMonitoring for you.
-
If a service-linked role does not exist, ApsaraMQ for RabbitMQ automatically creates one to allow you to use the ApsaraMQ for RabbitMQ Dashboard feature.
-
If a service-linked role already exists, ApsaraMQ for RabbitMQ does not create it again.
For more information about service-linked roles (SLRs), see Service-linked roles.
Metric details
Metric overview
The ApsaraMQ for RabbitMQ Dashboard provides the following metrics:
-
Overview: Metrics related to the number of messages, connections, and consumers for an instance or vhost.
-
Connection: The number of connections for an instance or vhost.
-
Exchange: The number of messages that flow into and out of an exchange.
-
Queue: The number of messages, API calls, and consumers for a queue.
-
Consumer: The processing results of messages on the consumer side.
All metrics are collected at one-minute intervals, except for rabbitmq_instance_api_tps_max, which is collected at one-second intervals.
Overview
|
Metric Type |
Metric Name |
Unit |
Description |
Label |
|
gauge |
rabbitmq_instance_api_tps_max |
count/s |
The maximum transactions per second (TPS) of API calls for the instance within a one-minute period. Rule: The value is sampled once per second over a one-minute period. The maximum of these 60 samples is taken. |
{tenant_userid, instanceId} |
|
counter |
rabbitmq_connections_opened_total |
count |
The total number of connections opened. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_connections_closed_total |
count |
The total number of connections closed. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_channels_opened_total |
count |
The total number of channels opened. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_channels_closed_total |
count |
The total number of channels closed. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_queues_declared_total |
count |
The total number of queues created. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_queues_deleted_total |
count |
The total number of queues deleted. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_exchange_declared_total |
count |
The total number of exchanges created. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_exchange_deleted_total |
count |
The total number of exchanges deleted. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_exchange_bind_total |
count |
The total number of bindings added to exchanges. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_exchange_unbind_total |
count |
The total number of bindings removed from exchanges. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_queue_bind_total |
count |
The total number of bindings added to queues. |
{tenant_userid,instanceId,vHost} |
|
counter |
rabbitmq_queue_unbind_total |
count |
The total number of bindings removed from queues. |
{tenant_userid,instanceId,vHost} |
|
gauge |
rabbitmq_connections |
count |
The current number of open connections. |
{tenant_userid,instanceId,vHost} |
|
gauge |
rabbitmq_channels |
count |
The current number of open channels. |
{tenant_userid,instanceId,vHost} |
Connections
|
Metric Type |
Metric Name |
Unit |
Description |
Label |
|
gauge |
rabbitmq_connection_channels |
count |
The number of channels under a connection. |
{tenant_userid,instanceId,vHost,remoteAddress} |
Exchange
|
Metric Type |
Metric Name |
Unit |
Description |
Label |
|
counter |
rabbitmq_exchange_messages_published_in_total |
count |
The total number of messages published to an exchange. |
{tenant_userid,instanceId,vHost,exchangeName} |
|
counter |
rabbitmq_exchange_messages_published_out_total |
count |
The total number of messages routed from an exchange. |
{tenant_userid,instanceId,vHost,exchangeName} |
Queue
|
Metric Type |
Metric Name |
Unit |
Description |
Label |
|
counter |
rabbitmq_queue_messages_published_total |
count |
The total number of messages published to a queue. |
{tenant_userid,instanceId,vHost,queueName} |
|
gauge |
rabbitmq_queue_messages_ready |
count |
The number of messages in a queue that are ready to be delivered to consumers. |
{tenant_userid,instanceId,vHost,queueName} |
|
gauge |
rabbitmq_queue_messages_timing |
count |
The number of scheduled messages in a queue. |
{tenant_userid,instanceId,vHost,queueName} |
|
gauge |
rabbitmq_queue_messages_unacked |
count |
The number of unacknowledged messages in a queue that are being processed. |
{tenant_userid,instanceId,vHost,queueName} |
|
counter |
rabbitmq_queue_deliver_total |
count |
The total number of times the Basic.Consume API is called. |
{tenant_userid,instanceId,vHost,queueName} |
|
counter |
rabbitmq_queue_get_total |
count |
The total number of times the Basic.Get API is called. |
{tenant_userid,instanceId,vHost,queueName} |
|
counter |
rabbitmq_queue_ack_total |
count |
The total number of times the Basic.Ack API is called. |
{tenant_userid,instanceId,vHost,queueName} |
|
counter |
rabbitmq_queue_uack_total |
count |
The total number of times the Basic.Nack API is called. |
{tenant_userid,instanceId,vHost,queueName} |
|
counter |
rabbitmq_queue_recover_total |
count |
The total number of times the Basic.Recover API is called. |
{tenant_userid,instanceId,vHost,queueName} |
|
counter |
rabbitmq_queue_reject_total |
count |
The total number of times the Basic.Reject API is called. |
{tenant_userid,instanceId,vHost,queueName} |
|
gauge |
rabbitmq_queue_consumers |
count |
The total number of consumers for a queue. |
{tenant_userid,instanceId,vHost,queueName} |
Consumer
|
Metric Type |
Metric Name |
Unit |
Description |
Label |
|
gauge |
rabbitmq_consumer_acked_process_time_avg |
count |
The average processing time for acknowledged messages. |
{tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
|
gauge |
rabbitmq_consumer_unacked_process_time_avg |
count |
The average processing time for unacknowledged messages. |
{tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
|
gauge |
rabbitmq_consumer_acked_messages |
count |
Indicates the number of messages in the response. |
{tenant_userid,instanceId,vHost,queueName,remoteAddress,ackType} |
|
gauge |
rabbitmq_consumer_unacked_messages |
count |
The number of unacknowledged messages. |
{tenant_userid,instanceId,vHost,queueName,remoteAddress} |
Metric type descriptions
The metrics provided by ApsaraMQ for RabbitMQ are fully compatible with open source Prometheus standards and are of the counter and gauge types.
-
counter: A cumulative metric whose value only increases. For example, the number of API calls.
-
gauge: A metric that can increase or decrease. Its value represents an instantaneous measurement. For example, the transactions per second (TPS) of API calls.
Label descriptions
The following list describes the ApsaraMQ for RabbitMQ metric labels:
-
tenant_userid: The ID of the Alibaba Cloud account.
-
instanceId: The instance ID of ApsaraMQ for RabbitMQ.
-
vHost: The name of the vhost in the ApsaraMQ for RabbitMQ instance.
-
remoteAddress: The IP address of the ApsaraMQ for RabbitMQ client.
-
Exchange: The name of the exchange in the ApsaraMQ for RabbitMQ instance.
-
queueName: The name of the queue in the ApsaraMQ for RabbitMQ instance.
-
ackType: The response from the client after processing a message.
View the dashboard
Prerequisites
-
An ApsaraMQ for RabbitMQ instance is created. For more information, see Instance Management.
-
A vhost, queue, and exchange are created and active in the ApsaraMQ for RabbitMQ instance. For more information, see Vhost Management, Exchange Management, and Queue Management.
-
Application Real-Time Monitoring Service (ARMS) is activated. For more information, see Activate Managed Service for Prometheus.
Procedure
Log on to the ApsaraMQ for RabbitMQ console. In the left-side navigation pane, click Instances.
In the top navigation bar of the Instances page, select the region where the instance that you want to manage resides. Then, in the instance list, click the name of the instance that you want to manage.
-
In the navigation pane on the left, click Dashboard. On the Dashboard page, view the dashboard.
-
Optional: Specify a vhost, exchange, queue, and time range to filter the dashboard view.
-
To filter by vhost, exchange, or queue: On the Dashboard page, click the Vhost, Exchange, or Queue drop-down list. Enter the name of the vhost, exchange, or queue that you want to view. If you leave the field blank, metrics for all vhosts, exchanges, and queues in the instance are displayed by default.

-
To filter by time range: In the upper-right corner of the Dashboard page, click the time range selector. In the drop-down list, select a predefined relative time range, such as Last 5 minutes, Last 12 hours, or Last 30 days. You can also set a custom absolute time range by specifying a start and end time.

After you complete the configuration, you can view metrics for the specified vhost, exchange, queue, or time range on the Dashboard page. For more information about the metrics, see Metric details.
-
Where can I get the dashboard metric data?
All dashboard metrics are stored in the Prometheus service that is associated with your Alibaba Cloud account. To query the data, follow these steps:
-
Log on to the ARMS console. In the navigation pane on the left, click Integration Center.
-
On the Integration Center page, enter
RabbitMQin the search box and click the
icon. -
In the search results, select the Alibaba Cloud service to integrate, such as Alibaba Cloud RabbitMQ Enterprise Edition. For specific integration steps, see Step 1: Integrate monitoring data of an Alibaba Cloud service.
-
After the integration is successful, in the navigation pane on the left, click Provisioning.
-
On the Connected Environments tab, in the Cloud Service Region Environments list, click the name of the target environment to go to its details page.
-
On the Component Management tab, in the Basic Information section, click the Alibaba Cloud service region to the right of Prometheus Instance.
-
On the Settings tab, you can find the available methods to access the data.

How do I integrate dashboard metric data with a self-managed Grafana?
All metric data for ApsaraMQ for RabbitMQ is stored in your Alibaba Cloud Managed Service for Prometheus. You can follow the steps in How to retrieve dashboard metric data to connect to the Alibaba Cloud service and retrieve the environment name and HTTP API address. Then, you can use the API to ingest the dashboard metrics from ApsaraMQ for RabbitMQ into a self-managed Grafana. For more information, see Use an HTTP API address to connect to Grafana or ingest Prometheus data into a self-managed application.