Dashboard

更新时间:
复制 MD 格式

ApsaraMQ for RabbitMQ offers the dashboard feature for Enterprise Edition and Enterprise Platinum Edition instances through integration with Managed Service for Prometheus and Managed Service for Grafana from Application Real-Time Monitoring Service (ARMS). This feature lets you view various metrics for your instances, vhosts, queues, and exchanges. This helps you detect and locate issues early. This topic outlines the metrics available on the dashboard and how to use them.

Billing

The ApsaraMQ for RabbitMQ dashboard displays basic metrics from Managed Service for Prometheus. Since these metrics are provided free of charge, the dashboard feature is also free to use. For more information, see metrics and pay-as-you-go.

Limitations

The dashboard is available for serverless instances and for Enterprise and Platinum Edition subscription instances, but not for Professional Edition subscription instances.

Service-linked roles

When you view the dashboard, ApsaraMQ for RabbitMQ automatically creates the service-linked role AliyunServiceRoleForAmqpMonitoring.

  • If a service-linked role has not been created, ApsaraMQ for RabbitMQ automatically creates one for you so that you can use the ApsaraMQ for RabbitMQ dashboard feature.

  • If the service-linked role already exists, ApsaraMQ for RabbitMQ does not create it again.

For more information about service-linked roles, see Service-Linked Roles.

Metrics

Metric overview

The ApsaraMQ for RabbitMQ dashboard provides the following metrics:

  • Overview: Displays metrics such as the number of messages, connections, and consumers for an instance or vhost.

  • Connection: Displays the number of connections for an instance or vhost.

  • Exchange: Displays the number of inbound and outbound messages for an exchange.

  • Queue: Displays the number of messages, API calls, and consumers for a queue.

  • Consumer: Displays the results of message processing by consumers.

Note

All metrics are reported per minute, except for rabbitmq_instance_api_tps_max, which is reported per second.

Overview

Metric type

Metric name

Unit

Description

Label

gauge

rabbitmq_instance_api_tps_max

count/s

Maximum transactions per second (TPS) for API calls to the instance in a one-minute period.

This is the peak value from 60 samples collected at one-second intervals.

{tenant_userid, instanceId}

counter

rabbitmq_connections_opened_total

count

Total number of connections opened.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_connections_closed_total

count

Total number of connections closed.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_channels_opened_total

count

Total number of channels opened.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_channels_closed_total

count

Total number of channels closed.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_queues_declared_total

count

Total number of queues declared.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_queues_deleted_total

count

Total number of queues deleted.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_exchange_declared_total

count

Total number of exchanges declared.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_exchange_deleted_total

count

Total number of exchanges deleted.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_exchange_bind_total

count

Total number of bindings added to exchanges.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_exchange_unbind_total

count

Total number of bindings removed from exchanges.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_queue_bind_total

count

Total number of bindings added to queues.

{tenant_userid,instanceId,vhost}

counter

rabbitmq_queue_unbind_total

count

Total number of bindings removed from queues.

{tenant_userid,instanceId,vhost}

gauge

rabbitmq_connections

count

Current number of open connections.

{tenant_userid,instanceId,vhost}

gauge

rabbitmq_channels

count

Current number of open channels.

{tenant_userid,instanceId,vhost}

Connections

Metric type

Metric name

Unit

Description

Label

gauge

rabbitmq_connection_channels

count

Number of channels on a connection.

{tenant_userid,instanceId,vhost,remoteAddress}

Exchange

Metric type

Metric name

Unit

Description

Label

counter

rabbitmq_exchange_messages_published_in_total

count

Total number of messages published to an exchange.

{tenant_userid,instanceId,vhost,exchangeName}

counter

rabbitmq_exchange_messages_published_out_total

count

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

Total number of messages published to a queue.

{tenant_userid,instanceId,vhost,queueName}

gauge

rabbitmq_queue_messages_ready

count

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

Number of scheduled messages in a queue.

{tenant_userid,instanceId,vhost,queueName}

gauge

rabbitmq_queue_messages_unacked

count

Number of messages delivered to a consumer but not yet acknowledged.

{tenant_userid,instanceId,vhost,queueName}

counter

rabbitmq_queue_deliver_total

count

Total number of times the Basic.Consume command was called.

{tenant_userid,instanceId,vhost,queueName}

counter

rabbitmq_queue_get_total

count

Total number of times the Basic.Get command was called.

{tenant_userid,instanceId,vhost,queueName}

counter

rabbitmq_queue_ack_total

count

Total number of times the Basic.Ack command was called.

{tenant_userid,instanceId,vhost,queueName}

counter

rabbitmq_queue_uack_total

count

Total number of times the Basic.Nack command was called.

{tenant_userid,instanceId,vhost,queueName}

counter

rabbitmq_queue_recover_total

count

Total number of times the Basic.Recover command was called.

{tenant_userid,instanceId,vhost,queueName}

counter

rabbitmq_queue_reject_total

count

Total number of times the Basic.Reject command was called.

{tenant_userid,instanceId,vhost,queueName}

gauge

rabbitmq_queue_consumers

count

Current number of consumers on a queue.

{tenant_userid,instanceId,vhost,queueName}

Consumer

Metric type

Metric name

Unit

Description

Label

gauge

rabbitmq_consumer_acked_process_time_avg

count

Average processing time for acknowledged messages.

{tenant_userid,instanceId,vhost,queueName,remoteAddress,ackType}

gauge

rabbitmq_consumer_unacked_process_time_avg

count

Average processing time for unacknowledged messages.

{tenant_userid,instanceId,vhost,queueName,remoteAddress,ackType}

gauge

rabbitmq_consumer_acked_messages

count

Number of acknowledged messages.

{tenant_userid,instanceId,vhost,queueName,remoteAddress,ackType}

gauge

rabbitmq_consumer_unacked_messages

count

Number of unacknowledged messages.

{tenant_userid,instanceId,vhost,queueName,remoteAddress}

Metric types

The metrics for ApsaraMQ for RabbitMQ are fully compatible with the open-source Prometheus standard. The supported metric types are counter and gauge.

  • counter: A cumulative metric that only increases. For example, the number of API calls.

  • gauge: A metric that can increase or decrease, representing an instantaneous value. For example, the TPS for API calls.

Labels

The following list describes the labels for ApsaraMQ for RabbitMQ metrics:

  • tenant_userid: Your Alibaba Cloud account ID.

  • instanceId: The ApsaraMQ for RabbitMQ instance ID.

  • vhost: The name of the vhost in the ApsaraMQ for RabbitMQ instance.

  • remoteAddress: The IP address of the ApsaraMQ for RabbitMQ client.

  • exchangeName: 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 a client after it processes a message.

Dashboard

Prerequisites

Procedure

  1. Log on to the ApsaraMQ for RabbitMQ console. In the left-side navigation pane, click Instances.

  2. 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.

  3. In the left navigation bar, click Dashboard. On the Dashboard page, view the dashboard.

  4. You can filter the dashboard by vhost, exchange, queue, and time range.

    • To filter by vhost, exchange, or queue: On the Dashboard page, use the Vhost, Exchange, or Queue drop-down list to select or enter the desired resource. If you leave these fields blank, the dashboard displays metrics for all vhosts, exchanges, and queues in the instance. The Overview section of the dashboard displays four key metrics: Ready messages, Current connections, Current channels, and Current consumers. The top of the page also provides quick links, such as Metric Details, Troubleshoot with Message Trace, and Import to Grafana Pro.

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

    After you configure the filters, the Dashboard page displays the metrics for the specified vhost, exchange, queue, or time range. For metric descriptions, see Metric Details.

Dashboard metrics

Dashboard metrics are stored in Managed Service for Prometheus under your Alibaba Cloud account. Follow these steps to query them:

  1. Log on to the ARMS console. In the navigation pane on the left, click Integration Center.

  2. On the Integration Center page, enter RabbitMQ in the search box and click the image search icon.

  3. In the search results, select the cloud service to integrate, such as ApsaraMQ for RabbitMQ (Enterprise Edition). For more details, see Step 1: Integrate cloud service monitoring data.

  4. After the integration is successful, click Integration Management in the navigation pane on the left.

  5. On the Integrated Environments tab, in the Cloud Service Environments list, click the name of the target environment.

  6. On the Component Management tab, in the Basic Information section, click the region next to Prometheus Instance.

  7. The {key, select, RAM {RAM} Overview {Overview} Identities {Identities} Users {Users} Groups {Groups} Roles {Roles} Settings {Settings} Permissions {Permissions} Grants {Grants} Troubleshoot {Troubleshooting} Policies {Policies} Integrations {Integrations} Providers {SSO} Applications {OAuth (Preview)} CloudSSO {CloudSSO} AccessAnalyzing {Access Analysis} Analyzers {Analyzers} Findings {Findings} Beta {Beta} Governance {Cloud Governance Center} other {{key}} } tab lists available data access methods. This page displays the endpoint URLs for the Prometheus instance, including the Remote Read URL, Remote Write URL, Push Gateway URL, OpenTelemetry URL, and HTTP API URL (for Grafana). The page provides URLs for both public and private networks for each endpoint. The URL format starts with a base such as https://cn-hangzhou.arms.aliyuncs.com and includes an instance identifier parameter. Each section includes a link to a user guide, and you can generate a token at the bottom of the page.

Self-managed Grafana integration

All metrics for ApsaraMQ for RabbitMQ are stored in Managed Service for Prometheus in your Alibaba Cloud account. Follow the steps in the Dashboard metrics section to integrate the cloud service and obtain the environment name and HTTP API URL. You can then use the API to import the dashboard metrics for ApsaraMQ for RabbitMQ into your self-managed Grafana. For more information, see Access Prometheus monitoring data by using HTTP API URLs.