Aktives Tracing in Amazon SNS - Amazon Simple Notification 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.

Aktives Tracing in Amazon SNS

Wird verwendet AWS X-Ray , um Benutzeranfragen zu verfolgen und zu analysieren, während sie Ihre Amazon SNS SNS-Themen an Amazon Data Firehose- AWS Lambda, Amazon SQS - und HTTP/S-Endpunktabonnements weiterleiten.

Mit X-Ray erhalten Sie einen end-to-end Überblick über jede Anfrage, sodass Sie:

  • Identifizieren Sie, was Ihr Amazon SNS SNS-Thema ist und welche Dienste den Abonnements nachgelagert sind.

  • Analysieren Sie Latenzen, wie z. B.:

    • Zeit, die vor der Verarbeitung mit dem Amazon SNS SNS-Thema verbracht wurde.

    • Lieferzeiten für jeden abonnierten Endpunkt.

Wichtig

Amazon-SNS-Themen mit zahlreichen Abonnements erreichen möglicherweise eine Größenbeschränkung und können nicht vollständig verfolgt werden. Informationen zu Größenbeschränkungen für Trace-Dokumente finden Sie unter X-Ray Service-Kontingente in der AWS allgemeinen Referenz.

Wenn Sie eine Amazon-SNS-API von einem Service aufrufen, der bereits nachverfolgt wird, führt Amazon SNS die Nachverfolgung auch dann durch, wenn X-Ray-Tracing auf der API nicht aktiviert ist.

Amazon SNS unterstützt X-Ray-Tracing für Standard- und FIFO-Themen. Sie können X-Ray für ein Amazon-SNS-Thema aktivieren, indem Sie die Amazon-SNS-Konsole, die Amazon-SNS–API SetTopicAttributes, die CLI-Referenz zu Amazon Simple Notification Service oder AWS CloudFormation verwenden.

Weitere Informationen zur Verwendung von Amazon SNS mit X-Ray finden Sie unter Amazon SNS und AWS X-Ray im AWS X-Ray -Entwicklerhandbuch.

Berechtigungen für aktives Tracing

Wenn Sie die Amazon-SNS-Konsole verwenden, versucht Amazon SNS, die erforderlichen Berechtigungen für das Amazon-SNS-Thema zum Aufrufen von X-Ray zu erstellen. Der Versuch kann abgelehnt werden, wenn Sie nicht über ausreichende Berechtigungen verfügen, um die Amazon-SNS-Konsole zu verwenden. Weitere Informationen erhalten Sie unter Identity and Access Management in Amazon SNS und Beispiele für die Zugriffskontrolle in Amazon SNS.

Wenn Sie die CLI verwenden, müssen Sie die Berechtigungen manuell konfigurieren. Diese Berechtigungen werden mithilfe von Ressourcenrichtlinien konfiguriert. Weitere Informationen zur Verwendung der erforderlichen Berechtigungen in X-Ray finden Sie unter Amazon SNS und AWS X-Ray.

Aktivieren der aktiven Ablaufverfolgung für ein Amazon SNS SNS-Thema mithilfe der Konsole AWS

Wenn das aktive Tracing für ein Amazon-SNS-Thema aktiviert ist, liest es die Trace-ID, sendet die Daten anhand der Trace-ID an den Kunden und gibt die Trace-ID an nachgelagerte Services weiter.

  1. Melden Sie sich bei der Amazon-SNS-Konsole an.

  2. Wählen Sie ein Thema aus oder erstellen Sie ein neues Thema. Weitere Informationen zum Erstellen von Themen finden Sie unter Erstellen eines Amazon-SNS-Themas.

  3. Wählen Sie auf der Seite Thema erstellen im Abschnitt Details einen Thementyp aus: FIFO oder Standard.

    1. Geben Sie den Namen des neuen Themas ein.

    2. (Optional) Geben Sie einen Anzeigenamen für Ihr Thema ein.

  4. Erweitern Sie Aktives Tracing und wählen Sie Aktives Tracing verwenden.

Sobald Sie X-Ray für Ihr Amazon SNS SNS-Thema aktiviert haben, können Sie die X-Ray-Servicekarte verwenden, um die end-to-end Traces und Service Maps für das Thema anzuzeigen.

Aktivieren der aktiven Ablaufverfolgung für ein Amazon SNS SNS-Thema mithilfe des SDK AWS

Das folgende Codebeispiel zeigt, wie die aktive Ablaufverfolgung für ein Amazon SNS SNS-Thema mithilfe des AWS SDK for Java aktiviert wird.

public static void enableActiveTracing(SnsClient snsClient, String topicArn) { try { SetTopicAttributesRequest request = SetTopicAttributesRequest.builder() .attributeName("TracingConfig") .attributeValue("Active") .topicArn(topicArn) .build(); SetTopicAttributesResponse result = snsClient.setTopicAttributes(request); System.out.println("\n\nStatus was " + result.sdkHttpResponse().statusCode() + "\n\nTopic " + request.topicArn() + " updated " + request.attributeName() + " to " + request.attributeValue()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); } }

Aktivieren der aktiven Ablaufverfolgung für ein Amazon SNS SNS-Thema mithilfe der CLI AWS

Das folgende Codebeispiel zeigt, wie die aktive Ablaufverfolgung für ein Amazon SNS SNS-Thema mithilfe der AWS CLI aktiviert wird.

aws sns set-topic-attributes \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --attribute-name TracingConfig \ --attribute-value Active

Aktivieren der aktiven Ablaufverfolgung für ein Amazon SNS SNS-Thema mit AWS CloudFormation

Der folgende AWS CloudFormation Stack zeigt, wie Sie die aktive Ablaufverfolgung für ein Amazon SNS SNS-Thema aktivieren.

AWSTemplateFormatVersion: 2010-09-09 Resources: MyTopicResource: Type: 'AWS::SNS::Topic' Properties: TopicName: 'MyTopic' TracingConfig: 'Active'

Überprüfen, ob das aktive Tracing für Ihr Thema aktiviert ist

Sie können die Amazon-SNS-Konsole verwenden, um zu überprüfen, ob das aktive Tracing für Ihr Thema aktiviert ist oder ob die Ressourcenrichtlinie nicht hinzugefügt werden konnte.

  1. Melden Sie sich bei der Amazon-SNS-Konsole an.

  2. Wählen Sie im linken Navigationsbereich Topics (Themen).

  3. Wählen Sie auf der Seite Themen ein Thema aus.

  4. Wählen Sie die Registerkarte Integrationen aus.

    Wenn das aktive Tracing aktiviert ist, wird ein grünes Aktiv-Symbol angezeigt.

  5. Wenn Sie das aktive Tracing aktiviert haben und nicht sehen, dass die Ressourcenrichtlinie hinzugefügt wurde, wählen Sie Richtlinie erstellen aus, um die zusätzlichen erforderlichen Berechtigungen hinzuzufügen.

Screenshot mit den Details eines Amazon SNS SNS-Themas mit dem Namen "SampleTopic" in der AWS Management Console. Es weist darauf hin, dass die AWS X-Ray aktive Ablaufverfolgung für dieses Thema aktiviert ist, aber eine Ressourcenrichtlinie fehlt, die es Amazon SNS ermöglicht, Ablaufverfolgungsdaten zu senden. Zur Lösung dieses Problems steht eine Schaltfläche „Richtlinie erstellen“ zur Verfügung.

Aktives Tracing testen

  1. Melden Sie sich bei der Amazon-SNS-Konsole an.

  2. Erstellen Sie ein Amazon-SNS-Thema. Weitere detaillierte Informationen hierzu finden Sie unter Um ein Thema mit dem zu erstellen AWS Management Console.

  3. Erweitern Sie Aktives Tracing und wählen Sie Aktives Tracing verwenden.

  4. Veröffentlichen Sie eine Nachricht im Amazon-SNS-Thema. Weitere detaillierte Informationen hierzu finden Sie unter Um Nachrichten in Amazon-SNS-Themen mithilfe von AWS Management Console zu veröffentlichen.

  5. Verwenden Sie die X-Ray-Servicekarte, um die end-to-end Traces und Service Maps für das Thema anzuzeigen.

Zeigt eine AWS X-Ray Service-Map an, die die Nachverfolgung einer Anfrage zeigt, die von einem Client an ein Amazon SNS SNS-Thema mit dem Namen“ gesendet wurde.xray-topic.“ Von dort aus wird die Nachricht an verschiedene nachgelagerte Dienste verteilt, darunter eine Amazon SQS SQS-Warteschlange, eine Lambda-Funktion, eine Kinesis-Firehose und einen Remote-Service. Bei jeder Verbindung werden Messwerte wie die Latenz in Millisekunden (ms) und die Transaktionsrate pro Minute (t/min) angezeigt. Dies hilft dabei, die Leistung zu analysieren und etwaige Latenzprobleme bei der Nachrichtenzustellung zu identifizieren.