Métricas disponíveis do CloudWatch para o Amazon SQS
O Amazon SQS envia as seguintes métricas para o CloudWatch.
nota
Para algumas métricas, o resultado é aproximado por causa da arquitetura distribuída do Amazon SQS. Na maioria dos casos, a contagem deve ser próxima da quantidade real de mensagens na fila.
Métricas do Amazon SQS
O Amazon SQS publica automaticamente métricas operacionais no Amazon CloudWatch sob o namespace AWS/SQS. Essas métricas ajudam a monitorar a integridade e o desempenho da fila. Devido à natureza distribuída do SQS, muitos valores são aproximados, mas precisos o suficiente para a maioria das decisões operacionais.
nota
-
Todas as métricas emitem valores não negativos somente quando a fila está ativa.
-
Algumas métricas (como
SentMessageSize) não são emitidas até que pelo menos uma mensagem seja enviada.
| Métrica | Descrição | Unidades | Relatório resultante | Notas principais |
|---|---|---|---|---|
ApproximateAgeOfOldestMessage |
A idade da mensagem não processada mais antiga na fila. | Segundos |
Relatado se a fila contém pelo menos uma mensagem ativa. |
|
ApproximateNumberOfGroupsWithInflightMessages |
Somente para FIFO. O número de grupos de mensagens com uma ou mais mensagens em trânsito. | Contagem |
Relatado se a fila FIFO está ativa. |
|
ApproximateNumberOfMessagesDelayed |
O número de mensagens na fila que estão atrasadas e não disponíveis imediatamente para recuperação. |
Contagem |
Relatado se existem mensagens atrasadas na fila. |
|
ApproximateNumberOfMessagesNotVisible |
O número de mensagens em trânsito que foram recebidas, mas ainda não excluídas ou expiradas. | Contagem |
Relatado se existirem mensagens em trânsito. |
|
ApproximateNumberOfMessagesVisible |
O número de mensagens atualmente disponíveis para recuperação e processamento. | Contagem |
Relatado se a fila está ativa. |
|
NumberOfEmptyReceives¹ |
O número de chamadas de API ReceiveMessage que não retornaram mensagens. | Contagem |
Relatado durante as operações de recebimento. |
|
NumberOfDeduplicatedSentMessages |
Somente para FIFO. O número de mensagens enviadas que foram desduplicadas e não adicionadas à fila. | Contagem |
Relatado se valores ou conteúdo MessageDeduplicationId duplicados forem detectados. |
|
NumberOfMessagesDeleted¹ |
O número de mensagens excluídas com êxito da fila. |
Contagem |
Relatado para cada solicitação de exclusão com um identificador de recibo válido. |
|
NumberOfMessagesReceived¹ |
O número de mensagens retornadas pela API ReceiveMessage. | Contagem |
Relatado durante as operações de recebimento. |
|
NumberOfMessagesSent¹ |
O número de mensagens adicionadas com êxito a uma fila. | Contagem |
Relatado para cada envio manual bem-sucedido. |
|
SentMessageSize¹ |
O tamanho das mensagens enviadas com sucesso para a fila. |
Bytes |
Não emitido até que pelo menos uma mensagem seja enviada. |
|
ApproximateNumberOfNoisyGroups |
O número de grupos de mensagens que são considerados barulhentos em uma fila justa. Um grupo de mensagens barulhentas representa um locatário barulhento de uma fila multilocatário. |
Contagem |
Um valor não negativo é relatado se a fila estiver ativa. |
|
ApproximateNumberOfMessagesVisibleInQuietGroups |
O número de mensagens visíveis, excluindo mensagens de grupos de mensagens barulhentos. |
Contagem |
Um valor não negativo é relatado se a fila estiver ativa. |
|
ApproximateNumberOfMessagesNotVisibleInQuietGroups |
O número de mensagens em trânsito, excluindo mensagens de grupos de mensagens barulhentos. | Contagem |
Um valor não negativo é relatado se a fila estiver ativa. |
|
ApproximateNumberOfMessagesDelayedInQuietGroups |
O número de mensagens, excluindo mensagens de grupos barulhentos que estão atrasadas e indisponíveis para leitura imediata. Isso pode acontecer quando a fila tem a configuração de fila com atraso ou quando uma mensagem foi enviada com um parâmetro de atraso. | Contagem |
Um valor não negativo é relatado se a fila estiver ativa. |
|
ApproximateAgeOfOldestMessageInQuietGroups |
A idade da mensagem mais antiga não excluída na fila, excluindo mensagens de grupos de mensagens barulhentas. | Segundos |
Um valor não negativo é relatado se a fila estiver ativa. |
|
¹ Essas métricas refletem a atividade no nível do sistema e podem incluir novas tentativas, duplicatas ou mensagens atrasadas. Não use contagens brutas para estimar o estado da fila em tempo real sem considerar o comportamento do ciclo de vida das mensagens.
Filas de mensagens não entregues (DLQs) e métricas do CloudWatch
Ao trabalhar com DLQs, é importante entender como as métricas do Amazon SQS se comportam:
-
NumberOfMessagesSent: essa métrica se comporta de forma diferente para DLQs:-
Envio manual: as mensagens enviadas manualmente para uma DLQ são capturadas por essa métrica.
-
Redirecionamento automático: as mensagens movidas automaticamente para uma DLQ devido a falhas de processamento não são capturadas por essa métrica. Como resultado, as métricas
NumberOfMessagesSenteNumberOfMessagesReceivedpodem mostrar discrepâncias nas DLQs.
-
-
Métrica recomendada para DLQs: para monitorar o estado de uma DLQ, use a métrica
ApproximateNumberOfMessagesVisible. Essa métrica indica o número de mensagens atualmente disponíveis para processamento na DLQ.
Filas justas e métricas do CloudWatch
Quando você usa filas justas, o Amazon SQS emite as seguintes métricas adicionais:
-
ApproximateNumberOfNoisyGroups -
ApproximateNumberOfMessagesVisibleInQuietGroups -
ApproximateNumberOfMessagesNotVisibleInQuietGroups -
ApproximateNumberOfMessagesDelayedInQuietGroups -
ApproximateAgeOfOldestMessageInQuietGroups
nota
Cada métrica QuietGroup é um subconjunto da métrica padrão equivalente em nível de fila Approximate, mas exclui mensagens de grupos vizinhos barulhentos.
- Grupos barulhentos
-
Um grupo de mensagens barulhentas representa um locatário barulhento de uma fila multilocatário.
- Grupos silenciosos
-
Grupos de mensagens que excluem grupos barulhentos.
Observação do comportamento das filas justas do SQS
Para monitorar o efeito das filas justas do Amazon SQS, você pode comparar as métricas Approximate..InQuietGroups com métricas padrão em nível de fila. Durante picos de tráfego para um locatário específico, as métricas gerais do nível da fila podem revelar o aumento dos acúmulos ou a idade das mensagens mais antigas. No entanto, ao analisar os grupos silenciosos isoladamente, você pode identificar que a maioria dos grupos de mensagens ou locatários barulhentos não são afetados, e fornece uma estimativa do número total de grupos de mensagens impactados.
Embora essas novas métricas forneçam uma boa visão geral do comportamento das filas justas do Amazon SQS, pode ser benéfico entender qual locatário específico está causando a carga. O Amazon CloudWatch Contributor Insights permite ver métricas relacionadas aos principais colaboradores, o número total de colaboradores exclusivos e o uso deles. Isso é especialmente útil em cenários em que você está lidando com milhares de locatários que, de outra forma, levariam a dados (e custos) de alta cardinalidade ao emitir métricas tradicionais.
Para ver um exemplo de configuração de monitoramento para filas justas, consulte a amostra no GitHub
Dimensões para métricas do Amazon SQS
As métricas do Amazon SQS no CloudWatch usam uma única dimensão: QueueName. Todos os dados métricos são agrupados e filtrados pelo nome da fila.
Dicas de monitoramento
Monitore o SQS de forma eficaz usando métricas importantes e alarmes do CloudWatch para detectar acúmulos nas filas, otimizar o desempenho e permanecer dentro dos limites do serviço.
-
Defina alarmes do CloudWatch com base em
ApproximateNumberOfMessagesVisiblepara capturar o crescimento do acúmulo. -
Monitore
NumberOfEmptyReceivespara ajustar a frequência da pesquisa e reduzir o custo da API. -
Use
ApproximateNumberOfGroupsWithInflightMessagesem filas FIFO para diagnosticar limites de throughput. -
Consulte Cotas do SQS para entender os limites métricos e de serviço.