Todos os produtos
Search
Central de documentação

ApsaraMQ for RocketMQ:Análise de rastreamento de ponta a ponta

Última atualização: Jun 27, 2026

Em um sistema distribuído, uma única requisição pode passar por dezenas de serviços antes de ser concluída. Quando uma mensagem fica presa, um consumidor atinge o tempo limite ou a latência aumenta abruptamente, identificar a causa raiz na cadeia produtor-broker-consumidor exige visibilidade completa do fluxo de mensagens.

O ApsaraMQ for RocketMQ gera dados de rastreamento que seguem as convenções semânticas do OpenTelemetry para mensageria. Exporte esses dados para o Simple Log Service ou para o Application Real-Time Monitoring Service (ARMS) para acompanhar a entrega de mensagens, medir a latência de ponta a ponta e diagnosticar falhas.

Limitações

Antes de configurar o rastreamento, verifique as seguintes restrições:

  • Apenas Java SDK: Somente clientes que utilizam o SDK for Java podem reportar dados de rastreamento. Para detalhes sobre versões, consulte Notas de versão.

  • Mensagens transacionais: Apenas os dados relacionados à produção são rastreados em mensagens transacionais.

  • Apenas consumidores push: Somente mensagens consumidas por consumidores push geram dados de rastreamento. Consulte Tipos de consumidor.

Exportar dados de rastreamento

O ApsaraMQ for RocketMQ exporta dados de rastreamento compatíveis com OpenTelemetry para um servidor de análise de rastreamento. Utilize um serviço gerenciado da Alibaba Cloud ou construa seu próprio backend.

Simple Log Service

O Simple Log Service oferece painéis para monitorar o atraso no envio de mensagens, taxa de sucesso de envio, taxa de sucesso de consumo e latência de ponta a ponta. Analise requisições individuais em detalhes filtrando por ID da mensagem ou ID de rastreamento.

Para mais informações sobre o Simple Log Service, consulte Notas de uso.

ARMS

O Application Real-Time Monitoring Service (ARMS) fornece rastreamento distribuído por meio do componente Tracing Analysis.

Para mais informações sobre o ARMS Tracing Analysis, consulte O que é o Tracing Analysis?

Como funciona o rastreamento

O ApsaraMQ for RocketMQ registra cada etapa do ciclo de vida de uma mensagem como um span. Cada span captura dados de tempo, metadados da mensagem e o tipo de operação.

Tipos de span

Três tipos de span cobrem todo o ciclo de vida da mensagem:

Tipo de span

O que captura

Ciclo de vida

send

Uma mensagem saindo do produtor.

Inicia quando o produtor começa o envio e termina quando o envio é bem-sucedido, falha ou lança uma exceção. Se houver retentativas, cada tentativa gera um span separado.

receive

Uma requisição de long polling do consumidor.

Corresponde ao ciclo de vida da operação de long polling. Desativado por padrão.

process

Um consumidor push processando uma mensagem.

Inicia quando o callback MessageListener começa e termina quando ele retorna.

Ative spans de recebimento

Os spans de recebimento vêm desativados por padrão. Para ativá-los, adicione o seguinte parâmetro JVM:

-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true

Relacionamentos entre spans

A relação entre os spans depende se os spans de recebimento estão ativados:

  • Spans de recebimento desativados (padrão): O span de processo é filho direto do span de envio.

  • Spans de recebimento ativados: O span de processo é filho do span de recebimento e possui um vínculo com o span de envio.

Span relationships

Atributos de mensageria

Cada span inclui atributos definidos pelas convenções semânticas do OpenTelemetry para spans de mensageria.

Atributos padrão

  • messaging.message.id: Identificador exclusivo da mensagem.

  • messaging.destination: Tópico ou fila de destino da mensagem.

  • messaging.operation: Tipo de operação: send, receive ou acknowledge.

Atributos específicos do RocketMQ

O ApsaraMQ for RocketMQ adiciona os seguintes atributos. Para a lista completa, consulte Atributos do Apache RocketMQ.

Atributo

Tipo

Descrição

messaging.rocketmq.client_group

string

Grupo de consumidores usado para balanceamento de carga.

messaging.rocketmq.client_id

string

Identificador exclusivo da instância do cliente.

messaging.rocketmq.message.delivery_timestamp

int

Horário de entrega agendada para mensagens agendadas e atrasadas.

messaging.rocketmq.message.group

string

Grupo de mensagens para mensagens ordenadas.

messaging.rocketmq.message.type

string

Tipo de mensagem: normal, fifo, delay ou transaction. Consulte Mensagens normais, Mensagens ordenadas, Mensagens agendadas e atrasadas e Mensagens transacionais.

messaging.rocketmq.message.tag

string

Tag usada para filtrar mensagens no lado do consumidor.

messaging.rocketmq.message.keys

string[]

Chaves de negócio para localizar mensagens específicas.