View a markdown version of this page

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 alcune metriche, 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 le metriche operative su Amazon sotto il namespace. CloudWatch 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.

Metrica Description unità Comportamento dei report Note chiave
ApproximateAgeOfOldestMessage L'età del messaggio non elaborato più vecchio della 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.

  • Poison-pill i messaggi (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 limitemaxReceiveCount, l'età viene ripristinata. 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 finché non viene eliminato o scade. Se è configurato un DLQ, il messaggio viene inviato lì dopo aver raggiunto la soglia di ricezione.

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

Conteggio

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

  • Questa metrica consente di risolvere i problemi e ottimizzare il throughput delle code FIFO. Valori elevati di solito indicano una forte concorrenza.

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

  • Per la velocità effettiva e i 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 posticipati rimangono nascosti ai consumatori fino alla scadenza del periodo di ritardo, il che può influire sulla percezione del backlog o della velocità effettiva percepiti.

ApproximateNumberOfMessagesNotVisible Il numero di messaggi in volo 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 vengono temporaneamente nascosti agli altri consumatori durante il periodo di timeout della visibilità.

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

  • In rare occasioni, uno dei server utilizzati da Amazon SQS per archiviare i messaggi potrebbe non essere disponibile quando Amazon SQS riporta le metriche delle code. In questo caso, questa metrica potrebbe riportare un valore diverso da zero, anche quando la coda è vuota o non ha ricevuto chiamate. ReceiveMessage In genere si risolve in pochi minuti, quindi se imposti un allarme per questa metrica, valuta più punti dati consecutivi anziché un singolo valore diverso da zero.

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

Conteggio

Segnalato se la coda è attiva.
  • Riflette l'attuale arretrato di elaborazione nella coda.

  • Non esiste un limite fisso al numero di messaggi che possono essere accumulati, ma sono soggetti al periodo di conservazione configurato dalla coda. Architettura Amazon SQS di base

  • Un valore costantemente elevato può indicare che i consumatori non dispongono di risorse sufficienti o che la logica di elaborazione è bloccata.

NumberOfEmptyReceives¹ Il numero di chiamate ReceiveMessage API che non hanno restituito alcun messaggio.

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 un polling breve o i messaggi vengono elaborati più rapidamente di quanto vengono prodotti.

  • Questo non è un indicatore preciso dello stato della coda. Riflette il comportamento dal 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 MessageDeduplicationId o al 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 relativi alla logica ridondante del produttore o verificare 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 numero di ricevuta 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 per cui i valori sono più alti del previsto includono:

    • Eliminazioni multiple dello stesso messaggio utilizzando diversi gestori di ricezione, allo scadere del timeout di visibilità e al successivo ricevimento del messaggio.

    • Le eliminazioni duplicate utilizzano lo stesso handle di ricevute, che restituiscono comunque uno stato di successo e incrementano la metrica.

  • Usa questa metrica per tenere traccia del successo dell'elaborazione dei messaggi, ma non considerarla come un conteggio esatto dei messaggi eliminati univoci.

NumberOfMessagesReceived¹ Il numero di messaggi restituiti dall'ReceiveMessageAPI.

Conteggio

Segnalato durante le operazioni di ricezione.
  • Sono inclusi tutti i messaggi restituiti ai consumatori, compresi quelli che vengono successivamente restituiti alla 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.

  • Usalo per monitorare l'attività dei consumatori, ma non considerarlo come un conteggio dei messaggi univoci elaborati.

NumberOfMessagesSent¹ Il numero di messaggi aggiunti correttamente a una coda.

Conteggio

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

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

  • Di conseguenza, NumberOfMessagesSent può essere inferiore a, NumberOfMessagesReceived soprattutto se le politiche di redrive trasferiscono molti messaggi ai DLQ dietro le quinte.

SentMessageSize¹

La dimensione dei messaggi inviati correttamente 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.

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

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

ApproximateNumberOfNoisyGroups

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

Conteggio

Se la coda è attiva, viene riportato un valore non negativo. Monitoraggio delle code di Amazon SQS utilizzando CloudWatch
  • Consente di identificare potenziali problemi relativi ai rumorosi vicini in ambienti multi-tenant tracciando i gruppi di messaggi che consumano risorse sproporzionate.

  • Usa 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 frequenza standard, esclusi i messaggi provenienti da vicini rumorosi.

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

ApproximateNumberOfMessagesNotVisibleInQuietGroups Il numero di messaggi in arrivo, 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 correttamente.

  • Usa questa metrica per monitorare la velocità di elaborazione dei normali gruppi di messaggi e rilevare i colli di bottiglia nell'elaborazione non causati dai rumori dei vicini.

ApproximateNumberOfMessagesDelayedInQuietGroups Il numero di messaggi, esclusi i messaggi provenienti da gruppi di messaggi rumorosi che sono ritardati e non 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.
  • Consente di monitorare l'arretrato di messaggi ritardato proveniente da gruppi di messaggi con modelli di throughput normali o previsti (al contrario 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 in 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 colli di bottiglia nell'elaborazione nei gruppi di messaggi con modelli di throughput normali o previsti (al contrario dei gruppi di messaggi ad alto volume o rumorosi che altrimenti potrebbero distorcere la metrica).

  • Usa 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 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.

Dead-letter code (DLQ) e metriche CloudWatch

Quando si lavora con i DLQ, è importante capire come si comportano le metriche di Amazon SQS:

  • NumberOfMessagesSent— Questa metrica si comporta diversamente per i DLQ:

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

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

  • Metrica consigliata per i DLQ: 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 corrette CloudWatch

Quando utilizzi code corrette, Amazon SQS emette le seguenti metriche aggiuntive:

  • ApproximateNumberOfNoisyGroups

  • ApproximateNumberOfMessagesVisibleInQuietGroups

  • ApproximateNumberOfMessagesNotVisibleInQuietGroups

  • ApproximateNumberOfMessagesDelayedInQuietGroups

  • ApproximateAgeOfOldestMessageInQuietGroups

Nota

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

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 corretto delle code di SQS

Per monitorare l'effetto delle code eque di Amazon SQS, puoi confrontare le Approximate..InQuietGroups metriche con le metriche standard a livello di coda. Durante i picchi di traffico per un tenant specifico, le metriche generali a livello di coda possono rivelare un aumento degli arretrati o una vecchia età dei messaggi. Tuttavia, esaminando i gruppi silenziosi singolarmente, è possibile identificare che la maggior parte dei gruppi di messaggi o tenant non rumorosi non sono interessati 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 migliori n contributori, al numero totale di collaboratori unici e al loro utilizzo. Ciò è particolarmente utile negli scenari in cui hai a che fare con migliaia di tenant che altrimenti genererebbero dati (e costi) ad alta cardinalità quando si emettono metriche tradizionali.

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

Dimensioni per le metriche Amazon SQS

Metriche Amazon SQS utilizzate in CloudWatch una singola dimensione:. QueueName Tutti i dati delle metriche 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 rimanere entro i limiti di servizio.

  • Imposta gli CloudWatch allarmi in base alla crescita degli arretrati. ApproximateNumberOfMessagesVisible

  • Monitora NumberOfEmptyReceives per regolare 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 di servizio.