CloudWatch Metriche disponibili per Amazon SQS - Amazon Simple Queue Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CloudWatch Metriche disponibili per Amazon SQS

Amazon SQS invia le seguenti metriche a. CloudWatch

Nota

Per alcuni parametri, il risultato è approssimativo a causa dell'architettura distribuita di Amazon SQS. Nella maggior parte dei casi, il conteggio deve essere vicino al numero effettivo di messaggi in coda.

Metriche Amazon SQS

Amazon SQS pubblica automaticamente i parametri operativi su CloudWatch Amazon nello spazio dei nomi. AWS/SQS Queste metriche ti aiutano a monitorare lo stato e le prestazioni delle code. Data la natura distribuita di SQS, molti valori sono approssimativi, ma sufficientemente accurati per la maggior parte delle decisioni operative.

Nota
  • Tutte le metriche emettono valori non negativi solo quando la coda è attiva.

  • Alcune metriche (ad esempioSentMessageSize) non vengono emesse finché non viene inviato almeno un messaggio.

Parametro Descrizione unità Comportamento dei report Note chiave
ApproximateAgeOfOldestMessage L'età del messaggio non elaborato più vecchio presente nella coda.

Secondi

Segnalato se la coda contiene almeno un messaggio attivo.
  • Per le code standard, se un messaggio viene ricevuto tre o più volte e non viene eliminato, SQS lo sposta in fondo alla coda. La metrica riflette quindi l'età del messaggio successivo che non ha superato la soglia di ricezione. Questo riordino si verifica anche quando è in vigore una politica di redrive.

  • I messaggi Poison-pill (quelli ricevuti ripetutamente ma mai eliminati) vengono esclusi da questa metrica fino a quando non vengono elaborati correttamente.

  • Quando un messaggio viene spostato in un DLQ dopo aver superato il, la data di scadenza viene ripristinata. maxReceiveCount In tal caso, la metrica del DLQ riflette l'ora in cui il messaggio è stato spostato, non quando è stato originariamente inviato.

  • Le code FIFO non riordinano i messaggi per mantenere l'ordine. Un messaggio non riuscito blocca il relativo gruppo di messaggi fino alla sua eliminazione o alla scadenza. Se è configurato un DLQ, il messaggio viene inviato lì dopo il raggiungimento della soglia di ricezione.

ApproximateNumberOfGroupsWithInflightMessages Solo per FIFO. Il numero di gruppi di messaggi con uno o più messaggi in corso.

Conteggio

Segnalato se la coda FIFO è attiva.
  • Un messaggio viene considerato in transito dopo che è stato ricevuto dalla coda da un consumatore ma non è ancora stato eliminato o è scaduto.

  • Questa metrica consente di risolvere i problemi e ottimizzare la velocità effettiva delle code FIFO. I valori elevati di solito indicano una forte concorrenza.

  • Se la coda presenta un notevole arretrato e questo valore rimane basso, valuta la possibilità di ridimensionare i consumatori o aumentare il numero di gruppi di messaggi attivi.

  • Per informazioni sulla velocità effettiva e sui limiti in volo, consulta. Quote di Amazon SQS

ApproximateNumberOfMessagesDelayed

Il numero di messaggi in coda che sono in ritardo e non sono immediatamente disponibili per il recupero.

Conteggio

Segnalato se nella coda sono presenti messaggi in ritardo.
  • Si applica alle code configurate con un ritardo predefinito e ai singoli messaggi inviati con un parametro. DelaySeconds

  • I messaggi ritardati rimangono nascosti ai consumatori fino alla scadenza del periodo di ritardo, il che può influire sulla percezione dell'arretrato o del throughput delle code.

ApproximateNumberOfMessagesNotVisible Il numero di messaggi in volo che sono stati ricevuti ma non ancora eliminati o scaduti.

Conteggio

Segnalato se esistono messaggi in volo.
  • I messaggi entrano nello stato in corso dopo essere stati inviati a un consumatore tramite l'ReceiveMessageAPI.

  • Questi messaggi sono temporaneamente nascosti agli altri consumatori durante la finestra di timeout di visibilità.

  • Utilizza questa metrica per tenere traccia dei ritardi nell'elaborazione dei messaggi o dei consumatori bloccati.

ApproximateNumberOfMessagesVisible Il numero di messaggi attualmente disponibili per il recupero e l'elaborazione.

Conteggio

Segnalato se la coda è attiva.
NumberOfEmptyReceives¹ Il numero di chiamate ReceiveMessageAPI che non hanno restituito messaggi.

Conteggio

Segnalato durante le operazioni di ricezione.
  • Questa metrica può aiutare a identificare le inefficienze nel comportamento dei sondaggi o i casi di consumo sottoutilizzati.

  • Possono verificarsi valori elevati quando la coda è vuota, il consumatore utilizza sondaggi brevi o i messaggi vengono elaborati più velocemente di quanto vengano prodotti.

  • Questo non è un indicatore preciso dello stato della coda. Riflette il comportamento sul lato del servizio e può includere nuovi tentativi.

NumberOfDeduplicatedSentMessages Solo per FIFO. Il numero di messaggi inviati che sono stati deduplicati e non aggiunti alla coda.

Conteggio

Segnalato se vengono rilevati MessageDeduplicationId valori o contenuti duplicati.
  • SQS deduplica i messaggi in base all'hashing basato sul MessageDeduplicationId contenuto (se abilitato).

  • Un valore elevato può indicare che un produttore invia ripetutamente lo stesso messaggio entro la finestra di deduplicazione di 5 minuti.

  • Utilizzate questa metrica per risolvere i problemi della logica ridondante del produttore o per confermare che la deduplicazione funzioni come previsto.

NumberOfMessagesDeleted¹

Il numero di messaggi eliminati con successo dalla coda.

Conteggio

Segnalato per ogni richiesta di eliminazione con un handle di ricezione valido.
  • Questa metrica conta tutte le operazioni di eliminazione riuscite, anche se lo stesso messaggio viene eliminato più di una volta.

  • I motivi più comuni alla base dei valori includono: higher-than-expected

    • Eliminazioni multiple dello stesso messaggio utilizzando diversi handle di ricezione, dopo la scadenza del timeout di visibilità e la ricezione del messaggio.

    • Eliminazioni duplicate utilizzando lo stesso handle di ricezione, che restituiscono comunque lo stato di successo e incrementano la metrica.

  • Utilizzate questa metrica per tenere traccia del successo dell'elaborazione dei messaggi, ma non trattatela come un conteggio esatto dei messaggi unici eliminati.

NumberOfMessagesReceived¹ Il numero di messaggi restituiti dall'ReceiveMessageAPI.

Conteggio

Segnalato durante le operazioni di ricezione.
  • Ciò include tutti i messaggi restituiti ai consumatori, compresi quelli che vengono successivamente rimessi in coda a causa della scadenza del timeout di visibilità.

  • Un singolo messaggio può essere ricevuto più volte se non viene eliminato, il che può far sì che questa metrica superi il numero di messaggi inviati.

  • Utilizzala per tracciare l'attività dei consumatori, ma non considerarla come un numero di messaggi unici elaborati.

NumberOfMessagesSent¹ Il numero di messaggi aggiunti con successo a una coda.

Conteggio

Segnalato per ogni invio manuale riuscito.
  • SendMessageBatchVengono conteggiate le chiamate manuali verso SendMessage o verso un DLQ, incluse quelle dirette a un DLQ.

  • I messaggi che vengono spostati automaticamente in un DLQ dopo aver superato il limite non maxReceiveCount sono inclusi in questa metrica.

  • Di conseguenza, NumberOfMessagesSent potrebbe essere inferiore a, NumberOfMessagesReceived specialmente se le politiche di redrive spostano molti messaggi in background. DLQs

SentMessageSize¹

La dimensione dei messaggi inviati con successo alla coda.

Byte

Non viene emesso finché non viene inviato almeno un messaggio.
  • Questa metrica non verrà visualizzata nella CloudWatch console finché la coda non riceverà il primo messaggio.

  • Utilizza questa metrica per tenere traccia della dimensione di ogni messaggio in byte. Ciò è utile per analizzare le tendenze del payload o stimare i costi di throughput.

  • La dimensione massima dei messaggi per SQS è di 1 MiB.

ApproximateNumberOfNoisyGroups

Il numero di gruppi di messaggi considerati rumorosi in una coda equa. Un gruppo di messaggi rumoroso rappresenta un inquilino vicino rumoroso di una coda multi-tenant.

Conteggio

Se la coda è attiva, viene riportato un valore non negativo.
  • Aiuta a identificare potenziali problemi legati alla rumorosità dei vicini in ambienti multi-tenant tracciando i gruppi di messaggi che consumano risorse sproporzionate.

  • Utilizzate questa metrica per impostare allarmi che si attivano quando il numero di gruppi rumorosi supera la soglia accettabile, indicando potenziali problemi di equità delle code.

ApproximateNumberOfMessagesVisibleInQuietGroups

Il numero di messaggi visibili esclusi i messaggi provenienti da gruppi di messaggi rumorosi.

Conteggio

Se la coda è attiva, viene riportato un valore non negativo.
  • Fornisce visibilità sul backlog della coda per i gruppi di messaggi con tariffa standard, esclusi i messaggi provenienti da vicini rumorosi.

  • Aiuta a identificare il vero backlog di elaborazione per i gruppi di messaggi tipici filtrando l'impatto dei vicini rumorosi.

ApproximateNumberOfMessagesNotVisibleInQuietGroups Il numero di messaggi in transito, esclusi i messaggi provenienti da gruppi di messaggi rumorosi.

Conteggio

Se la coda è attiva, viene riportato un valore non negativo.
  • Tiene traccia dei messaggi in corso (in fase di elaborazione ma non ancora eliminati) provenienti da gruppi di messaggi che si comportano bene.

  • Utilizza questa metrica per monitorare la velocità di elaborazione dei normali gruppi di messaggi e rilevare rallentamenti nell'elaborazione che non sono causati da vicini rumorosi.

ApproximateNumberOfMessagesDelayedInQuietGroups Il numero di messaggi, esclusi i messaggi provenienti da gruppi di messaggi rumorosi, che vengono ritardati e non sono disponibili per la lettura immediata. I messaggi ritardati si verificano quando la coda è configurata come coda di ritardo o quando un messaggio è stato inviato con un parametro di ritardo.

Conteggio

Se la coda è attiva, viene riportato un valore non negativo.
  • Aiuta a monitorare l'arretrato dei messaggi in ritardo provenienti da gruppi di messaggi con schemi di throughput normali o previsti (a differenza dei gruppi ad alto volume o rumorosi)

  • Utile per comprendere i requisiti di elaborazione futuri e la pianificazione della capacità per i carichi di lavoro tipici.

ApproximateAgeOfOldestMessageInQuietGroups L'età del messaggio non eliminato più vecchio nella coda, esclusi i messaggi provenienti da gruppi di messaggi rumorosi.

Secondi

Se la coda è attiva, viene riportato un valore non negativo.
  • Utilizzato per monitorare la conformità agli SLA e rilevare i rallentamenti nell'elaborazione in gruppi di messaggi con modelli di throughput normali o previsti (al contrario dei gruppi di messaggi ad alto volume o rumorosi che altrimenti potrebbero alterare la metrica).

  • Utilizzate questa metrica per impostare allarmi per i timeout di elaborazione dei messaggi che ignorano i messaggi invecchiati artificialmente provenienti da vicini rumorosi.

¹ Queste metriche riflettono l'attività a livello di sistema e possono includere nuovi tentativi, duplicati o messaggi ritardati. Non utilizzare conteggi non elaborati per stimare lo stato della coda in tempo reale senza tenere conto del comportamento del ciclo di vita dei messaggi.

Code e metriche contenenti lettere non scritte () DLQs CloudWatch

Quando si lavora con DLQs, è importante capire come si comportano i parametri di Amazon SQS:

  • NumberOfMessagesSent— Questa metrica si comporta in modo diverso per: DLQs

    • Invio manuale: i messaggi inviati manualmente a un DLQ vengono acquisiti da questa metrica.

    • Reindirizzamento automatico: i messaggi spostati automaticamente su un DLQ a causa di errori di elaborazione non vengono acquisiti da questa metrica. Di conseguenza, le NumberOfMessagesReceived metriche NumberOfMessagesSent e potrebbero mostrare discrepanze per. DLQs

  • Metrica consigliata per DLQs: per monitorare lo stato di un DLQ, utilizza la metrica. ApproximateNumberOfMessagesVisible Questa metrica indica il numero di messaggi attualmente disponibili per l'elaborazione nel DLQ.

Code e metriche eque CloudWatch

Quando utilizzi code corrette, Amazon SQS emette i seguenti parametri aggiuntivi:

  • ApproximateNumberOfNoisyGroups

  • ApproximateNumberOfMessagesVisibleInQuietGroups

  • ApproximateNumberOfMessagesNotVisibleInQuietGroups

  • ApproximateNumberOfMessagesDelayedInQuietGroups

  • ApproximateAgeOfOldestMessageInQuietGroups

Nota

Ogni QuietGroup metrica è un sottoinsieme della Approximate metrica standard equivalente a livello di coda, ma esclude i messaggi provenienti da gruppi di vicini rumorosi.

Gruppi rumorosi

Un gruppo di messaggi rumoroso rappresenta un inquilino vicino rumoroso di una coda multi-tenant.

Gruppi silenziosi

Gruppi di messaggi esclusi i gruppi rumorosi.

Osservazione del comportamento delle code corrette di SQS

Per monitorare l'effetto delle code eque di Amazon SQS, puoi confrontare i Approximate..InQuietGroups parametri con i parametri standard a livello di coda. Durante i picchi di traffico per uno specifico tenant, le metriche generali a livello di coda possono rivelare un aumento degli arretrati o una vecchiaia dei messaggi più vecchia. Tuttavia, esaminando isolatamente i gruppi silenziosi, è possibile identificare che la maggior parte dei gruppi di messaggi o degli inquilini non rumorosi non ne risente e fornire una stima del numero totale di gruppi di messaggi interessati.

Sebbene queste nuove metriche forniscano una buona panoramica del comportamento delle code corrette di Amazon SQS, può essere utile capire quale tenant specifico sta causando il carico. Amazon CloudWatch Contributor Insights ti consente di visualizzare le metriche relative ai contributori principali, al numero totale di contributori unici e al loro utilizzo. Ciò è particolarmente utile negli scenari in cui si ha a che fare con migliaia di inquilini che altrimenti porterebbero a dati (e costi) ad alta cardinalità quando si emettono metriche tradizionali.

Per un esempio di configurazione del monitoraggio per le code eque, consultate l'esempio su. GitHub

Dimensioni per le metriche Amazon SQS

Le metriche di Amazon SQS CloudWatch utilizzano un'unica dimensione:. QueueName Tutti i dati metrici vengono raggruppati e filtrati in base al nome della coda.

Suggerimenti per il monitoraggio

Monitora SQS in modo efficace utilizzando metriche e CloudWatch allarmi chiave per rilevare gli arretrati nelle code, ottimizzare le prestazioni e rispettare i limiti del servizio.

  • Imposta CloudWatch allarmi in base ApproximateNumberOfMessagesVisible a catch backlog growth.

  • Monitora NumberOfEmptyReceives per ottimizzare la frequenza dei sondaggi e ridurre i costi delle API.

  • Utilizzalo ApproximateNumberOfGroupsWithInflightMessages nelle code FIFO per diagnosticare i limiti di throughput.

  • Rivedi le quote SQS per comprendere le soglie metriche e i limiti del servizio.