Ao integrar o Managed Service for Prometheus e o Grafana da Alibaba Cloud para armazenamento e visualização de métricas, o Message Queue for Apache RocketMQ oferece o recurso Dashboard. Esse painel proporciona uma visão centralizada e abrangente das métricas, permitindo avaliar rapidamente o status operacional do serviço. Este tópico descreve os casos de uso, o contexto, as métricas, o faturamento e os métodos de consulta do Dashboard.
Casos de uso
Cenário 1: Utilize alertas oportunos para detectar e solucionar exceções no consumo de mensagens em tempo real.
Cenário 2: Verifique o status de envio de mensagens investigando o caminho de entrega quando os status dos pedidos estiverem anormais.
Cenário 3: Analise tendências de tráfego, padrões de distribuição e volume de mensagens para planejar o crescimento futuro dos negócios.
Cenário 4: Visualize e analise topologias de dependência de aplicações para otimizar ou refatorar a arquitetura.
Contexto
No ciclo de vida das mensagens do Message Queue for Apache RocketMQ, indicadores-chave de desempenho como atraso do consumidor, buffer e latência de processamento refletem diretamente o desempenho da aplicação e a integridade do broker. Portanto, as principais métricas do Message Queue for Apache RocketMQ são mais relevantes nos seguintes cenários.
Acúmulo de mensagens
A figura a seguir mostra o status das mensagens em uma fila específica de um tópico.

A figura anterior ilustra o status das mensagens em uma fila específica de um determinado tópico. O Message Queue for Apache RocketMQ coleta estatísticas sobre a quantidade de mensagens e o tempo gasto em diferentes estágios de processamento. Essas métricas refletem diretamente a taxa de processamento e o acúmulo de mensagens na fila. Ao observar esses indicadores, é possível determinar preliminarmente se o consumo do serviço apresenta anomalias. As definições específicas das métricas e as fórmulas de cálculo são as seguintes:
Categoria | Métrica | Descrição | Fórmula de cálculo |
Métricas de contagem de mensagens | inflight messages | Número de mensagens que o cliente consumidor está processando, mas ainda não confirmou. | Offset da última mensagem puxada - Offset da última mensagem confirmada |
ready messages | Quantidade de mensagens no broker do Message Queue for Apache RocketMQ prontas para consumo. | Offset máximo de mensagem - Offset da última mensagem puxada | |
consumer lag | Total de mensagens aguardando consumo ou atualmente em processamento. | Número de inflight messages + Número de ready messages | |
Métricas de latência de mensagens | Ready time |
| N/A |
Ready message queuing time | Tempo decorrido desde o ready time da mensagem pronta mais antiga até o momento atual. Essa métrica reflete a tempestividade do puxamento de mensagens pelos consumidores. | Hora atual - Ready time da mensagem pronta mais antiga | |
consumer lag time | Tempo decorrido desde o ready time da mensagem não confirmada mais antiga até o momento atual. Essa métrica reflete a tempestividade do processamento de mensagens pelos consumidores. | Hora atual - Ready time da mensagem não confirmada mais antiga |
Consumo do PushConsumer

Para obter mais informações sobre o funcionamento, consulte PushConsumer.
No cenário de consumo do PushConsumer, as seguintes métricas estão relacionadas à fila de cache local:
Número de mensagens na fila de cache local: Total de mensagens presentes na fila de cache local.
Tamanho das mensagens na fila de cache local: Tamanho total de todas as mensagens na fila de cache local.
Tempo de espera da mensagem: Duração que as mensagens permanecem armazenadas temporariamente na fila de cache local.
Detalhes das métricas
Todas as métricas relacionadas a TPS, envio e recebimento de mensagens ou contagem de mensagens são calculadas com base em uma mensagem normal de 4 KB. Multiplicadores para tamanho de mensagem e tipos avançados de mensagem são aplicados. Para obter mais informações, consulte Especificações de cálculo.
A tabela a seguir descreve os campos das métricas.
Campo | Valor |
Tipo de métrica |
|
Rótulo |
|
Métricas do Broker
Tipo de métrica | Nome da métrica | Unidade | Descrição | Rótulos |
Gauge | rocketmq_instance_requests_max | count/s | TPS máximo de mensagens (envios e recebimentos) para a instância por minuto. Solicitações limitadas (throttled) são excluídas. Este valor corresponde ao máximo de 60 amostras de TPS coletadas uma vez por segundo durante um intervalo de um minuto. |
|
Gauge | rocketmq_instance_requests_in_max | count/s | TPS máximo de envio de mensagens para a instância por minuto. Solicitações limitadas são excluídas. Este valor corresponde ao máximo de 60 amostras de TPS coletadas uma vez por segundo durante um intervalo de um minuto. |
|
Gauge | rocketmq_instance_requests_out_max | count/s | TPS máximo de consumo de mensagens para a instância por minuto. Solicitações limitadas são excluídas. Este valor corresponde ao máximo de 60 amostras de TPS coletadas uma vez por segundo durante um intervalo de um minuto. |
|
Gauge | rocketmq_topic_requests_max | count/s | TPS máximo para envio de mensagens a um tópico na instância por minuto. Solicitações limitadas são excluídas. Este valor corresponde ao máximo de 60 amostras de TPS coletadas uma vez por segundo durante um intervalo de um minuto. |
|
Gauge | rocketmq_group_requests_max | count/s | TPS máximo de consumo de mensagens para um grupo de consumidores na instância por minuto. Solicitações limitadas são excluídas. Este valor corresponde ao máximo de 60 amostras de TPS coletadas uma vez por segundo durante um intervalo de um minuto. |
|
Gauge | rocketmq_instance_requests_in_threshold | count/s | Limiar de limitação (throttling) para envio de mensagens na instância. |
|
Gauge | rocketmq_instance_requests_out_threshold | count/s | Limiar de limitação para consumo de mensagens na instância. |
|
Gauge | rocketmq_throttled_requests_in | count | Número de tentativas de envio de mensagens limitadas. |
|
Gauge | rocketmq_throttled_requests_out | count | Número de tentativas de consumo de mensagens limitadas. |
|
Gauge | rocketmq_instance_elastic_requests_max | count/s | TPS elástico máximo para envio e consumo de mensagens na instância. |
|
Counter | rocketmq_requests_in_total | count | Número total de chamadas de API para envio de mensagens. |
|
Counter | rocketmq_requests_out_total | count | Número total de chamadas de API para consumo de mensagens. |
|
Counter | rocketmq_messages_in_total | message | Número total de mensagens enviadas dos produtores para o broker. |
|
Counter | rocketmq_messages_out_total | message | Número total de mensagens entregues pelo broker aos consumidores. Inclui mensagens em processamento, processadas com sucesso ou com falha no processamento. |
|
Counter | rocketmq_throughput_in_total | byte | Throughput de mensagens dos produtores para o broker. |
|
Counter | rocketmq_throughput_out_total | byte | Throughput de mensagens do broker para os consumidores. Inclui mensagens em processamento, processadas com sucesso ou com falha no processamento. |
|
Counter | rocketmq_internet_throughput_out_total | byte | Tráfego de saída pela internet utilizado para mensagens. |
|
Histogram | rocketmq_message_size | byte | Histograma de tamanhos de mensagens, registrado após envio bem-sucedido. Buckets de distribuição:
|
|
Gauge | rocketmq_consumer_ready_messages | message | Número de mensagens no broker prontas para consumo. Essa métrica reflete a quantidade de mensagens que ainda não foram processadas pelos consumidores. |
|
Gauge | rocketmq_consumer_inflight_messages | message | Número de inflight messages, ou seja, mensagens que os clientes consumidores estão processando, mas ainda não confirmaram. |
|
Gauge | rocketmq_consumer_queueing_latency | ms | Tempo de fila das mensagens prontas, calculado como a duração desde o ready time da mensagem pronta mais antiga até o momento atual. Essa métrica indica a tempestividade do puxamento de mensagens pelos consumidores. |
|
Gauge | rocketmq_consumer_lag_latency | ms | Latência de processamento do consumo, calculada como a duração desde o ready time da mensagem não consumida mais antiga até o momento atual. Essa métrica indica a tempestividade do processamento de mensagens pelos consumidores. |
|
Counter | rocketmq_send_to_dlq_messages | message | Número de mensagens que se tornam dead letters por minuto. Uma mensagem torna-se dead letter após falhar na entrega e exceder o número máximo de tentativas de reentrega. Essas mensagens são então descartadas ou roteadas para um tópico de dead-letter, dependendo da política de dead-letter do grupo de consumidores. |
|
Gauge | rocketmq_storage_size | byte | Quantidade de espaço de armazenamento utilizada pela instância, incluindo todos os arquivos. |
|
Métricas do Produtor
Tipo de métrica | Nome da métrica | Unidade | Descrição | Rótulos |
Histogram | rocketmq_send_cost_time | ms | Histograma da latência de chamadas de API de envio de mensagens bem-sucedidas. Buckets de distribuição:
|
|
Métricas do Consumidor
Tipo de métrica | Nome da métrica | Unidade | Descrição | Rótulos |
Histogram | rocketmq_process_time | ms | Histograma do tempo de processamento de mensagens para um PushConsumer, incluindo tentativas com sucesso e com falha. Este valor é calculado como: Buckets de distribuição:
|
|
Gauge | rocketmq_consumer_cached_messages | message | Número de mensagens na fila de cache local de um PushConsumer. |
|
Gauge | rocketmq_consumer_cached_bytes | byte | Tamanho total das mensagens na fila de cache local de um PushConsumer. |
|
Histogram | rocketmq_await_time | ms | Histograma do tempo de espera de mensagens na fila de cache local de um PushConsumer. Este valor é calculado como: Buckets de distribuição:
|
|
Faturamento
As métricas do dashboard do Message Queue for Apache RocketMQ são métricas básicas no Managed Service for Prometheus. Métricas básicas são gratuitas. Portanto, o recurso de dashboard também é gratuito.
Para obter mais informações, consulte Pagamento conforme o uso.
Pré-requisitos
-
Crie uma função vinculada ao serviço.
Nome da função: AliyunServiceRoleForOns
Nome da política da função: AliyunServiceRolePolicyForOns
Permissões: Permite que o Message Queue for Apache RocketMQ assuma essa função para acessar outros serviços da Alibaba Cloud, como CloudMonitor e Managed Service for Prometheus, habilitando recursos como monitoramento, alertas e o Dashboard.
Para obter mais informações, consulte Funções vinculadas ao serviço.
Visualizar o Dashboard
Visualize o Dashboard nas seguintes páginas do console do Message Queue for Apache RocketMQ:
Página Dashboard: exibe métricas de todos os tópicos e grupos de consumidores em uma instância.
Página Instance Details: exibe uma visão geral do produtor, métricas de faturamento e métricas de limitação para uma instância específica.
Página Topic Details: exibe métricas relacionadas à produção de mensagens e clientes produtores para um tópico específico.
Página Group Details: exibe métricas relacionadas ao atraso do consumidor e clientes consumidores para um grupo de consumidores específico.
Faça login no console do ApsaraMQ for RocketMQ. No painel de navegação à esquerda, clique em Instances.
Na barra de navegação superior, selecione uma região, como China (Hangzhou). Na página Instances, clique no nome da instância que deseja gerenciar.
-
Utilize um dos seguintes métodos para visualizar o Dashboard.
Página Instance Details: Na página Instance Details, clique na aba Dashboard.
Página Dashboard: No painel de navegação à esquerda, clique em Dashboard.
Página Topic Details: No painel de navegação à esquerda, clique em Topics. Na lista de tópicos, clique no nome do tópico desejado. Na página Topic Details, clique na aba Dashboard.
Página Group Details: No painel de navegação à esquerda, clique em Groups. Na lista de grupos, clique no nome do grupo desejado. Na página Group Details, clique na aba Dashboard.
FAQ
Como obter dados de métricas do dashboard?
Faça login no console do ARMS usando sua conta Alibaba Cloud.
No painel de navegação à esquerda, clique em Integration Center.
Na página Integration Center, insira
RocketMQna caixa de pesquisa e clique no ícone de pesquisa.Nos resultados da pesquisa, selecione o serviço em nuvem que deseja integrar, como Aliyun RocketMQ (5.0) Service. Para obter mais informações sobre a integração, consulte Etapa 1: Integrar os dados de monitoramento do serviço em nuvem.
Após a conclusão da integração, clique em Integration Management no painel de navegação à esquerda.
Na página Integration Management, clique na aba Cloud Service Region Environment.
Na lista Cloud Service Region Environment, clique no nome do ambiente desejado para abrir sua página de detalhes.
Na seção Basic Information da aba Component Management, clique na região do serviço em nuvem ao lado de Prometheus instance.
Na aba Settings, obtenha as URLs para os diferentes métodos de acesso a dados.
Como integrar com Grafana autogerenciado?
Todos os dados de métricas do Message Queue for Apache RocketMQ são salvos no seu Managed Service for Prometheus da Alibaba Cloud. Siga as etapas em Como obter dados de métricas do dashboard? para conectar-se ao serviço em nuvem e obter um nome de ambiente e endereço de API HTTP. Em seguida, utilize a API para importar os dados de métricas do dashboard do Message Queue for Apache RocketMQ para sua instância Grafana autogerenciada. Para obter mais informações, consulte Usar um endereço de API HTTP para conectar ao Grafana ou a uma aplicação autogerenciada para acessar dados do Prometheus.
Como interpretar o TPS máximo da instância?
O TPS máximo é o maior valor de transações por segundo (TPS) registrado durante um período de um minuto, com base em amostras coletadas a cada segundo.
Exemplo:
Uma instância produz 60 mensagens normais, cada uma com 4 KB de tamanho, dentro de um minuto. A taxa de produção é de 60 mensagens/minuto.
-
Se todas as 60 mensagens forem enviadas no primeiro segundo, os valores de TPS para cada segundo desse minuto serão 60, 0, 0, ..., 0.
O TPS máximo da instância é 60.
-
Se 40 mensagens forem enviadas no primeiro segundo e 20 no segundo seguinte, os valores de TPS serão 40, 20, 0, 0, ..., 0.
O TPS máximo da instância é 40.