View a markdown version of this page

Statistiques CloudWatch disponibles pour Amazon SQS - Amazon Simple Queue Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Statistiques CloudWatch disponibles pour Amazon SQS

Amazon SQS envoie les métriques suivantes à. CloudWatch

Note

Pour certaines mesures, le résultat est approximatif en raison de l'architecture distribuée d'Amazon SQS. Dans la plupart des cas, le nombre devrait être proche du nombre réel de messages dans la file d'attente.

Métriques Amazon SQS

Amazon SQS publie automatiquement des mesures opérationnelles sur Amazon CloudWatch sous l'espace de AWS/SQS noms. Ces mesures vous aident à surveiller l'état et les performances de la file d'attente. En raison de la nature distribuée du SQS, de nombreuses valeurs sont approximatives, mais suffisamment précises pour la plupart des décisions opérationnelles.

Note
  • Toutes les métriques émettent des valeurs non négatives uniquement lorsque la file d'attente est active.

  • Certaines métriques (telles queSentMessageSize) ne sont pas émises tant qu'au moins un message n'est pas envoyé.

Métrique Description Uunités Comportement des rapports Remarques principales
ApproximateAgeOfOldestMessage L'âge du plus vieux message non traité de la file d'attente.

Secondes

Signalé si la file d'attente contient au moins un message actif.
  • Pour les files d'attente standard, si un message est reçu trois fois ou plus et n'est pas supprimé, SQS le déplace vers la fin de la file d'attente. La métrique reflète ensuite l'âge du prochain message qui n'a pas dépassé le seuil de réception. Cette réorganisation se produit même lorsqu'une politique de redrive est en place.

  • Poison-pill les messages (ceux reçus à plusieurs reprises mais jamais supprimés) sont exclus de cette métrique jusqu'à ce qu'ils soient traités avec succès.

  • Lorsqu'un message est déplacé vers une DLQ après avoir dépassé lemaxReceiveCount, l'âge est réinitialisé. Dans ce cas, la métrique du DLQ reflète l'heure à laquelle le message a été déplacé, et non la date de son envoi initial.

  • Les files d'attente FIFO ne réorganisent pas les messages pour préserver l'ordre. Un message qui a échoué bloque son groupe de messages jusqu'à sa suppression ou son expiration. Si un DLQ est configuré, le message y est envoyé une fois que le seuil de réception est atteint.

ApproximateNumberOfGroupsWithInflightMessages Pour FIFO uniquement. Le nombre de groupes de messages contenant un ou plusieurs messages en vol.

Nombre

Signalé si la file d'attente FIFO est active.
  • Un message est considéré comme étant en vol lorsqu'il a été reçu de la file d'attente par un consommateur mais qu'il n'a pas encore été supprimé ou qu'il n'a pas expiré.

  • Cette métrique vous aide à résoudre les problèmes et à optimiser le débit des files d'attente FIFO. Des valeurs élevées indiquent généralement une forte simultanéité.

  • Si la file d'attente présente un arriéré important et que cette valeur reste faible, envisagez de redimensionner le nombre de consommateurs ou d'augmenter le nombre de groupes de messages actifs.

  • Pour les limites de débit et de vol, consultezQuotas Amazon SQS.

ApproximateNumberOfMessagesDelayed

Le nombre de messages de la file d'attente qui sont retardés et qui ne peuvent pas être récupérés immédiatement.

Nombre

Signalé si des messages différés existent dans la file d'attente.
  • S'applique aux files d'attente configurées avec un délai par défaut et aux messages individuels envoyés avec un DelaySeconds paramètre.

  • Les messages différés restent cachés aux consommateurs jusqu'à l'expiration de leur délai, ce qui peut affecter la perception de l'arriéré ou du débit dans les files d'attente.

ApproximateNumberOfMessagesNotVisible Le nombre de messages en vol qui ont été reçus mais qui n'ont pas encore été supprimés ou qui ont expiré.

Nombre

Signalé si des messages existent en vol.
  • Les messages passent à l'état de vol après avoir été envoyés à un consommateur via l'ReceiveMessageAPI.

  • Ces messages sont temporairement masqués aux autres consommateurs pendant le délai de visibilité.

  • Utilisez cette métrique pour suivre les retards de traitement des messages ou les clients bloqués.

  • En de rares occasions, l'un des serveurs qu'Amazon SQS utilise pour stocker vos messages peut ne pas être disponible lorsqu'Amazon SQS publie des statistiques de file d'attente. Dans ce cas, cette métrique peut indiquer une valeur différente de zéro, y compris lorsque la file d'attente est vide ou n'a reçu aucun ReceiveMessage appel. Elle se résout généralement en quelques minutes. Par conséquent, si vous définissez une alarme pour cette métrique, évaluez plusieurs points de données consécutifs plutôt qu'une seule valeur différente de zéro.

ApproximateNumberOfMessagesVisible Le nombre de messages actuellement disponibles pour la récupération et le traitement.

Nombre

Signalé si la file d'attente est active.
  • Reflète le retard de traitement actuel dans la file d'attente.

  • Il n'y a pas de limite stricte au nombre de messages pouvant être accumulés, mais ceux-ci sont soumis à la période de rétention configurée par la file d'attente.

  • Une valeur constamment élevée peut indiquer des consommateurs sous-approvisionnés ou une logique de traitement bloquée.

NumberOfEmptyReceives¹ Le nombre d'appels d'ReceiveMessageAPI qui n'ont renvoyé aucun message.

Nombre

Signalé lors des opérations de réception.
  • Cette métrique peut aider à identifier les inefficacités dans le comportement des sondages ou les instances de consommation sous-utilisées.

  • Des valeurs élevées peuvent apparaître lorsque la file d'attente est vide, que le consommateur utilise une courte interrogation ou que les messages sont traités plus rapidement qu'ils ne sont produits.

  • Il ne s'agit pas d'un indicateur précis de l'état de la file d'attente. Il reflète le comportement côté service et peut inclure de nouvelles tentatives.

NumberOfDeduplicatedSentMessages Pour FIFO uniquement. Le nombre de messages envoyés qui ont été dédupliqués et qui n'ont pas été ajoutés à la file d'attente.

Nombre

Signalé si MessageDeduplicationId des valeurs ou du contenu dupliqués sont détectés.
  • SQS déduplique les messages en fonction du hachage basé sur le contenu MessageDeduplicationId ou le hachage basé sur le contenu (s'il est activé).

  • Une valeur élevée peut indiquer qu'un producteur envoie à plusieurs reprises le même message pendant la période de déduplication de 5 minutes.

  • Utilisez cette métrique pour résoudre les problèmes liés à la logique redondante du producteur ou pour confirmer que la déduplication fonctionne comme prévu.

NumberOfMessagesDeleted¹

Le nombre de messages supprimés de la file d'attente avec succès.

Nombre

Signalé pour chaque demande de suppression avec un identifiant de réception valide.
  • Cette métrique compte toutes les opérations de suppression réussies, même si le même message est supprimé plusieurs fois.

  • Les raisons courantes expliquant les valeurs plus élevées que prévu sont les suivantes :

    • Suppressions multiples du même message à l'aide de différents descripteurs de réception, une fois le délai de visibilité expiré et le message reçu à nouveau.

    • Suppressions de doublons à l'aide du même identifiant de réception, qui renvoient toujours un statut de réussite et incrémentent la métrique.

  • Utilisez cette métrique pour suivre le succès du traitement des messages, mais ne la considérez pas comme un nombre exact de messages supprimés uniques.

NumberOfMessagesReceived¹ Le nombre de messages renvoyés par l'ReceiveMessageAPI.

Nombre

Signalé lors des opérations de réception.
  • Cela inclut tous les messages renvoyés aux consommateurs, y compris ceux qui sont ensuite renvoyés dans la file d'attente en raison de l'expiration du délai de visibilité.

  • Un même message peut être reçu plusieurs fois s'il n'est pas supprimé, ce qui peut entraîner un dépassement du nombre de messages envoyés.

  • Utilisez-le pour suivre l'activité des consommateurs, mais ne le considérez pas comme un nombre de messages uniques traités.

NumberOfMessagesSent¹ Le nombre de messages ajoutés avec succès à une file d'attente.

Nombre

Signalé pour chaque envoi manuel réussi.
  • Les appels manuels à destination SendMessage ou en cours de traitement SendMessageBatch sont comptabilisés, y compris ceux qui ciblent directement un DLQ.

  • Les messages qui sont automatiquement déplacés vers une DLQ après avoir dépassé le ne maxReceiveCount sont pas inclus dans cette métrique.

  • Par conséquent, il NumberOfMessagesSent peut être inférieur à, NumberOfMessagesReceived surtout si les politiques de reconduite transfèrent de nombreux messages vers des DLQ en arrière-plan.

SentMessageSize¹

Taille des messages envoyés avec succès à la file d'attente.

Octets

Non émis tant qu'au moins un message n'est pas envoyé.
  • Cette métrique n'apparaîtra pas dans la CloudWatch console tant que la file d'attente n'aura pas reçu son premier message.

  • Utilisez cette métrique pour suivre la taille de chaque message en octets. Cela est utile pour analyser les tendances de la charge utile ou estimer le coût du débit.

  • La taille maximale des messages pour SQS est de 1 Mo.

ApproximateNumberOfNoisyGroups

Le nombre de groupes de messages considérés comme bruyants dans une file d'attente équitable. Un groupe de messages bruyants représente un locataire voisin bruyant d'une file d'attente multi-locataires.

Nombre

Une valeur non négative est signalée si la file d'attente est active.
  • Permet d'identifier les problèmes potentiels de voisinage bruyant dans les environnements à locataires multiples en suivant les groupes de messages consommant des ressources disproportionnées.

  • Utilisez cette métrique pour définir des alarmes qui se déclenchent lorsque le nombre de groupes bruyants dépasse votre seuil acceptable, indiquant ainsi des problèmes potentiels d'équité de la file d'attente.

ApproximateNumberOfMessagesVisibleInQuietGroups

Le nombre de messages visibles, à l'exception des messages provenant de groupes de messages bruyants.

Nombre

Une valeur non négative est signalée si la file d'attente est active.
  • Fournit une visibilité sur le backlog des files d'attente pour les groupes de messages à débit standard, à l'exclusion des messages provenant de voisins bruyants.

  • Permet d'identifier le véritable retard de traitement pour les groupes de messages types en filtrant l'impact des voisins bruyants.

ApproximateNumberOfMessagesNotVisibleInQuietGroups Le nombre de messages en vol, à l'exclusion des messages provenant de groupes de messages bruyants.

Nombre

Une valeur non négative est signalée si la file d'attente est active.
  • Suit les messages en vol (en cours de traitement mais pas encore supprimés) provenant de groupes de messages qui se comportent bien.

  • Utilisez cette métrique pour surveiller le débit de traitement des groupes de messages normaux et détecter les goulots d'étranglement de traitement qui ne sont pas causés par des voisins bruyants.

ApproximateNumberOfMessagesDelayedInQuietGroups Le nombre de messages, à l'exception des messages provenant de groupes de messages bruyants, qui sont retardés et ne peuvent pas être lus immédiatement. Les messages différés apparaissent lorsque la file d'attente est configurée comme file d'attente ou lorsqu'un message a été envoyé avec un paramètre de retard.

Nombre

Une valeur non négative est signalée si la file d'attente est active.
  • Permet de surveiller l'arriéré de messages différés provenant de groupes de messages présentant des modèles de débit normaux ou attendus (par opposition aux groupes à volume élevé ou bruyants)

  • Utile pour comprendre les besoins de traitement futurs et planifier les capacités pour les charges de travail typiques.

ApproximateAgeOfOldestMessageInQuietGroups L'âge du plus vieux message non supprimé de la file d'attente, à l'exception des messages provenant de groupes de messages bruyants.

Secondes

Une valeur non négative est signalée si la file d'attente est active.
  • Utilisé pour surveiller la conformité aux SLA et détecter les goulots d'étranglement de traitement dans les groupes de messages présentant des modèles de débit normaux ou attendus (par opposition aux groupes de messages à volume élevé ou bruyants qui pourraient autrement fausser la métrique).

  • Utilisez cette métrique pour définir des alarmes pour les délais de traitement des messages qui ignorent les messages vieillis artificiellement provenant de voisins bruyants.

¹ Ces mesures reflètent l'activité au niveau du système et peuvent inclure des nouvelles tentatives, des doublons ou des messages différés. N'utilisez pas les chiffres bruts pour estimer l'état de la file d'attente en temps réel sans prendre en compte le comportement du cycle de vie des messages.

Dead-letter files d'attente (DLQ) et métriques CloudWatch

Lorsque vous travaillez avec des DLQ, il est important de comprendre le comportement des métriques Amazon SQS :

  • NumberOfMessagesSent— Cette métrique se comporte différemment pour les DLQ :

    • Envoi manuel — Les messages envoyés manuellement à un DLQ sont capturés par cette métrique.

    • Redrive automatique  : les messages déplacés automatiquement vers un DLQ en raison d'échecs de traitement ne sont pas capturés par cette métrique. Par conséquent, les NumberOfMessagesReceived mesures NumberOfMessagesSent et peuvent présenter des divergences pour les DLQ.

  • Mesure recommandée pour les DLQ — Pour surveiller l'état d'une DLQ, utilisez la ApproximateNumberOfMessagesVisible métrique. Cette métrique indique le nombre de messages actuellement disponibles pour traitement dans le DLQ.

Des files d'attente et des CloudWatch indicateurs équitables

Lorsque vous utilisez des files d'attente équitables, Amazon SQS émet les mesures supplémentaires suivantes :

  • ApproximateNumberOfNoisyGroups

  • ApproximateNumberOfMessagesVisibleInQuietGroups

  • ApproximateNumberOfMessagesNotVisibleInQuietGroups

  • ApproximateNumberOfMessagesDelayedInQuietGroups

  • ApproximateAgeOfOldestMessageInQuietGroups

Note

Chaque QuietGroup métrique est un sous-ensemble de la Approximate métrique standard équivalente au niveau de la file d'attente, mais exclut les messages provenant de groupes voisins bruyants.

Groupes bruyants

Un groupe de messages bruyants représente un locataire voisin bruyant d'une file d'attente multi-locataires.

Groupes calmes

Groupes de messages, à l'exception des groupes bruyants.

Observation du comportement des files d'attente équitables de SQS

Pour surveiller l'effet des files d'attente équitables d'Amazon SQS, vous pouvez comparer les Approximate..InQuietGroups mesures avec les mesures standard au niveau des files d'attente. Lors de pics de trafic pour un locataire spécifique, les mesures générales au niveau de la file d'attente peuvent révéler une augmentation des arriérés ou des âges de messages plus anciens. Cependant, en examinant les groupes silencieux isolément, vous pouvez identifier que la plupart des groupes de messages ou des locataires non bruyants ne sont pas concernés et fournir une estimation du nombre total de groupes de messages concernés.

Bien que ces nouvelles mesures fournissent une bonne vue d'ensemble du comportement des files d'attente équitables d'Amazon SQS, il peut être utile de comprendre quel locataire spécifique est à l'origine de la charge. Amazon CloudWatch Contributor Insights vous permet de consulter des statistiques concernant les principaux contributeurs, le nombre total de contributeurs uniques et leur utilisation. Cela est particulièrement utile dans les scénarios où vous avez affaire à des milliers de locataires qui, autrement, entraîneraient des données de cardinalité (et des coûts) élevés lors de l'émission de métriques traditionnelles.

Pour un exemple de configuration de surveillance pour des files d'attente équitables, consultez l'exemple sur GitHub.

Dimensions pour les métriques Amazon SQS

Les métriques Amazon SQS CloudWatch utilisent une seule dimension : QueueName. Toutes les données métriques sont regroupées et filtrées en fonction du nom de la file d'attente.

Conseils de surveillance

Surveillez SQS efficacement à l'aide de mesures et d' CloudWatch alarmes clés pour détecter les retards dans les files d'attente, optimiser les performances et respecter les limites de service.

  • Définissez CloudWatch des alarmes en fonction ApproximateNumberOfMessagesVisible de la croissance de l'arriéré.

  • Surveillez NumberOfEmptyReceives pour ajuster la fréquence des sondages et réduire le coût de l'API.

  • ApproximateNumberOfGroupsWithInflightMessagesÀ utiliser dans les files d'attente FIFO pour diagnostiquer les limites de débit.

  • Passez en revue les quotas SQS pour comprendre les seuils métriques et les limites de service.