Message Service (MNS) oferece rastreamento de mensagens para monitorar todo o ciclo de vida de cada mensagem — envio, correspondência de assinatura, push e consumo. O recurso fornece carimbos de data/hora, resultados e identidades do produtor e consumidor para facilitar a solução de problemas.
Casos de uso
O recurso de rastreamento de mensagens ajuda você a:
Confirmar a entrega de mensagens: Verifique se uma mensagem chegou à fila ou ao tópico e foi consumida.
Solucionar problemas de consumo duplicado: Visualize o registro completo de consumo de uma mensagem, incluindo horário, identidade do consumidor e resultado de cada operação.
Diagnosticar falhas de push: Consulte o status detalhado e os motivos de falha em pushes de assinaturas de tópicos (HTTP, e-mail, etc.).
Investigar latência de mensagens: Analise os carimbos de data/hora de cada etapa do ciclo de vida para identificar atrasos.
Verificar o status de mensagens agendadas: Confirme se uma mensagem agendada atingiu o horário previsto para entrega.
Consultar identidades de produtores e consumidores: Visualize o IP do produtor, AccessKey e IP do consumidor para auxiliar na solução de problemas.
Parâmetros de rastreamento
Rastreamento de mensagens de fila
O rastreamento de uma mensagem é composto por três seções: Informações de Envio, Informações da Mensagem e Informações de Consumo.
Envio de mensagens
Envio padrão
|
Parâmetro |
Descrição |
|
Message source |
Produtor que envia a mensagem diretamente para a fila. |
|
Method |
Operação da API, como SendMessage ou BatchSendMessage. |
|
Producer IP |
Endereço IP do cliente remetente. |
|
AccessKey |
AccessKey utilizado para enviar a mensagem. |
|
Send time |
Horário do servidor em que a mensagem chegou à fila. |
|
Result |
Exibe "Success" ou uma mensagem de erro específica. |
Dead-letter
Um novo rastreamento é gerado quando uma mensagem é movida para uma fila dead-letter.
|
Parâmetro |
Descrição |
|
Message source |
Constante: Dead-Letter |
|
Original queue |
Nome da fila original da mensagem. |
|
Original queue Message ID |
Message ID da mensagem na fila original. |
|
Send time |
Horário em que a mensagem foi movida para a fila dead-letter. |
|
Result |
Exibe "Success" ou uma mensagem de erro específica. |
Push de assinatura
Gerado quando um tópico envia uma mensagem para uma fila por meio de uma assinatura.
|
Parâmetro |
Descrição |
|
Message source |
Constante: Topic Queue Subscription |
|
Topic |
Nome do tópico que enviou a mensagem via push. |
|
Subscription |
Nome da assinatura que enviou a mensagem via push. |
|
Original Message ID |
Message ID da mensagem no tópico. |
|
Send time |
Horário em que a mensagem foi enviada para a fila. |
|
Result |
Exibe "Success" ou uma mensagem de erro específica. |
Outros serviços cloud
Gerado quando o EventBridge envia uma mensagem para uma fila por meio de uma assinatura.
|
Parâmetro |
Descrição |
|
Message source |
Constante: other cloud services |
|
Method |
Constante: Notify |
|
Send time |
Horário em que a mensagem foi enviada para a fila. |
|
Result |
Exibe "Success" ou uma mensagem de erro específica. |
Informações da mensagem
Mensagem padrão
|
Parâmetro |
Descrição |
|
Message type |
Valor: standard message |
|
Message ID |
Identificador exclusivo da mensagem. |
|
Queue |
Nome da fila que contém a mensagem. |
|
Retention period |
Duração máxima de armazenamento. Corresponde ao atributo |
|
Visibility timeout |
Tempo durante o qual uma mensagem recuperada permanece invisível para outros consumidores. Corresponde ao atributo |
Mensagem agendada
|
Parâmetro |
Descrição |
|
Message type |
Valor: scheduled message |
|
Message ID |
Identificador exclusivo da mensagem. |
|
Queue |
Nome da fila que contém a mensagem. |
|
Retention period |
Duração máxima de armazenamento. Corresponde ao atributo |
|
Visibility timeout |
Tempo durante o qual uma mensagem recuperada permanece invisível para outros consumidores. Corresponde ao atributo |
|
Delivery delay |
Tempo, em segundos, para atrasar a entrega da mensagem. |
|
Scheduled delivery time |
Horário específico em que a mensagem ficará disponível para consumo. |
Consumo
O rastreamento de consumo de uma mensagem de fila agrupa-se em sessões de consumo, cada uma identificada por um ReceiptHandle.
|
Parâmetro |
Descrição |
|
Result |
Resultado final da sessão de consumo. Os valores possíveis incluem:
|
|
Consumer IP |
Endereço IP do cliente que recebeu ou operou a mensagem. |
|
AccessKey |
AccessKey usado para operar a mensagem. |
|
ReceiptHandle |
Identificador da mensagem, usado para excluí-la ou alterar seu tempo limite de visibilidade. |
|
Operation Time |
Horário do servidor em que a operação ocorreu. |
|
Operation |
Operação da API. Os valores possíveis incluem:
|
Uma mensagem pode ter vários valores de
ReceiptHandle, pois um novo identificador é gerado sempre que você chamaReceiveMessageouBatchReceiveMessage.Se um consumidor excluir uma mensagem antes que o tempo limite de visibilidade expire, o resultado da sessão de consumo será Success.
Caso um consumidor receba uma mensagem e não a exclua, ela poderá ser consumida novamente após a expiração do tempo limite de visibilidade. Receber a mensagem novamente gera um novo
ReceiptHandle.Operar uma mensagem com um
ReceiptHandleexpirado retorna um erro 404.
Rastreamento de mensagens de tópico
O rastreamento de uma mensagem de tópico inclui três seções: informações de envio, informações de correspondência de assinatura e informações de push.
Informações de envio
Envio padrão
|
Parâmetro |
Descrição |
|
Message source |
Produtor que publicou a mensagem diretamente no tópico. |
|
Method |
Tipo de operação da API: PublishMessage |
|
Producer IP |
Endereço IP do cliente que publicou a mensagem. |
|
AccessKey |
AccessKey usado para publicar a mensagem. |
|
Send time |
Horário do servidor em que a mensagem chegou ao tópico. |
|
Result |
Resultado da operação de publicação. Exibe "Success" ou uma mensagem de erro específica. |
Outros serviços cloud
Gerado quando outro serviço cloud publica uma mensagem no tópico.
|
Parâmetro |
Descrição |
|
Message source |
Indica que a mensagem veio de outro serviço cloud. |
|
Method |
Tipo de operação da API: PublishMessage |
|
Send time |
Horário em que a mensagem foi publicada no tópico. |
|
Result |
Resultado da operação de publicação. Exibe "Success" ou uma mensagem de erro específica. |
Correspondência de assinatura
Quando um tópico recebe uma mensagem, ele corresponde às assinaturas por FilterTag e envia a mensagem para cada correspondência encontrada.
|
Parâmetro |
Descrição |
|
Message ID |
Identificador exclusivo da mensagem. |
|
Tag |
Tag da mensagem, usada para filtragem de assinaturas. |
|
Subscription name |
Nome da assinatura correspondente. |
|
Subscription type |
Tipo de endpoint da assinatura. Os valores possíveis incluem:
|
Informações de push
Assinatura de fila
|
Parâmetro |
Descrição |
|
Message ID |
Novo ID atribuído à mensagem ao entrar na fila. |
|
Consumption result |
Indica se o push foi bem-sucedido. Exibe "Success" ou uma mensagem de erro específica. |
|
Push time |
Horário em que o push foi iniciado. |
|
Processing duration |
Duração do push, em milissegundos. |
Outras assinaturas
|
Parâmetro |
Descrição |
|
Push result |
Código de status e resultado do push, tais como:
|
|
Push time |
Horário em que o push foi iniciado. |
|
Processing duration |
Duração do push, em milissegundos. |
Limites de uso
Message Trace: O Message Trace vem desativado por padrão. Ative-o na página Message Trace.
Intervalo de consulta: As consultas podem abranger no máximo 3 dias e devem começar dentro dos últimos 15 dias.
Faturamento
Detalhes de faturamento: Message trace costs.
Período de retenção do rastreamento de mensagens
Os dados de rastreamento de mensagens são retidos por 15 dias. Após esse período, eles são excluídos automaticamente e não podem mais ser consultados.
Métodos de consulta
ApsaraMQ for MNS oferece cinco métodos para consultar rastreamentos de mensagens:
|
Método de consulta |
Caso de uso |
Resultado |
|
Consulta por Message ID |
Você conhece o Message ID e deseja encontrar o rastreamento completo dessa mensagem. |
Retorna um único rastreamento de mensagem. |
|
Consulta por Request ID |
Você conhece o Request ID de uma chamada de API e deseja encontrar as mensagens envolvidas. |
Retorna os rastreamentos de mensagens associados à solicitação. |
|
Consulta por nome da fila |
Você deseja visualizar todos os rastreamentos de mensagens de uma fila durante um período. |
Retorna os rastreamentos de mensagens da fila dentro do intervalo de tempo especificado. |
|
Consulta por nome do tópico |
Você deseja visualizar todos os rastreamentos de mensagens de um tópico durante um período. |
Retorna os rastreamentos de mensagens do tópico dentro do intervalo de tempo especificado. |
|
Consulta por nome da assinatura |
Você deseja visualizar todos os rastreamentos de mensagens enviadas para uma assinatura durante um período. |
Retorna os rastreamentos das mensagens enviadas para a assinatura dentro do intervalo de tempo especificado. |
Se você souber o Message ID, utilize a Consulta por Message ID para obter resultados rápidos e precisos.
Para solucionar problemas de mensagens em um determinado período, use a Consulta por nome da fila, Consulta por nome do tópico ou Consulta por nome da assinatura.
Utilize a Consulta por Request ID para diagnosticar problemas em chamadas de API relacionadas a envio em lote ou consumo em lote.
Procedimento
Consultar rastreamentos de mensagens
Faça login no console do Simple Message Queue (anteriormente MNS).
No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione uma região.
Clique em Off para ativar o rastreamento de mensagens.
-
Na página Message Trace, selecione um método de consulta e insira os critérios de pesquisa.
Query by Message ID: Insira um Message ID e clique em Query.
By Request ID: Insira o Request ID de uma solicitação de API e clique em Query.
Query by Queue Name: Selecione um nome de fila, escolha um horário inicial dentro dos últimos 15 dias (a duração não pode exceder 3 dias) e clique em Query.
Query by Topic Name: Selecione um nome de tópico, escolha um horário inicial dentro dos últimos 15 dias (a duração não pode exceder 3 dias) e clique em Query.
Query by Subscription Name: Selecione um tópico e um nome de assinatura, escolha um horário inicial dentro dos últimos 15 dias (a duração não pode exceder 3 dias) e clique em Query.
Nos resultados da consulta, localize a mensagem desejada e, na coluna Actions, clique em Details.
-
A página de detalhes do rastreamento de mensagens exibe o rastreamento completo da mensagem.
-
Detalhes do rastreamento de mensagens de fila: Inclui Sending Information, Message Information e Consumption Information.
Sending Information: Inclui a origem da mensagem, método de envio, endereço IP do produtor, AccessKey, horário de chegada e resultado do envio.
Message Information: Inclui o Message ID, nome da fila, período de retenção, tempo limite de visibilidade, entre outros. Para mensagens agendadas, também são exibidos a duração do atraso e o horário de entrega programado.
Consumption Information: Os registros de consumo de mensagens são agrupados por ReceiptHandle. Expanda um ReceiptHandle para visualizar todas as operações daquela sessão de consumo, incluindo horário, endereço IP do consumidor e resultados de recebimento, exclusão e alteração de visibilidade da mensagem.
-
Detalhes do rastreamento de mensagens de tópico: Inclui Sending Information, Subscription Matching Information e Push Information.
Sending Information: Inclui o método de envio, endereço IP do produtor, AccessKey, horário de chegada e resultado do envio.
Subscription Matching Information: Inclui o Message ID, tag, nome da assinatura correspondente e tipo de assinatura.
Push Information: Inclui o resultado do push, horário do push e outras informações para cada assinatura. Para assinaturas de fila, é exibido o novo Message ID após o push. Para assinaturas HTTP, e-mail ou SMS, são mostrados o código de status do push e a duração do processamento.
-
-
(Opcional) Para visualizar o rastreamento após uma mensagem ser enviada para uma fila por meio de uma assinatura de fila, clique em Message ID na seção Push Information para ver os detalhes de rastreamento da mensagem de fila correspondente.
Esta página mostra Sending Information (produtor, método, horário, resultado), Message Information (tipo de mensagem, lista de assinaturas) e Consumption Information (Message ID, resultado do consumo, horário do push, duração do processamento).
Perguntas frequentes
P: Por que não consigo encontrar um rastreamento de mensagem?
R: As possíveis causas incluem:
Os dados de rastreamento de mensagens são excluídos após 15 dias.
O intervalo de tempo especificado está incorreto. Tente ampliar o intervalo de tempo.
O Message ID ou Request ID foi inserido incorretamente. Verifique o ID e tente a consulta novamente.
P: O que significa o status 'Not Responded' em um rastreamento de mensagem?
R: Um consumidor recebeu a mensagem, mas não a excluiu nem alterou seu tempo limite de visibilidade. Quando o tempo limite expira, a mensagem torna-se disponível novamente. Verifique sua aplicação consumidora para garantir que ela processe e exclua as mensagens corretamente.
P: Por que uma única mensagem tem vários ReceiptHandles?
R: Cada chamada de ReceiveMessage ou BatchReceiveMessage gera um novo ReceiptHandle. Se uma mensagem for recuperada várias vezes (por exemplo, após a expiração do tempo limite de visibilidade), cada recuperação produzirá um ReceiptHandle diferente.
P: O rastreamento de mensagens afeta o desempenho de envio e recebimento de mensagens?
R: Não. O registro de rastreamento é assíncrono e não afeta o desempenho ou a confiabilidade do envio/recebimento de mensagens. Falhas no registro não impactam as operações normais.