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 ungefähre Ergebnisse. 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 dabei, den Zustand und die Leistung der Warteschlangen zu überwachen. Aufgrund der dezentralen Struktur von SQS sind viele Werte Näherungswerte, die jedoch für die meisten betrieblichen Entscheidungen genau genug sind.

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 Beschreibung Einheiten Verhalten melden Die wichtigsten 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 wieder, die den Empfangsschwellenwert nicht überschritten hat. Diese Neuordnung erfolgt auch dann, wenn eine Redrive-Richtlinie gilt.

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

  • Wenn eine Nachricht nach dem Überschreiten von in einen DLQ verschoben wirdmaxReceiveCount, wird das Alter zurückgesetzt. In diesem Fall spiegelt die DLQ-Metrik den Zeitpunkt wider, zu dem die Nachricht verschoben wurde, und 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 wurde.

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

Anzahl

Wird gemeldet, ob die FIFO-Warteschlange aktiv ist.
  • Eine Nachricht gilt als in Bearbeitung befindlich, wenn sie von einem Verbraucher aus der Warteschlange empfangen, aber noch nicht gelöscht wurde oder abgelaufen ist.

  • Mit dieser Metrik können Sie Fehler beheben und den Durchsatz in der FIFO-Warteschlange optimieren. Hohe Werte deuten normalerweise auf eine starke Parallelität hin.

  • Wenn die Warteschlange einen großen Rückstand aufweist 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 der Übertragung finden Sie unter. Amazon-SQS-Kontingente

ApproximateNumberOfMessagesDelayed

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

Anzahl

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

  • Verzögerte Nachrichten bleiben Benutzern verborgen, bis ihre Verzögerungszeit abgelaufen ist, was sich auf den wahrgenommenen Warteschlangenrückstand oder den Durchsatz auswirken kann.

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

Anzahl

Wird gemeldet, ob Bordnachrichten vorhanden sind.
  • Nachrichten gehen in den Status „Während des Fluges“ über, nachdem sie über die ReceiveMessageAPI an einen Verbraucher gesendet wurden.

  • Diese Nachrichten werden während des Sichtbarkeitszeitfensters vorübergehend vor anderen Verbrauchern verborgen.

  • Verwenden Sie diese Metrik, um Verzögerungen bei der Nachrichtenverarbeitung oder festgefahrene Kunden nachzuverfolgen.

ApproximateNumberOfMessagesVisible Die Anzahl der Nachrichten, die derzeit abgerufen und verarbeitet werden können.

Anzahl

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 konstant hoher Wert kann auf eine unzureichende Anzahl von Verbrauchern oder auf eine festgefahrene Verarbeitungslogik hindeuten.

NumberOfEmptyReceives¹ Die Anzahl der ReceiveMessageAPI-Aufrufe, bei denen keine Nachrichten zurückgegeben wurden.

Anzahl

Wurde bei Empfangsvorgängen gemeldet.
  • Diese Metrik kann dabei helfen, Ineffizienzen im Abfrageverhalten oder nicht ausgelastete Kundeninstanzen zu identifizieren.

  • Hohe Werte können auftreten, wenn die Warteschlange leer ist, der Verbraucher kurze Abfragen verwendet oder Nachrichten schneller verarbeitet als 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 wurden.
  • SQS dedupliziert Nachrichten basierend auf dem MessageDeduplicationId oder inhaltsbasierten Hashing (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 Herstellerlogik zu beheben oder zu überprüfen, ob 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 mehr als einmal gelöscht wurde.

  • Zu den häufigsten Gründen für Werte gehören higher-than-expected:

    • Mehrfaches Löschen derselben Nachricht unter Verwendung verschiedener Empfangsnamen, nachdem das Sichtbarkeits-Timeout abgelaufen ist und die Nachricht erneut empfangen wurde.

    • Doppelte Löschungen, die dieselbe Empfangsnummer verwenden, geben trotzdem einen Erfolgsstatus zurück und erhöhen die Metrik.

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

NumberOfMessagesReceived¹ Die Anzahl der von der ReceiveMessageAPI zurückgegebenen Nachrichten.

Anzahl

Bei Empfangsvorgängen gemeldet.
  • Dazu gehören alle Nachrichten, die an Verbraucher zurückgesendet wurden, einschließlich solcher, die später aufgrund des Ablaufs des Sichtbarkeits-Timeouts 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 diese Methode, um Kundenaktivitäten zu verfolgen, aber behandeln Sie sie nicht als die Anzahl der verarbeiteten einzelnen 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, einschließlich solcher, die direkt auf einen DLQ abzielen.

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

  • Das NumberOfMessagesSent kann dazu führen, dass sie niedriger ist als NumberOfMessagesReceived — vor allem, wenn aufgrund von Redrive-Richtlinien viele Nachrichten DLQs hinter die Kulissen verschoben werden.

SentMessageSize¹

Die Größe der erfolgreich an die Warteschlange gesendeten Nachrichten.

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 guten Warteschlange als störend eingestuft werden. Eine verrauschte Nachrichtengruppe steht für einen verrauschten Nachbarn 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 verrauschten Gruppen Ihren akzeptablen Schwellenwert überschreitet, was auf mögliche Probleme mit der Warteschlangengerechtigkeit hinweist.

ApproximateNumberOfMessagesVisibleInQuietGroups

Die Anzahl der sichtbaren Nachrichten mit Ausnahme von Nachrichten aus Gruppen mit störenden Nachrichten.

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 verrauschten Nachbarn.

  • Hilft dabei, den wahren Verarbeitungsrückstand für typische Nachrichtengruppen zu ermitteln, indem die Auswirkungen von störenden Nachbarn herausgefiltert werden.

ApproximateNumberOfMessagesNotVisibleInQuietGroups Die Anzahl der laufenden Nachrichten, ausgenommen Nachrichten aus verrauschten Nachrichtengruppen.

Anzahl

Ein nicht negativer Wert wird gemeldet, wenn die Warteschlange aktiv ist.
  • Verfolgt Nachrichten während der Übertragung (die verarbeitet, aber noch nicht gelöscht wurden) von Nachrichtengruppen, die sich gut verhalten haben.

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

ApproximateNumberOfMessagesDelayedInQuietGroups Die Anzahl der Nachrichten mit Ausnahme von Nachrichten aus verrauschten Nachrichtengruppen, die 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 Rückstands verzögerter Nachrichten von Nachrichtengruppen mit normalem oder erwartetem Durchsatz (im Gegensatz zu Gruppen mit hohem Volumen oder hohen Datenvolumen)

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

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

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 verrauschten Nachrichten, 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 störenden Nachbarn ignoriert werden.

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

Warteschlangen mit unbestätigten Nachrichten () und Metriken DLQs CloudWatch

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

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

    • Manuelles Senden — Manuell an einen DLQ gesendete Nachrichten werden mit dieser Metrik erfasst.

    • Automatisches Redrive — Nachrichten, die aufgrund von Verarbeitungsfehlern automatisch in eine DLQ verschoben wurden, werden von dieser Metrik nicht erfasst. Daher können die NumberOfMessagesReceived Metriken NumberOfMessagesSent und Unstimmigkeiten für aufweisen. DLQs

  • 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 in der DLQ verarbeitet werden können.

Faire Warteschlangen und Messwerte CloudWatch

Wenn Sie faire Warteschlangen verwenden, gibt Amazon SQS die folgenden zusätzlichen Messwerte 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.

Verrauschte Gruppen

Eine Gruppe mit verrauschten Nachrichten steht für einen verrauschten Nachbarn einer Warteschlange mit mehreren Mandanten.

Ruhige Gruppen

Nachrichtengruppen, ausgenommen laute Gruppen.

Beobachtung des Verhaltens von SQS bei fairen Warteschlangen

Um die Auswirkungen fairer Warteschlangen in Amazon SQS zu überwachen, können Sie Approximate..InQuietGroups Metriken mit Standardmetriken auf Warteschlangenebene vergleichen. Bei einem starken Besucheraufkommen für einen bestimmten Mandanten können die allgemeinen Kennzahlen auf Warteschlangenebene Aufschluss über zunehmende Rückstände oder ein älteres Nachrichtenalter geben. Wenn Sie sich die stillen Gruppen jedoch isoliert ansehen, können Sie feststellen, dass die meisten nicht verrauschten Nachrichtengruppen oder Mandanten nicht betroffen sind, und eine Schätzung der Gesamtzahl der betroffenen Nachrichtengruppen vornehmen.

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

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

Dimensionen für Amazon-SQS-Metriken

Die CloudWatch verwendeten Amazon SQS-Metriken haben eine einzige Dimension: 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 Dienstgrenzen einzuhalten.

  • Stellen Sie CloudWatch Alarme einApproximateNumberOfMessagesVisible, um den wachsenden Rückstand catch.

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

  • Wird ApproximateNumberOfGroupsWithInflightMessages in FIFO-Warteschlangen zur Diagnose von Durchsatzgrenzen verwendet.

  • Informieren Sie sich über die SQS-Kontingente, um sich mit metrischen Schwellenwerten und Servicebeschränkungen vertraut zu machen.