Message Service (MNS) oferece rastreamento de mensagens para acompanhar cada mensagem durante todo o ciclo de vida: envio, correspondência de assinatura, push e consumo. O recurso fornece carimbos de data/hora, resultados e identidades do produtor e consumidor para auxiliar na 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.
Investigar falhas de push: Consulte o status detalhado e os motivos de falha em pushes de assinaturas de tópicos (HTTP, e-mail, etc.).
Diagnosticar 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: Obtenha o IP do produtor, AccessKey e IP do consumidor para solucionar 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 utilizada, como SendMessage ou BatchSendMessage. |
|
Producer IP |
Endereço IP do cliente remetente. |
|
AccessKey |
AccessKey usado no envio da mensagem. |
|
Send time |
Horário do servidor quando 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 |
Momento em que a mensagem foi transferida 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 realizou o push da mensagem. |
|
Subscription |
Nome da assinatura responsável pelo push da mensagem. |
|
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 de nuvem
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 |
Momento 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 adiar 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 é agrupado 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 sobre a mensagem. |
|
AccessKey |
AccessKey utilizado 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 no momento da operação. |
|
Operation |
Operação da API. Os valores possíveis incluem:
|
Uma mensagem pode ter múltiplos valores de
ReceiptHandle, pois um novo identificador é gerado sempre que você chamaReceiveMessageouBatchReceiveMessage.Se o consumidor excluir a mensagem antes que o tempo limite de visibilidade expire, o resultado da sessão de consumo será Success.
Caso o consumidor receba a mensagem mas não a exclua, ela poderá ser consumida novamente após a expiração do tempo limite de visibilidade. Receber a mensagem outra vez 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 quando 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 de nuvem
Gerado quando outro serviço de nuvem publica uma mensagem no tópico.
|
Parâmetro |
Descrição |
|
Message source |
Indica que a mensagem veio de outro serviço de nuvem. |
|
Method |
Tipo de operação da API: PublishMessage |
|
Send time |
Momento 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
Ao receber uma mensagem, o tópico verifica as assinaturas correspondentes 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, utilizada 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 teve êxito. Exibe "Success" ou uma mensagem de erro específica. |
|
Push time |
Horário de início do push. |
|
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 de início do push. |
|
Processing duration |
Duração do push, em milissegundos. |
Limites de uso
Rastreamento de Mensagens: O recurso 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: Custos de rastreamento de mensagens.
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 ID da mensagem |
Você conhece o ID da mensagem e deseja encontrar o rastreamento completo dela. |
Retorna um único rastreamento de mensagem. |
|
Consulta por ID da solicitação |
Você possui o ID de uma chamada de API e quer localizar as mensagens envolvidas. |
Retorna os rastreamentos associados à solicitação. |
|
Consulta por nome da fila |
Necessidade de visualizar todos os rastreamentos de uma fila em um determinado período. |
Retorna os rastreamentos da fila dentro do intervalo especificado. |
|
Consulta por nome do tópico |
Objetivo de ver todos os rastreamentos de um tópico durante um período específico. |
Retorna os rastreamentos do tópico dentro do intervalo definido. |
|
Consulta por nome da assinatura |
Intenção de verificar todos os rastreamentos enviados para uma assinatura em um intervalo de tempo. |
Retorna os rastreamentos das mensagens enviadas para a assinatura no período indicado. |
Se você souber o ID da mensagem, utilize a Consulta por ID da mensagem para obter resultados rápidos e precisos.
Para solucionar problemas de mensagens em um período de tempo, prefira a Consulta por nome da fila, Consulta por nome do tópico ou Consulta por nome da assinatura.
Utilize a Consulta por ID da solicitação 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 busca.
Query by Message ID: Insira um ID de mensagem e clique em Query.
Query by RequestID: Insira o RequestID 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 exibe o histórico completo da mensagem.
-
Detalhes do rastreamento de mensagem de fila: Inclui Sending Information, Message Information e Consumption Information.
Sending Information: Contém a origem da mensagem, método de envio, endereço IP do produtor, AccessKey, horário de chegada e resultado do envio.
Message Information: Abrange o ID da mensagem, 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 programado para entrega.
Consumption Information: Os registros de consumo são agrupados por ReceiptHandle. Expanda um ReceiptHandle para ver 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.
-
Detalhes do rastreamento de mensagem de tópico: Composto por Sending Information, Subscription Matching Information e Push Information.
Sending Information: Apresenta o método de envio, endereço IP do produtor, AccessKey, horário de chegada e resultado do envio.
Subscription Matching Information: Mostra o ID da mensagem, tag, nome da assinatura correspondente e tipo de assinatura.
Push Information: Exibe o resultado do push, horário e outras informações para cada assinatura. Em assinaturas de fila, mostra o novo ID da mensagem após o push. Para assinaturas HTTP, e-mail ou SMS, apresenta 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 via assinatura de fila, clique em Message ID na seção Push Information e consulte os detalhes do rastreamento da mensagem de fila correspondente.
Esta página exibe Sending Information (produtor, método, horário, resultado), Message Information (tipo de mensagem, lista de assinaturas) e Consumption Information (ID da mensagem, 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 causas possíveis incluem:
Os dados de rastreamento são excluídos após 15 dias.
O intervalo de tempo especificado está incorreto. Tente ampliar o período da consulta.
O ID da mensagem ou RequestID 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 esse tempo 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 possui 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?
R: Não. O registro de rastreamento é assíncrono e não impacta o desempenho ou a confiabilidade do envio/recebimento de mensagens. Falhas no registro não afetam as operações normais.