AWS X-RayStep Functions API - AWS Step Functions

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.

AWS X-RayStep Functions API

Sie können Folgendes verwendenAWS X-Rayum die Komponenten Ihrer Zustandsmaschine zu visualisieren, Leistungsengpässe zu erkennen und Anforderungen zu beheben, die zu einem Fehler geführt haben. Ihre Zustandsmaschine sendet Ablaufverfolgungsdaten an X-Ray und X-Ray verarbeitet die Daten, um eine Service-Übersicht und durchsuchbare Ablaufverfolgungs-Zusammenfassungen zu generieren.

Wenn X-Ray für Ihre Zustandsmaschine aktiviert ist, können Sie Anforderungen verfolgen, während sie in Step Functions ausgeführt werdenAWSRegionen in denen X-Ray verfügbar ist. Auf diese Weise erhalten Sie einen detaillierten Überblick über die gesamte Anforderung von Step Functions. Step Functions sendet Traces zur Ausführung von Zustandsmaschinen an X-Ray, auch wenn eine Trace-ID nicht von einem Upstream-Dienst übergeben wird. Sie können eine X-Ray-Servicezuordnung verwenden, um die Latenz einer Anforderung, einschließlich allerAWSDienste, die in X-Ray integriert sind. Sie können auch Samplingregeln konfigurieren, um X-Ray mitzuteilen, welche Anforderungen mit welchen Abtastraten gemäß den von Ihnen angegebenen Kriterien aufgezeichnet werden sollen.

Wenn X-Ray für Ihre Zustandsmaschine nicht aktiviert ist und ein Upstream-Dienst keine Trace-ID übergibt, sendet Step Functions keine Traces zur Ausführung von Zustandsmaschinen an X-Ray. Wenn jedoch eine Trace-ID von einem Upstream-Dienst übergeben wird, sendet Step Functions Traces zur Ausführung von Zustandsmaschinen an X-Ray.

Sie können Folgendes verwendenAWS X-Raymit Step Functions in Regionen, in denen beide unterstützt werden. Siehe dasSchrittfunktionenundX-RayEndpunkte und Kontingentseiten mit Informationen zur regionalen Unterstützung von X-Ray- und Step Functions.

Kombinierte Kontingente Step Functions X-Ray- und

Sie können Daten zu einer Ablaufverfolgung für bis zu sieben Tage hinzufügen und Ablaufverfolgungsdaten abfragen, die dreißig Tage zurückliegen, so lange X-Ray Ablaufverfolgungsdaten speichert. Ihre Spuren unterliegen X-Ray-Kontingenten. Zusätzlich zu anderen Kontingenten bietet X-Ray eine garantierte Mindest-Trace-Größe von 100 KB für Step Functions Functions-Zustandsmaschinen. Wenn mehr als 100 KB an Ablaufverfolgungsdaten an X-Ray bereitgestellt werden, kann dies zu einer eingefrorenen Ablaufverfolgung führen. Weitere Informationen finden Sie im Abschnitt Servicekontingent derX-Ray-Endpunkte und Kontingentefinden Sie weitere Informationen zu anderen Kontingenten für X-Ray.

Einrichtung und Konfiguration

X-Ray-Tracing beim Erstellen einer Zustandsmaschine aktivieren

Sie können die X-Ray-Tracing beim Erstellen einer neuen Zustandsmaschine aktivieren, indem SieAktivieren Sie die X-Rayauf derFestlegen von Detailsangezeigten.

  1. Öffnen SieStep Functions APIund wähleErstellen von Zustandsautomatenaus.

  2. Auf derWählen Sie die Autorenmethodeeine geeignete Option aus, um Ihre Zustandsmaschine zu erstellen. Wenn Sie angebenFühren Sie ein Beispielprojekt auskönnen Sie die X-Ray-Ablaufverfolgung während der Erstellung der Zustandsmaschine nicht aktivieren, und Sie müssen die X-Ray-Ablaufverfolgung aktivieren, nachdem Ihre Zustandsmaschine erstellt wurde. Weitere Hinweise zum Aktivieren von X-Ray in einer vorhandenen Zustandsmaschine finden Sie unterAktivieren von X-Ray in einem vorhandenen Zustandsautomatenaus.

    Wählen Sie Next (Weiter).

  3. Auf derFestlegen von Details, konfigurieren Sie Ihren Zustandsautomaten.

  4. Klicken Sie aufAktivieren Sie die X-Rayaus.

    
              X-Ray-Aktivierung

    Ihre Step Functions Functions-Zustandsmaschine sendet jetzt Spuren an X-Ray für State-Machine-Ausführungen.

    Anmerkung

    Wenn Sie eine vorhandene IAM-Rolle verwenden, sollten Sie sicherstellen, dass X-Ray-Schreibvorgänge zulässig sind.

Aktivieren von X-Ray in einem vorhandenen Zustandsautomaten

So aktivieren Sie X-Ray in einer vorhandenen Zustandsmaschine:

  1. In derStep Functions APIdie Zustandsmaschine aus, für die die Ablaufverfolgung aktiviert werden soll.

  2. Wählen Sie Edit (Bearbeiten) aus.

  3. Klicken Sie aufAktivieren Sie die X-Rayaus.

    
              X-Ray-Aktivierung

    Es wird eine Benachrichtigung angezeigt, in der Sie darüber informiert werden, dass Sie möglicherweise weitere Änderungen vornehmen müssen.

    Anmerkung

    Wenn Sie X-Ray für eine vorhandene Zustandsmaschine aktivieren, müssen Sie sicherstellen, dass Sie über eine IAM-Richtlinie verfügen, die X-Ray ausreichende Berechtigungen zur Durchführung von Traces gewährt. Sie können entweder manuell eine hinzufügen oder eine generieren. Weitere Informationen finden Sie im Abschnitt zu IAM-Richtlinien fürX-Rayaus.

  4. (Optional) Generieren Sie automatisch eine neue Rolle für Ihre Zustandsmaschine, die X-Ray-Berechtigungen enthält.

  5. Wählen Sie Save (Speichern) aus.

Konfigurieren von Step Functions X-Ray-Ablaufverfolgung

Wenn Sie zum ersten Mal eine Zustandsmaschine mit aktivierter X-Ray-Ablaufverfolgung ausführen, verwendet sie die Standardkonfigurationswerte für die X-Ray-Tracing.AWS X-Raysammelt nicht Daten für jede Anfrage, die an eine Bewerbung gesendet wird. Stattdessen sammelt es Daten für eine statistisch signifikante Anzahl von Anfragen. Standardmäßig werden die erste Anforderung pro Sekunde und fünf Prozent aller zusätzlichen Anforderungen aufgezeichnet. Eine Anfrage pro Sekunde ist das Reservoir. Dadurch wird sichergestellt, dass jede Sekunde mindestens eine Ablaufverfolgung aufgezeichnet wird, solange der Dienst Anfragen verarbeitet. Fünf Prozent ist die Rate, mit der die über die Reservoirgröße hinausgehenden Anforderungen geprüft werden.

Um zu vermeiden, dass bei den ersten Schritten Servicegebühren anfallen, ist die Standard-Samplingrate konservativ. Sie können X-Ray konfigurieren, um die Standard-Samplingregel zu ändern und zusätzliche Regeln zu konfigurieren, die das Sampling basierend auf Eigenschaften des Service oder der Anfrage anwenden.

Sie können beispielsweise Samplings deaktivieren und alle Anfragen für Aufrufe verfolgen, die den Status ändern oder Benutzerkonten oder Transaktionen bearbeiten. Für große, schreibgeschützte Aufrufe wie Abfragen im Hintergrund, Zustandsprüfungen oder Anschlusswartung können Sie eine niedrige Samplingrate einstellen und erhalten dennoch genügend Daten, um auftretende Probleme zu beobachten.

So konfigurieren Sie eine Sampling-Regel für Ihre Zustandsmaschine:

  1. Rufen Sie aufX-Ray-Konsoleaus.

  2. Wählen Sie Sampling aus.

  3. Um eine Regel zu erstellen, wählen Sie Create sampling rule (Samplingregel erstellen) aus.

    Um eine Regel zu bearbeiten, wählen Sie den Namen einer Regel aus.

    Um eine Regel zu löschen, wählen Sie eine Regel aus und verwenden das Menü Actions (Aktionen), um diese zu löschen.

Einige Teile der bestehenden Stichprobenregeln, wie Name und Priorität, können nicht geändert werden. Fügen Sie stattdessen eine vorhandene Regel hinzu oder klonen Sie sie, nehmen Sie die gewünschten Änderungen vor und verwenden Sie dann die neue Regel.

Weitere Informationen zu den Regeln für die X-Ray-Probenahme und zur Konfiguration der verschiedenen Parameter finden Sie unterKonfigurieren von Samplingregeln in der X-Rayaus.

Integrierte Upstream-Dienste

Um die Ausführung von Step Functions Functions-Workflows wie Express-, Synchron- und Standard-Workflows mit einem vorgelagerten Dienst zu integrieren, müssen Sie dentraceHeaderaus. Dies geschieht automatisch für Sie, wenn Sie eine HTTP-API in API Gateway verwenden. Wenn Sie jedoch eine Lambda-Funktion und/oder ein SDK verwenden, müssen Sie dietraceHeaderauf derStartExecutionoderStartSyncExecutionAPI ruft sich selbst auf.

Sie müssen die bestimmentraceHeader-Format als\p{ASCII}∗aus. Um Step Functions dieselbe Trace-ID verwenden zu lassen, müssen Sie außerdem das Format alsRoot={TRACE_ID};Sampled={1 or 0}aus. Wenn Sie eine Lambda-Funktion verwenden, ersetzen Sie dieTRACE_IDmit der Trace-ID in Ihrem aktuellen Segment und setzen Sie das Feld „Abgetastet“ als1ob Ihr Sampling-Modus wahr ist und0wenn Ihr Sampling-Modus falsch ist. Die Angabe der Trace-ID in diesem Format stellt sicher, dass Sie eine vollständige Ablaufverfolgung erhalten.

Nachstehend finden Sie ein in Python geschriebenes Beispiel, um zu zeigen, wietraceHeaderaus.

state_machine = config.get_string_paramter("STATE_MACHINE_ARN") if (xray_recorder.current_subsegment() is not None and xray_recorder.current_subsegment().sampled) : trace_id = "Root={};Sampled=1".format( xray_recorder.current_subsegment().trace_id ) else: trace_id = "Root=not enabled;Sampled=0" LOGGER.info("trace %s", trace_id) # execute it response = states.start_sync_execution( stateMachineArn=state_machine, input=event['body'], name=context.aws_request_id, traceHeader=trace_id ) LOGGER.info(response)

Konzepte

Die X-Ray-Konsole

Mit der AWS X-Ray-Konsole können Sie Service-Übersichten und Ablaufverfolgungen für Anforderungen anzeigen, die von Ihren Anwendungen verarbeitet werden. Sie können auf die Konsole zugreifen, um detaillierte Informationen anzuzeigen, die von X-Ray erfasst wurden, wenn sie für Ihre Zustandsmaschine aktiviert ist.

Siehe .Anzeigen der X-Ray-Konsolefinden Sie Informationen zum Zugriff auf die X-Ray-Konsole für Ihre State-Machine-Ausführungen.

Ausführliche Informationen zu der X-Ray-Konsole finden Sie imX-Ray-Konsoleaus.

Segmente, Untersegmente und Spuren

EINAbschnittzeichnet Informationen über eine Anfrage an Ihre Zustandsmaschine auf. Es enthält Informationen wie die Arbeit, die Ihre Zustandsmaschine ausführt, und kann auch enthaltenUntersegmentemit Informationen über Downstream-Aufrufe.

EINSpursammelt alle von einer einzelnen Anforderung generierten Segmente.

Sampling

Um sicherzustellen, dass die Ablaufverfolgung effizient ist und gleichzeitig ein repräsentatives Sampling der Anfragen, die Ihre Anwendung verarbeitet, wendet X-Ray eineProbenahmeAlgorithmus, um zu ermitteln, welche Anfragen verfolgt werden. Dies kann geändert werden, indem Sie die Sampling-Regeln bearbeiten.

Metriken

Für Ihre Zustandsmaschine misst X-Ray die Aufruf-Zeit, die Zustandsübergangszeit, die gesamte Ausführungszeit von Step Functions und Abweichungen in dieser Ausführungszeit. Auf diese Informationen kann über die X-Ray-Konsole zugegriffen werden.

Analysen

DieAWS X-RayDie -Analysenkonsole ist ein interaktives Tool zum Interpretieren von Ablaufverfolgungsdaten. Sie können die aktiven Datasets mit zunehmend granularen Filtern anpassen, indem Sie auf die Diagramme und die Bereiche der Metriken und Felder klicken, die der aktuellen Ablaufverfolgungsreihe zugeordnet sind. Auf diese Weise können Sie die Leistung Ihrer Zustandsmaschine analysieren und Leistungsprobleme schnell lokalisieren und identifizieren.

Ausführliche Informationen zu X-Ray-Analysen finden Sie imInteraktion mit demAWS X-RayAnalytics -Konsole

Step Functions Functions-Aktion und X-Ray

Einige derAWSDienste, die in Step Functions integriert werden, bieten IntegrationAWS X-Rayindem Sie Anfragen einen Ablaufverfolgungs-Header hinzufügen, den X-Ray-Daemons ausführen oder Sampling-Entscheidungen treffen und Ablaufverfolgungsdaten auf X-Ray hochladen. Andere müssen mit demAWS X-RaySDK. Einige unterstützen die X-Ray-Integration noch nicht. Die X-Ray-Integration ist erforderlich, um vollständige Ablaufverfolgungsdaten bereitzustellen, wenn Sie eine Serviceintegration mit Step Functions

Native X-Ray

Die Serviceintegrationen mit nativer X-Ray-Unterstützung

Instrumentierung erforderlich

Service-Integrationen, die Folgendes erfordernX-Ray-Instrumente:

  • Amazon Elastic Container Service

  • AWS Batch

  • AWS Fargate

Clientseitiges Ablauf-Ablaufverfolgung

Andere Service-Integrationen unterstützen keine X-Ray-Ablaufverfolgungen. Kundenseitige Traces können jedoch weiterhin gesammelt werden:

  • Amazon DynamoDB

  • Amazon EMR

  • Amazon SageMaker

  • AWS CodeBuild

  • AWS Glue

Anzeigen der X-Ray-Konsole

X-Ray erhält Daten von Services als Segmente. X-Ray gruppiert Segmente mit einer gemeinsamen Anfrage zu Ablaufverfolgungen. X-Ray verarbeitet die Ablaufverfolgungen zur Erstellung einer Servicegraphik, die eine visuelle Repräsentation Ihrer Anwendung bereitstellt.

Nachdem Sie mit der Ausführung Ihrer Zustandsmaschine begonnen haben, können Sie ihre Röntgenspuren anzeigen, indem Sie dieX-Ray-NachverfolgungLink imEinzelheiten zur AusführungAbschnitts erstellt.


        X-Ray-Spuren

Nachdem Sie X-Ray für Ihre Zustandsmaschine aktiviert haben, können Sie Ablaufverfolgungsinformationen für ihre Ausführungen in der X-Ray-Konsole anzeigen.

X-Ray-Ablaufverfolgungsinformationen für Step Functions anzeigen

Die folgenden Schritte veranschaulichen, welche Informationen Sie in der Konsole sehen können, nachdem Sie X-Ray aktiviert und eine Ausführung ausgeführt haben. X-Ray-NachverfolgungBeispiel für Callback-Muster (Amazon SQS, Amazon SNS, Lambda) Beispielprojekt werden gezeigt.

Ablaufverfolgungen

Nachdem die Ausführung abgeschlossen ist, können Sie zur X-Ray-Konsole navigieren, wo Sie das X-Ray sehenAblaufverfolgungenangezeigten. Dies zeigt einen Überblick über die Service Map sowie Trace- und Segmentinformationen für Ihre Zustandsmaschine.


        X-Ray-Spuren

Service-Übersicht

Die -Servicezuordnung in der X-Ray-Konsole hilft Ihnen, fehlerhafte Services zu identifizieren, in denen Verbindungen mit hoher Latenz bestehen oder Ablaufverfolgungen für erfolglose Anforderungen zu erkennen.


        X-Ray-Spuren

In der Ablaufverfolgungszuordnung können Sie einen Service-Knoten auswählen, um Anforderungen für diesen Knoten anzuzeigen, oder eine Edge zwischen zwei Knoten, um Anforderungen zu sehen, die diese Verbindung passiert haben. Hier gilt dasWaitForCallBack-Knoten ausgewählt wurde, und Sie können zusätzliche Informationen über seine Ausführung und den Antwortstatus anzeigen.


        X-Ray-Spuren

Sie können sehen, wie die X-Ray Service Map mit der Zustandsmaschine korreliert. Für jede Serviceintegration, die von Step Functions aufgerufen wird, gibt es einen Service Map-Knoten, sofern er X-Ray unterstützt.


        X-Ray-Spuren

Segmente und Untersegmente

EINSpurist eine Sammlung vonSegmentegeneriert durch eine einzelne Anforderung. Jedes Segment enthält den Namen der Ressource, Details zu der Anforderung und Details zu den erledigten Aufgaben. Auf derAblaufverfolgungenkönnen Sie die Segmente und, falls erweitert, die entsprechenden Untersegmente sehen. Sie können ein Segment oder ein Untersegment auswählen, um detaillierte Informationen zu diesem anzuzeigen.

Wählen Sie die einzelnen Registerkarten aus, um zu sehen, wie Informationen für Segmente und Untersegmente angezeigt werden.

Overview of Segments

Ein Überblick über Segmente und Untersegmente für diese Zustandsmaschine. Für jeden Knoten auf der Service Map gibt es ein anderes Segment.


              Segmente
View segment detail

Die Auswahl eines Segments enthält den Namen der Ressource, Details zu der Anforderung und Details zu den erledigten Aufgaben.


              Segment (Details)
View subsegment detail

Ein Segment kann die Daten zu der geleisteten Arbeit in Untersegmente unterteilen. Wenn Sie ein Teilsegment auswählen, können Sie detailliertere Timing-Informationen und -Details anzeigen. Ein Untersegment kann zusätzliche Details zu einem Aufruf einerAWS-Service, eine externe HTTPoder eine SQL-Datenbank.


              Untersegment-Details

Analysen

DieAWS X-Ray Analysenconsole ist ein interaktives Tool zur Interpretation von Ablaufverfolgungsdaten. Sie können dies verwenden, um leichter zu verstehen, wie sich Ihre Zustandsmaschine entwickelt. Die Konsole ermöglicht Ihnen das Erkunden, Analysieren und Visualisieren von Ablaufverfolgungen durch interaktive Reaktionszeit und Zeitreihen-Diagramme. Auf diese Weise können Sie Leistungs- und Latenzprobleme schnell lokalisieren.

Sie können die aktiven Datasets mit zunehmend granularen Filtern anpassen, indem Sie auf die Diagramme und die Bereiche der Metriken und Felder klicken, die der aktuellen Ablaufverfolgungsreihe zugeordnet sind.


        Analysen

Konfiguration

Sie können Sampling- und Verschlüsselungsoptionen von der X-Ray-Konsole aus konfigurieren.

Sampling

Klicken Sie aufSamplingum Details zu Abtastrate und Konfiguration anzuzeigen. Sie können die Samplingregeln ändern, um die Menge der von Ihnen aufgezeichneten Daten zu steuern und das Samplingverhalten an Ihre spezifischen Anforderungen anzupassen.


              Sampling
Encryption

Klicken Sie aufVerschlüsselungum die Verschlüsselungseinstellungen zu ändern. Sie können die Standardeinstellung verwenden, bei der X-Ray Traces und Restdatum verschlüsselt, oder Sie können bei Bedarf einen Kunden-Masterschlüssel wählen. Standard-AWS KMSIm letzteren Fall fallen Gebühren an.


              Verschlüsselungseinstellungen

Was ist, wenn die Trace Map oder Service Map keine Daten enthält?

Wenn Sie X-Ray aktiviert haben, aber keine Daten in der X-Ray-Konsole sehen können, überprüfen Sie Folgendes:

  • Ihre IAM-Rollen sind korrekt eingerichtet, um das Schreiben in X-Ray zu ermöglichen.

  • Stichprobenregeln ermöglichen das Abtasten von Daten.

  • Da es eine kurze Verzögerung geben kann, bevor neu erstellte oder geänderte IAM-Rollen angewendet werden, überprüfen Sie die Ablaufverfolgung oder die Service Maps nach einigen Minuten erneut.

  • Wenn Sie sehenDaten nicht gefundenüberprüfen Sie im Fenster X-Ray Traces IhreIAM-Kontoeinstellungenund sorge dafür, dassAWS Security Token Serviceist für die vorgesehene Region aktiviert. Weitere Informationen finden Sie unterdas IAM-Benutzerhandbuchaus.