View a markdown version of this page

Verfügbare CloudWatch Metriken für Amazon SQS - Amazon Simple Queue Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verfügbare CloudWatch Metriken für Amazon SQS

Amazon SQS sendet die folgenden Metriken an CloudWatch.

Anmerkung

Bei einigen Metriken handelt es sich aufgrund der verteilten Architektur von Amazon SQS um ein ungefähres Ergebnis. In den meisten Fällen sollte die Anzahl nahe an der tatsächlichen Anzahl von Nachrichten in der Warteschlange liegen.

Amazon-SQS-Metriken

Amazon SQS veröffentlicht automatisch Betriebsmetriken für Amazon CloudWatch unter dem AWS/SQS Namespace. Diese Metriken helfen Ihnen bei der Überwachung des Zustands und der Leistung der Warteschlange. Aufgrund des verteilten Charakters von SQS sind viele Werte Näherungswerte, aber genau genug für die meisten betrieblichen Entscheidungen.

Anmerkung
  • Alle Metriken geben nur dann nicht negative Werte aus, wenn die Warteschlange aktiv ist.

  • Einige Metriken (z. B.SentMessageSize) werden erst ausgegeben, wenn mindestens eine Nachricht gesendet wurde.

Metrik Description Einheiten Verhalten melden Wichtige Hinweise
ApproximateAgeOfOldestMessage Das Alter der ältesten unverarbeiteten Nachricht in der Warteschlange.

Sekunden

Wird gemeldet, wenn die Warteschlange mindestens eine aktive Nachricht enthält.
  • Wenn bei Standardwarteschlangen eine Nachricht dreimal oder öfter empfangen und nicht gelöscht wird, verschiebt SQS sie an das Ende der Warteschlange. Die Metrik gibt dann das Alter der nächsten Nachricht an, die den Empfangsschwellenwert nicht überschritten hat. Diese Neuordnung erfolgt auch dann, wenn eine Redrive-Richtlinie in Kraft ist.

  • Poison-pill Nachrichten (Nachrichten, die wiederholt empfangen, aber nie gelöscht wurden) werden von dieser Metrik ausgeschlossen, bis sie erfolgreich verarbeitet wurden.

  • Wenn eine Nachricht nach Überschreitung des Grenzwerts in einen DLQ verschoben wirdmaxReceiveCount, wird das Alter zurückgesetzt. In diesem Fall gibt die DLQ-Metrik den Zeitpunkt an, zu dem die Nachricht verschoben wurde — nicht den Zeitpunkt, zu dem sie ursprünglich gesendet wurde.

  • FIFO-Warteschlangen ordnen Nachrichten nicht neu an, um die Reihenfolge beizubehalten. Eine fehlgeschlagene Nachricht blockiert ihre Nachrichtengruppe, bis sie gelöscht wird oder abläuft. Wenn ein DLQ konfiguriert ist, wird die Nachricht dorthin gesendet, nachdem der Empfangsschwellenwert erreicht ist.

ApproximateNumberOfGroupsWithInflightMessages Nur für FIFO. Die Anzahl der Nachrichtengruppen mit einer oder mehreren Nachrichten während des Fluges.

Anzahl

Es wird gemeldet, ob die FIFO-Warteschlange aktiv ist.
  • Eine Nachricht gilt als während des Fluges, wenn sie von einem Verbraucher aus der Warteschlange empfangen, aber noch nicht gelöscht oder abgelaufen ist.

  • Diese Metrik hilft Ihnen bei der Fehlerbehebung und Optimierung des Durchsatzes in der FIFO-Warteschlange. Hohe Werte deuten in der Regel auf eine starke Parallelität hin.

  • Wenn die Warteschlange einen großen Rückstand hat und dieser Wert niedrig bleibt, sollten Sie erwägen, die Anzahl der Verbraucher zu skalieren oder die Anzahl der aktiven Nachrichtengruppen zu erhöhen.

  • Informationen zu Durchsatz und Grenzwerten während des Fluges finden Sie unter. Amazon-SQS-Kontingente

ApproximateNumberOfMessagesDelayed

Die Anzahl der Nachrichten in der Warteschlange, die verzögert sind und nicht sofort abgerufen werden können.

Anzahl

Es wird gemeldet, ob verzögerte Nachrichten in der Warteschlange vorhanden sind.
  • Gilt für Warteschlangen, die mit einer Standardverzögerung konfiguriert sind, und für einzelne Nachrichten, die mit einem DelaySeconds Parameter gesendet werden.

  • Verspätete Nachrichten bleiben den Verbrauchern verborgen, bis ihre Verzögerungszeit abgelaufen ist, was sich auf den wahrgenommenen Warteschlangenstau oder den Durchsatz auswirken kann.

ApproximateNumberOfMessagesNotVisible Die Anzahl der Nachrichten während des Fluges, die zwar empfangen, aber noch nicht gelöscht wurden oder abgelaufen sind.

Anzahl

Wird gemeldet, wenn Nachrichten während des Fluges vorhanden sind.
  • Nachrichten erhalten den Status während des Fluges, nachdem sie über die API an einen Verbraucher gesendet wurden. ReceiveMessage

  • Diese Nachrichten werden während des Zeitlimits für die Sichtbarkeit vorübergehend vor anderen Verbrauchern verborgen.

  • Verwenden Sie diese Metrik, um Verzögerungen bei der Nachrichtenverarbeitung oder unsichere Verbraucher zu verfolgen.

  • In seltenen Fällen ist einer der Server, die Amazon SQS zum Speichern Ihrer Nachrichten verwendet, möglicherweise nicht verfügbar, wenn Amazon SQS Warteschlangenmetriken meldet. In diesem Fall meldet diese Metrik möglicherweise einen Wert ungleich Null, auch wenn die Warteschlange ansonsten leer ist oder keine Anrufe eingegangen sind. ReceiveMessage Das Problem wird in der Regel innerhalb von Minuten behoben. Wenn Sie also einen Alarm für diese Metrik einrichten, werten Sie mehrere aufeinanderfolgende Datenpunkte aus und nicht einen einzelnen Wert ungleich Null.

ApproximateNumberOfMessagesVisible Die Anzahl der Nachrichten, die derzeit zum Abrufen und Verarbeiten verfügbar sind.

Anzahl

Es wird gemeldet, ob die Warteschlange aktiv ist.
  • Spiegelt den aktuellen Verarbeitungsrückstand in der Warteschlange wider.

  • Es gibt keine feste Grenze für die Anzahl der Nachrichten, die sich ansammeln können, aber sie unterliegen der konfigurierten Aufbewahrungsfrist der Warteschlange.

  • Ein gleichbleibend hoher Wert kann auf eine unzureichende Versorgung der Verbraucher oder auf eine festgefahrene Verarbeitungslogik hindeuten.

NumberOfEmptyReceives¹ Die Anzahl der ReceiveMessage API-Aufrufe, die keine Nachrichten zurückgegeben haben.

Anzahl

Wird bei Empfangsvorgängen gemeldet.
  • Diese Metrik kann helfen, Ineffizienzen im Abfrageverhalten oder zu wenig ausgelastete Consumer-Instances zu identifizieren.

  • Hohe Werte können auftreten, wenn die Warteschlange leer ist, der Verbraucher kurze Abfragen verwendet oder Nachrichten schneller verarbeitet werden, als sie produziert werden.

  • Dies ist kein genauer Indikator für den Status der Warteschlange. Es spiegelt das Verhalten auf der Serviceseite wider und kann Wiederholungsversuche beinhalten.

NumberOfDeduplicatedSentMessages Nur für FIFO. Die Anzahl der gesendeten Nachrichten, die dedupliziert und nicht zur Warteschlange hinzugefügt wurden.

Anzahl

Wird gemeldet, wenn doppelte MessageDeduplicationId Werte oder Inhalte erkannt werden.
  • SQS dedupliziert Nachrichten auf der Grundlage des MessageDeduplicationId oder inhaltsbasierten Hashings (falls aktiviert).

  • Ein hoher Wert kann darauf hinweisen, dass ein Producer innerhalb des 5-minütigen Deduplizierungsfensters wiederholt dieselbe Nachricht sendet.

  • Verwenden Sie diese Metrik, um Fehler bei redundanter Producer-Logik zu beheben oder um zu bestätigen, dass die Deduplizierung wie vorgesehen funktioniert.

NumberOfMessagesDeleted¹

Die Anzahl der Nachrichten, die erfolgreich aus der Warteschlange gelöscht wurden.

Anzahl

Wird für jede Löschanforderung mit einem gültigen Empfangs-Handle gemeldet.
  • Diese Metrik zählt alle erfolgreichen Löschvorgänge — auch wenn dieselbe Nachricht mehrmals gelöscht wird.

  • Zu den häufigsten Gründen für Werte, die über den Erwartungen liegen, gehören:

    • Mehrfaches Löschen derselben Nachricht mit unterschiedlichen Empfangs-Handles, nachdem das Zeitlimit für die Sichtbarkeit abgelaufen ist und die Nachricht erneut empfangen wurde.

    • Doppelte Löschvorgänge mit demselben Empfangs-Handle, geben aber trotzdem den Status „Erfolgreich“ zurück und erhöhen die Metrik.

  • Verwenden Sie diese Metrik, um den Erfolg der Nachrichtenverarbeitung zu verfolgen, aber behandeln Sie sie nicht als exakte Anzahl eindeutiger gelöschter Nachrichten.

NumberOfMessagesReceived¹ Die Anzahl der von der ReceiveMessage API zurückgegebenen Nachrichten.

Anzahl

Wird bei Empfangsvorgängen gemeldet.
  • Dazu gehören alle Nachrichten, die an Verbraucher zurückgegeben werden, einschließlich der Nachrichten, die aufgrund des Zeitlimits für die Sichtbarkeit später wieder in die Warteschlange zurückgeschickt werden.

  • Eine einzelne Nachricht kann mehrfach empfangen werden, wenn sie nicht gelöscht wird. Dies kann dazu führen, dass diese Metrik die Anzahl der gesendeten Nachrichten übersteigt.

  • Verwenden Sie diesen Wert, um die Aktivitäten der Verbraucher zu verfolgen. Behandeln Sie ihn jedoch nicht als Anzahl der verarbeiteten eindeutigen Nachrichten.

NumberOfMessagesSent¹ Die Anzahl der Nachrichten, die erfolgreich zu einer Warteschlange hinzugefügt wurden.

Anzahl

Wird für jeden erfolgreichen manuellen Versand gemeldet.
  • Manuelle Anrufe an SendMessage oder SendMessageBatch werden gezählt, auch solche, die direkt auf einen DLQ abzielen.

  • Nachrichten, die automatisch in einen DLQ verschoben werden, nachdem sie den Wert überschritten haben, maxReceiveCount sind in dieser Metrik nicht enthalten.

  • Daher NumberOfMessagesSent kann dieser Wert niedriger sein als NumberOfMessagesReceived — insbesondere dann, wenn viele Nachrichten im Hintergrund aufgrund von Redrive-Richtlinien an DLQs verschoben werden.

SentMessageSize¹

Die Größe der Nachrichten, die erfolgreich an die Warteschlange gesendet wurden.

Bytes

Wird erst ausgegeben, wenn mindestens eine Nachricht gesendet wurde.
  • Diese Metrik wird erst in der CloudWatch Konsole angezeigt, wenn die Warteschlange ihre erste Nachricht erhält.

  • Verwenden Sie diese Metrik, um die Größe jeder Nachricht in Byte zu verfolgen. Dies ist nützlich, um Nutzlasttrends zu analysieren oder die Durchsatzkosten abzuschätzen.

  • Die maximale Nachrichtengröße für SQS beträgt 1 MiB.

ApproximateNumberOfNoisyGroups

Die Anzahl der Nachrichtengruppen, die in einer fairen Warteschlange als laut eingestuft werden. Eine Nachrichtengruppe mit lauter Lautstärke steht für einen Nachbarn in einer Warteschlange mit mehreren Mandanten.

Anzahl

Ein nicht negativer Wert wird gemeldet, wenn die Warteschlange aktiv ist.
  • Hilft bei der Identifizierung potenzieller Noisy-Neighbor-Probleme in Umgebungen mit mehreren Mandanten, indem Nachrichtengruppen nachverfolgt werden, die unverhältnismäßig viele Ressourcen verbrauchen.

  • Verwenden Sie diese Metrik, um Alarme einzurichten, die ausgelöst werden, wenn die Anzahl der lauten Gruppen Ihren akzeptablen Schwellenwert überschreitet. Dies weist auf potenzielle Probleme mit der Warteschleife hin.

ApproximateNumberOfMessagesVisibleInQuietGroups

Die Anzahl der sichtbaren Nachrichten, ausgenommen Nachrichten aus Nachrichtengruppen, die laut sind.

Anzahl

Ein nicht negativer Wert wird gemeldet, wenn die Warteschlange aktiv ist.
  • Bietet Einblick in den Warteschlangenrückstand für Nachrichtengruppen mit Standardgeschwindigkeit, ausgenommen Nachrichten von lauten Nachbarn.

  • Hilft dabei, den tatsächlichen Verarbeitungsrückstand für typische Nachrichtengruppen zu ermitteln, indem die Auswirkungen lauter Nachbarn herausgefiltert werden.

ApproximateNumberOfMessagesNotVisibleInQuietGroups Die Anzahl der Nachrichten, die gerade übertragen werden, ausgenommen Nachrichten aus Nachrichtengruppen, die laut sind.

Anzahl

Ein nicht negativer Wert wird gemeldet, wenn die Warteschlange aktiv ist.
  • Verfolgt Nachrichten während des Fluges (die verarbeitet, aber noch nicht gelöscht werden) aus Nachrichtengruppen, die sich gut verhalten.

  • Verwenden Sie diese Metrik, um den Verarbeitungsdurchsatz normaler Nachrichtengruppen zu überwachen und Verarbeitungsengpässe zu erkennen, die nicht durch laute Nachbarn verursacht werden.

ApproximateNumberOfMessagesDelayedInQuietGroups Die Anzahl der Nachrichten, ausgenommen Nachrichten aus Nachrichtengruppen, die laut sind, verzögert sind und nicht sofort gelesen werden können. Verzögerte Nachrichten treten auf, wenn die Warteschlange als Verzögerungswarteschlange konfiguriert ist oder wenn eine Nachricht mit einem Verzögerungsparameter gesendet wurde.

Anzahl

Ein nicht negativer Wert wird gemeldet, wenn die Warteschlange aktiv ist.
  • Hilft bei der Überwachung des verzögerten Nachrichtenrückstands von Nachrichtengruppen mit normalem oder erwartetem Durchsatzmuster (im Gegensatz zu Gruppen mit hohem Volumen oder lauten Nachrichten)

  • Nützlich, um zukünftige Verarbeitungsanforderungen und die Kapazitätsplanung für typische Workloads zu verstehen.

ApproximateAgeOfOldestMessageInQuietGroups Das Alter der ältesten, nicht gelöschten Nachricht in der Warteschlange, ausgenommen Nachrichten aus Nachrichtengruppen mit hohem Rauschen.

Sekunden

Ein nicht negativer Wert wird gemeldet, wenn die Warteschlange aktiv ist.
  • Wird zur Überwachung der SLA-Einhaltung und zur Erkennung von Verarbeitungsengpässen in Nachrichtengruppen mit normalem oder erwartetem Durchsatzmuster verwendet (im Gegensatz zu Nachrichtengruppen mit hohem Volumen oder hohem Rauschen, die andernfalls die Metrik verzerren könnten).

  • Verwenden Sie diese Metrik, um Alarme für Timeouts bei der Nachrichtenverarbeitung einzurichten, bei denen künstlich gealterte Nachrichten von lauten Nachbarn ignoriert werden.

¹ Diese Messwerte geben die Aktivität auf Systemebene wieder und können Wiederholungen, Duplikate oder verzögerte Nachrichten beinhalten. Verwenden Sie keine Rohzählungen, um den Status der Warteschlange in Echtzeit abzuschätzen, ohne das Verhalten im Nachrichtenlebenszyklus zu berücksichtigen.

Dead-letter Warteschlangen (DLQs) und Metriken CloudWatch

Bei der Arbeit mit DLQs ist es wichtig zu verstehen, wie sich Amazon SQS-Metriken verhalten:

  • NumberOfMessagesSent— Diese Metrik verhält sich für DLQs anders:

    • Manuelles Senden — Nachrichten, die manuell an einen DLQ gesendet werden, werden anhand dieser Metrik erfasst.

    • Automatisches Redrive — Nachrichten, die aufgrund von Verarbeitungsfehlern automatisch an einen DLQ verschoben wurden, werden von dieser Metrik nicht erfasst. Daher können die NumberOfMessagesReceived Metriken NumberOfMessagesSent und Abweichungen bei den DLQs aufweisen.

  • Empfohlene Metrik für DLQs — Verwenden Sie die Metrik, um den Status einer DLQ zu überwachen. ApproximateNumberOfMessagesVisible Diese Metrik gibt die Anzahl der Nachrichten an, die derzeit für die Verarbeitung im DLQ verfügbar sind.

Faire Warteschlangen und Metriken CloudWatch

Wenn Sie faire Warteschlangen verwenden, gibt Amazon SQS die folgenden zusätzlichen Metriken aus:

  • ApproximateNumberOfNoisyGroups

  • ApproximateNumberOfMessagesVisibleInQuietGroups

  • ApproximateNumberOfMessagesNotVisibleInQuietGroups

  • ApproximateNumberOfMessagesDelayedInQuietGroups

  • ApproximateAgeOfOldestMessageInQuietGroups

Anmerkung

Jede QuietGroup Metrik ist eine Teilmenge der entsprechenden Standardmetrik auf Warteschlangenebene, schließt jedoch Nachrichten von Approximate Noisy-Neighbor-Gruppen aus.

Gruppen, die laut sind

Eine Gruppe lauter Nachrichten steht für einen lauten Nachbarmandanten einer Warteschlange mit mehreren Mandanten.

Ruhige Gruppen

Nachrichtengruppen, ausgenommen laute Gruppen.

Beobachten des Verhaltens von SQS Fair Queues

Um die Auswirkungen von Amazon SQS-Warteschlangen zu überwachen, können Sie Approximate..InQuietGroups Metriken mit Standardmetriken auf Warteschlangenebene vergleichen. Bei einem Anstieg des Datenverkehrs für einen bestimmten Mandanten können die allgemeinen Metriken auf Warteschlangenebene Aufschluss über steigende Rückstände oder ein älteres Nachrichtenalter geben. Wenn Sie jedoch die stillen Gruppen isoliert betrachten, können Sie feststellen, dass die meisten Nachrichtengruppen oder Mandanten, die nicht laut sind, nicht betroffen sind, und eine Schätzung der Gesamtzahl der betroffenen Nachrichtengruppen angeben.

Diese neuen Kennzahlen bieten zwar einen guten Überblick über das Verhalten von Amazon SQS in fairen Warteschlangen, es kann jedoch von Vorteil sein, zu verstehen, welcher bestimmte Mieter die Belastung verursacht. Amazon CloudWatch Contributor Insights ermöglicht es Ihnen, Kennzahlen über die Top-N-Mitwirkenden, die Gesamtzahl der einzelnen Mitwirkenden und deren Nutzung einzusehen. Dies ist besonders hilfreich in Szenarien, in denen Sie es mit Tausenden von Mietern zu tun haben, die sonst bei der Angabe herkömmlicher Kennzahlen zu Daten mit hoher Kardinalität (und Kosten) führen würden.

Ein Beispiel für eine Überwachungskonfiguration für faire Warteschlangen finden Sie im Beispiel unter. GitHub

Dimensionen für Amazon-SQS-Metriken

Amazon SQS-Metriken werden in einer einzigen Dimension CloudWatch verwendet: QueueName. Alle Metrikdaten werden nach dem Namen der Warteschlange gruppiert und gefiltert.

Tipps zur Überwachung

Überwachen Sie SQS effektiv mithilfe wichtiger Kennzahlen und CloudWatch Alarme, um Warteschlangenrückstände zu erkennen, die Leistung zu optimieren und die Servicelimits einzuhalten.

  • Richten Sie CloudWatch Alarme ein, die darauf basierenApproximateNumberOfMessagesVisible, um das Wachstum des Rückstands zu erkennen.

  • Überwachen SieNumberOfEmptyReceives, um die Abfragefrequenz zu optimieren und die API-Kosten zu senken.

  • Verwendung ApproximateNumberOfGroupsWithInflightMessages in FIFO-Warteschlangen zur Diagnose von Durchsatzgrenzen.

  • Überprüfen Sie die SQS-Kontingente, um sich ein Bild von metrischen Schwellenwerten und Servicelimits zu machen.