CloudWatch Métricas disponíveis para o Amazon SQS - Amazon Simple Queue Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

CloudWatch Métricas disponíveis para o Amazon SQS

O Amazon SQS envia as seguintes métricas para. 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 na Amazon CloudWatch sob o namespace. AWS/SQS Essas métricas ajudam você 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 (comoSentMessageSize) não são emitidas até que pelo menos uma mensagem seja enviada.

Métrica Descrição Unidades Comportamento de relatórios 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.
  • Para filas padrão, se uma mensagem for recebida três ou mais vezes e não for excluída, o SQS a moverá para o final da fila. A métrica então reflete a idade da próxima mensagem que não excedeu o limite de recebimento. Essa reordenação ocorre mesmo quando uma política de redirecionamento está em vigor.

  • As mensagens com pílulas venenosas (aquelas recebidas repetidamente, mas nunca excluídas) são excluídas dessa métrica até serem processadas com sucesso.

  • Quando uma mensagem é movida para uma DLQ depois de ultrapassar amaxReceiveCount, a idade é redefinida. Nesse caso, a métrica do DLQ reflete a hora em que a mensagem foi movida, não quando foi enviada originalmente.

  • As filas FIFO não reordenam as mensagens para preservar a ordem. Uma mensagem com falha bloqueia seu grupo de mensagens até que seja excluída ou expire. Se uma DLQ estiver configurada, a mensagem será enviada para lá depois que o limite de recebimento for atingido.

ApproximateNumberOfGroupsWithInflightMessages Somente para FIFO. O número de grupos de mensagens com uma ou mais mensagens em voo.

Contagem

Relatado se a fila FIFO está ativa.
  • Uma mensagem é considerada em andamento depois de ser recebida da fila por um consumidor, mas ainda não foi excluída ou expirou.

  • Essa métrica ajuda você a solucionar problemas e otimizar a taxa de transferência da fila FIFO. Valores altos geralmente indicam uma forte concorrência.

  • Se a fila tiver uma grande lista de pendências e esse valor permanecer baixo, considere escalar os consumidores ou aumentar o número de grupos de mensagens ativos.

  • Para obter informações sobre a produtividade e os limites em voo, consulte. Cotas do Amazon SQS

ApproximateNumberOfMessagesDelayed

O número de mensagens na fila que estão atrasadas e não estão imediatamente disponíveis para recuperação.

Contagem

Relatado se existem mensagens atrasadas na fila.
  • Aplica-se às filas configuradas com um atraso padrão e às mensagens individuais enviadas com um DelaySeconds parâmetro.

  • As mensagens atrasadas permanecem ocultas dos consumidores até que o período de atraso expire, o que pode afetar a percepção do acúmulo ou da taxa de transferência da fila.

ApproximateNumberOfMessagesNotVisible O número de mensagens de bordo que foram recebidas, mas ainda não foram excluídas ou expiradas.

Contagem

Relatado se existirem mensagens durante o voo.
  • As mensagens entram no estado de voo após serem enviadas a um consumidor por meio da ReceiveMessageAPI.

  • Essas mensagens são temporariamente ocultadas de outros consumidores durante a janela de tempo limite de visibilidade.

  • Use essa métrica para rastrear atrasos no processamento de mensagens ou consumidores presos.

ApproximateNumberOfMessagesVisible O número de mensagens atualmente disponíveis para recuperação e processamento.

Contagem

Relatado se a fila está ativa.
  • Reflete a lista de pendências de processamento atual na fila.

  • Não há limite rígido de quantas mensagens podem ser acumuladas, mas elas estão sujeitas ao período de retenção configurado pela fila.

  • Um valor consistentemente alto pode indicar consumidores subprovisionados ou lógica de processamento paralisada.

NumberOfEmptyReceives¹ O número de chamadas de ReceiveMessageAPI que não retornaram mensagens.

Contagem

Relatado durante as operações de recebimento.
  • Essa métrica pode ajudar a identificar ineficiências no comportamento da pesquisa ou em casos de consumidores subutilizados.

  • Valores altos podem ocorrer quando a fila está vazia, o consumidor usa uma sondagem curta ou as mensagens estão sendo processadas mais rápido do que são produzidas.

  • Esse não é um indicador preciso do estado da fila. Ela reflete o comportamento do lado do serviço e pode incluir novas tentativas.

NumberOfDeduplicatedSentMessages Somente para FIFO. O número de mensagens enviadas que foram desduplicadas e não adicionadas à fila.

Contagem

Relatado se MessageDeduplicationId valores ou conteúdo duplicados forem detectados.
  • O SQS desduplica mensagens com base no hashing MessageDeduplicationId ou baseado em conteúdo (se ativado).

  • Um valor alto pode indicar que um produtor está enviando repetidamente a mesma mensagem dentro da janela de desduplicação de 5 minutos.

  • Use essa métrica para solucionar problemas de lógica redundante do produtor ou confirmar se a desduplicação está funcionando conforme o esperado.

NumberOfMessagesDeleted¹

O número de mensagens excluídas com sucesso da fila.

Contagem

Relatado para cada solicitação de exclusão com um identificador de recibo válido.
  • Essa métrica conta todas as operações de exclusão bem-sucedidas, mesmo que a mesma mensagem seja excluída mais de uma vez.

  • Os motivos comuns para higher-than-expected valores incluem:

    • Várias exclusões da mesma mensagem usando identificadores de recibo diferentes, depois que o tempo limite de visibilidade expirar e a mensagem for recebida novamente.

    • Exclusões duplicadas usando o mesmo identificador de recibo, que ainda retornam um status de sucesso e incrementam a métrica.

  • Use essa métrica para monitorar o sucesso do processamento de mensagens, mas não a trate como uma contagem exata de mensagens excluídas exclusivas.

NumberOfMessagesReceived¹ O número de mensagens retornadas pela ReceiveMessageAPI.

Contagem

Relatado durante as operações de recebimento.
  • Isso inclui todas as mensagens retornadas aos consumidores, incluindo aquelas que são posteriormente retornadas à fila devido à expiração do tempo limite de visibilidade.

  • Uma única mensagem pode ser recebida várias vezes se não for excluída, o que pode fazer com que essa métrica exceda o número de mensagens enviadas.

  • Use isso para rastrear a atividade do consumidor, mas não a trate como uma contagem de mensagens exclusivas processadas.

NumberOfMessagesSent¹ O número de mensagens adicionadas com sucesso a uma fila.

Contagem

Relatado para cada envio manual bem-sucedido.
  • Chamadas manuais para SendMessage ou SendMessageBatch são contabilizadas, incluindo aquelas direcionadas diretamente a uma DLQ.

  • As mensagens que são movidas automaticamente para uma DLQ após excederem o valor não maxReceiveCount são incluídas nessa métrica.

  • Como resultado, NumberOfMessagesSent pode ser menor que NumberOfMessagesReceived —especialmente se as políticas de redirecionamento estiverem transferindo muitas mensagens para os DLQs bastidores.

SentMessageSize¹

O tamanho das mensagens enviadas com sucesso para a fila.

Bytes

Não emitido até que pelo menos uma mensagem seja enviada.
  • Essa métrica não aparecerá no CloudWatch console até que a fila receba sua primeira mensagem.

  • Use essa métrica para rastrear o tamanho de cada mensagem em bytes. Isso é útil para analisar tendências de carga útil ou estimar o custo de produção.

  • O tamanho máximo da mensagem para o SQS é de 1 MiB.

ApproximateNumberOfNoisyGroups

O número de grupos de mensagens que são considerados ruidosos em uma fila justa. Um grupo de mensagens ruidoso representa um inquilino vizinho barulhento de uma fila multilocatária.

Contagem

Um valor não negativo é relatado se a fila estiver ativa.
  • Ajuda a identificar possíveis problemas com vizinhos barulhentos em ambientes com vários locatários, rastreando grupos de mensagens que consomem recursos desproporcionais.

  • Use essa métrica para definir alarmes que são acionados quando o número de grupos ruidosos excede seu limite aceitável, indicando possíveis problemas de imparcialidade na fila.

ApproximateNumberOfMessagesVisibleInQuietGroups

O número de mensagens visíveis, excluindo mensagens de grupos de mensagens ruidosos.

Contagem

Um valor não negativo é relatado se a fila estiver ativa.
  • Fornece visibilidade do backlog de filas para grupos de mensagens de taxa padrão, excluindo mensagens de vizinhos barulhentos.

  • Ajuda a identificar o verdadeiro acúmulo de processamento para grupos de mensagens típicos ao filtrar o impacto de vizinhos barulhentos.

ApproximateNumberOfMessagesNotVisibleInQuietGroups O número de mensagens em andamento, excluindo mensagens de grupos de mensagens ruidosos.

Contagem

Um valor não negativo é relatado se a fila estiver ativa.
  • Rastreia mensagens em andamento (sendo processadas, mas ainda não excluídas) de grupos de mensagens bem comportados.

  • Use essa métrica para monitorar a taxa de processamento de grupos de mensagens normais e detectar gargalos de processamento que não sejam causados por vizinhos ruidosos.

ApproximateNumberOfMessagesDelayedInQuietGroups O número de mensagens excluindo mensagens de grupos de mensagens ruidosos que estão atrasadas e não estão disponíveis para leitura imediata. Mensagens atrasadas ocorrem quando a fila é configurada como fila de atraso ou quando uma mensagem é enviada com um parâmetro de atraso.

Contagem

Um valor não negativo é relatado se a fila estiver ativa.
  • Ajuda a monitorar o acúmulo de mensagens atrasadas de grupos de mensagens com padrões de taxa de transferência normais ou esperados (em oposição a grupos de alto volume ou ruidosos)

  • Útil para entender os requisitos futuros de processamento e o planejamento de capacidade para cargas de trabalho típicas.

ApproximateAgeOfOldestMessageInQuietGroups A idade da mensagem mais antiga não excluída na fila, excluindo mensagens de grupos de mensagens ruidosos.

Segundos

Um valor não negativo é relatado se a fila estiver ativa.
  • Usado para monitorar a conformidade do SLA e detectar gargalos de processamento em grupos de mensagens com padrões de taxa de transferência normais ou esperados (em oposição a grupos de mensagens de alto volume ou ruidosos que, de outra forma, poderiam distorcer a métrica).

  • Use essa métrica para definir alarmes para tempos limite de processamento de mensagens que ignoram mensagens artificialmente antigas de vizinhos barulhentos.

¹ 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 cartas mortas () e métricas DLQs 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 NumberOfMessagesReceived métricas NumberOfMessagesSent e podem mostrar discrepâncias para. DLQs

  • Métrica recomendada para DLQs — Para monitorar o estado de uma DLQ, use a ApproximateNumberOfMessagesVisible métrica. Essa métrica indica o número de mensagens atualmente disponíveis para processamento no DLQ.

Filas e CloudWatch métricas justas

Quando você usa filas justas, o Amazon SQS emite as seguintes métricas adicionais:

  • ApproximateNumberOfNoisyGroups

  • ApproximateNumberOfMessagesVisibleInQuietGroups

  • ApproximateNumberOfMessagesNotVisibleInQuietGroups

  • ApproximateNumberOfMessagesDelayedInQuietGroups

  • ApproximateAgeOfOldestMessageInQuietGroups

nota

Cada QuietGroup métrica é um subconjunto da Approximate métrica padrão equivalente em nível de fila, mas exclui mensagens de grupos vizinhos ruidosos.

Grupos barulhentos

Um grupo de mensagens ruidoso representa um inquilino vizinho barulhento de uma fila multilocatária.

Grupos silenciosos

Grupos de mensagens, excluindo grupos ruidosos.

Observando o comportamento das filas justas do SQS

Para monitorar o efeito das filas justas do Amazon SQS, você pode comparar Approximate..InQuietGroups métricas 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 atrasos ou a idade das mensagens mais antigas. No entanto, analisando os grupos silenciosos isoladamente, você pode identificar que a maioria dos grupos de mensagens ou inquilinos não ruidosos não são afetados e fornecer uma estimativa do número total de grupos de mensagens afetados.

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 inquilino específico está causando a carga. O Amazon CloudWatch Contributor Insights permite que você veja métricas sobre os N principais colaboradores, o número total de colaboradores exclusivos e seu uso. Isso é especialmente útil em cenários em que você está lidando com milhares de inquilinos 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, veja o exemplo em GitHub.

Dimensões para métricas do Amazon SQS

As métricas do Amazon SQS 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 e CloudWatch alarmes importantes para detectar atrasos de filas, otimizar o desempenho e permanecer dentro dos limites do serviço.

  • Defina CloudWatch alarmes com base em ApproximateNumberOfMessagesVisible para capturar o crescimento da lista de pendências.

  • Monitore NumberOfEmptyReceives para ajustar a frequência da pesquisa e reduzir o custo da API.

  • Use ApproximateNumberOfGroupsWithInflightMessages em filas FIFO para diagnosticar limites de taxa de transferência.

  • Analise as cotas do SQS para entender os limites métricos e os limites de serviço.