O recurso de gerenciamento de logs do Simple Message Queue (SMQ) envia logs de solicitações de mensagens para o Simple Log Service (SLS). Use o SLS para consultar e analisar esses logs e solucionar problemas em produção.
Casos de uso
Problemas comuns no envio e recebimento de mensagens:
Uma mensagem foi enviada com sucesso para uma fila, mas o cliente consumidor não a recebeu. Para onde ela foi?
Quem consumiu uma mensagem específica? Quantas vezes ela foi consumida?
Um cliente consumidor falhou. Quando será possível consumir novamente uma mensagem com falha de consumo?
Uma mensagem foi publicada em um tópico, mas o endpoint não a recebeu após muito tempo. O que causa o atraso?
O gerenciamento de logs no SMQ resolve essas questões:
Envie logs para o SLS e visualize o rastro completo da mensagem no console.
Use a ferramenta de consulta disponível no site oficial. Especifique parâmetros para visualizar os logs de processamento de mensagens.
Faturamento
O SMQ não cobra taxas adicionais pelo recurso de gerenciamento de logs.
Quando o SMQ envia logs para o SLS, o SLS cobra com base no espaço de armazenamento, tráfego e volume de solicitações. Visão geral do faturamento.
Formato de log de fila
Operações com mensagens de fila (envio, consumo, exclusão) geram entradas de log. Os campos incluídos variam conforme a operação.
-
Campos de log
As entradas de log de fila podem incluir os seguintes campos.
Campo
Descrição
Time
Timestamp da operação.
MessageId
id exclusivo da mensagem.
QueueName
Nome da fila de destino.
AccountId
id da conta proprietária da fila.
RemoteAddress
Endereço IP do cliente.
NextVisibleTime
Momento em que a mensagem torna-se visível novamente.
ReceiptHandleInRequest
ReceiptHandlefornecido pelo cliente.ReceiptHandleInResponse
ReceiptHandleretornado ao cliente.ProcessTime
Tempo de processamento da operação.
RequestId
id da solicitação.
Action
Ação executada, como
DeleteMessageouSendMessage. -
Campos por operação
A tabela a seguir mostra quais campos cada operação inclui.
Operação
Time
QueueName
AccountId
MessageId
RemoteAddress
NextVisibleTime
ReceiptHandleInResponse
ReceiptHandleInRequest
SendMessage/BatchSendMessage
Yes
Yes
Yes
Yes
Yes
Yes
No
No
PeekMessage/BatchPeekMessage
Yes
Yes
Yes
Yes
Yes
No
No
No
ReceiveMessage/BatchReceiveMessage
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
ChangeMessageVisibility
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
DeleteMessage/BatchDeleteMessage
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Formato de log de tópico
Operações com mensagens de tópico (publicação e push) geram entradas de log. Os campos incluídos variam conforme a operação.
-
Campos de log
As entradas de log de tópico podem incluir os seguintes campos.
Campo
Descrição
Time
Timestamp da operação.
MessageId
id exclusivo da mensagem.
TopicName
Nome do tópico de destino.
SubscriptionName
Nome da assinatura.
AccountId
id da conta proprietária do tópico.
RemoteAddress
Endereço IP do cliente.
NotifyStatus
Código de status ou erro retornado pelo endpoint quando o SMQ envia uma mensagem.
ProcessTime
Tempo de processamento da operação.
MessageTag
Tag da mensagem.
RequestId
id da solicitação.
Action
Ação executada, como
PublishMessageouNotify. -
Campos por operação
A tabela a seguir mostra quais campos cada operação inclui.
Operação
Time
MessageId
TopicName
SubscriptionName
AccountId
RemoteAddress
NotifyStatus
MessageTag
PublishMessage
Yes
Yes
Yes
No
Yes
Yes
No
No
Notify
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
-
NotifyStatus
O campo NotifyStatus nos logs de push indica o motivo da falha na entrega da mensagem pelo SMQ. Solucione o problema com base nos valores a seguir.
Código de erro
Descrição
Ação recomendada
2xx
A mensagem foi enviada com sucesso.
Nenhuma.
Outros códigos de status http
O endpoint retornou um código de status diferente de 2xx.
Verifique a lógica de processamento no seu endpoint.
InvalidHost
Endpoint de assinatura inválido.
Verifique se o endpoint de assinatura é válido e acessível usando
curloutelnet.ConnectTimeout
A conexão com o endpoint de assinatura expirou.
Confirme se o endpoint de assinatura está acessível via
curloutelnet.ConnectFailure
Falha na conexão com o endpoint de assinatura.
Valide a acessibilidade do endpoint de assinatura com
curloutelnet.UnknownError
Ocorreu um erro desconhecido.
Entre em contato com o suporte técnico do SMQ.
Operações de log
Antes de usar o gerenciamento de logs, garanta o seguinte:
Crie uma fila e um tópico no SMQ. Gerenciar filas. Gerenciar tópicos.
-
Crie um projeto e um Logstore no SLS. Gerenciar um Project. Criar um Logstore.
Os logs de operação do serviço SMQ só podem ser enviados para um Project do SLS na mesma região.
-
Autorize o SMQ a exportar logs usando a função do ram
AliyunMNSLoggingRole.Clique em Cloud Resource Access Authorization e siga as instruções na tela para concluir a autorização.
AvisoNão revogue a autorização nem exclua a função do ram. Caso contrário, o envio de logs do SMQ para o SLS será interrompido.
> Edit.






