Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Trace Step Functions fordern Daten an in AWS X-Ray

Fokusmodus
Trace Step Functions fordern Daten an in AWS X-Ray - 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.

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.

Sie können AWS X-Raydamit die Komponenten Ihrer Zustandsmaschine visualisieren, Leistungsengpässe identifizieren und Anfragen, die zu einem Fehler geführt haben, beheben. Ihr State Machine sendet Trace-Daten an X-Ray, und X-Ray verarbeitet die Daten, um eine Service-Map und durchsuchbare Trace-Zusammenfassungen zu erstellen.

Wenn X-Ray für Ihren State Machine aktiviert ist, können Sie Anfragen verfolgen, während sie in Step Functions ausgeführt werden, und zwar in allen AWS Regionen, in denen X-Ray verfügbar ist. Auf diese Weise erhalten Sie einen detaillierten Überblick über eine gesamte Step Functions Functions-Anfrage. Step Functions sendet Traces zur Ausführung von State Machines an X-Ray, auch wenn keine Trace-ID von einem Upstream-Dienst übergeben wird. Sie können eine X-Ray-Servicekarte verwenden, um die Latenz einer Anfrage anzuzeigen, einschließlich aller AWS Dienste, die in X-Ray integriert sind. Sie können auch Sampling-Regeln konfigurieren, um X-Ray gemäß den von Ihnen angegebenen Kriterien mitzuteilen, welche Anfragen aufgezeichnet werden sollen und mit welchen Abtastraten.

Wenn X-Ray für Ihre Zustandsmaschine nicht aktiviert ist und ein Upstream-Dienst keine Trace-ID weitergibt, 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 dann Traces an X-Ray zur Ausführung von Zustandsmaschinen.

Sie können Step Functions in Regionen verwenden AWS X-Ray , in denen beide unterstützt werden. Informationen zur regionalen Unterstützung für X-Ray und Step Functions finden Sie auf den Seiten Step Functions und X-Ray Endpoints and Quotas.

Kombinierte Quoten für X-Ray- und Step Functions

Sie können einem Trace Daten für bis zu sieben Tage hinzufügen und Trace-Daten abfragen, die dreißig Tage zurückreichen, also den Zeitraum, in dem X-Ray Trace-Daten speichert. Ihre Spuren unterliegen den X-Ray-Kontingenten. Zusätzlich zu anderen Kontingenten bietet X-Ray eine garantierte Mindest-Trace-Größe von 100 KiB für Step Functions Functions-Zustandsmaschinen. Wenn mehr als 100 KiB an Trace-Daten für X-Ray bereitgestellt werden, kann dies zu einer eingefrorenen Spur führen. Weitere Informationen zu anderen Kontingenten für X-Ray finden Sie im Abschnitt Servicequotas auf der Seite X-Ray-Endpunkte und Kontingente.

Wichtig

Step Functions unterstützt das X-Ray-Tracing für untergeordnete Workflow-Ausführungen, die mit einem Distributed Map-Status gestartet wurden, nicht, da es leicht ist, die Größenbeschränkung für Trace-Dokumente für solche Ausführungen zu überschreiten.

Einrichtung und Konfiguration

X-Ray-Tracing beim Erstellen einer Zustandsmaschine aktivieren

Sie können die Röntgenverfolgung aktivieren, wenn Sie eine neue Zustandsmaschine erstellen, indem Sie auf der Seite Details angeben die Option X-Ray-Tracing aktivieren auswählen.

  1. Öffnen Sie die Step Functions Functions-Konsole und wählen Sie Create State Machine.

  2. Wählen Sie auf der Seite „Erstellungsmethode auswählen“ eine geeignete Option aus, um Ihre Zustandsmaschine zu erstellen. Wenn Sie Beispielprojekt ausführen wählen, können Sie die Röntgenverfolgung während der Erstellung der Zustandsmaschine nicht aktivieren. Sie müssen die Röntgenverfolgung aktivieren, nachdem Ihre Zustandsmaschine erstellt wurde. Weitere Hinweise zur Aktivierung von X-Ray in einer vorhandenen Zustandsmaschine finden Sie unterX-Ray in einer vorhandenen Zustandsmaschine aktivieren.

    Wählen Sie Weiter.

  3. Konfigurieren Sie auf der Seite „Details angeben“ Ihren Zustandsmaschine.

  4. Wählen Sie X-Ray Tracing aktivieren.

    Ihre Step Functions Functions-Zustandsmaschine sendet nun Traces zur Ausführung von Zustandsmaschinen an X-Ray.

    Anmerkung

    Wenn Sie sich dafür entscheiden, eine bestehende IAM-Rolle zu verwenden, sollten Sie sicherstellen, dass X-Ray-Schreibvorgänge zulässig sind. Weitere Informationen zu den Berechtigungen, die Sie benötigen, finden Sie im folgenden Thema.

IAM-Richtlinien, die AWS X-Ray In-Step-Funktionen verwenden

Um X-Ray Tracing zu aktivieren, benötigen Sie eine IAM-Richtlinie mit entsprechenden Berechtigungen, um die Ablaufverfolgung zu ermöglichen. Wenn Ihr State Machine andere integrierte Dienste verwendet, benötigen Sie möglicherweise zusätzliche IAM-Richtlinien. Sehen Sie sich die IAM-Richtlinien für Ihre spezifischen Serviceintegrationen an.

Wenn Sie X-Ray Tracing für einen vorhandenen State Machine aktivieren, müssen Sie sicherstellen, dass Sie eine Richtlinie mit ausreichenden Berechtigungen hinzufügen, um X-Ray Traces zu aktivieren.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": [ "*" ] } ] }

X-Ray in einer vorhandenen Zustandsmaschine aktivieren

Um X-Ray in einer vorhandenen Zustandsmaschine zu aktivieren:

  1. Wählen Sie in der Step Functions Functions-Konsole den Zustandsmaschine aus, für den Sie die Ablaufverfolgung aktivieren möchten.

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

  3. Wählen Sie X-Ray Tracing aktivieren.

    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 bestehende 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 den IAM-Richtlinien fürIAM-Richtlinien, die AWS X-Ray In-Step-Funktionen verwenden.

  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.

X-Ray Tracing für Step Functions konfigurieren

Wenn Sie einen State Machine mit aktiviertem X-Ray Tracing zum ersten Mal ausführen, verwendet er die Standardkonfigurationswerte für X-Ray Tracing. AWS X-Ray sammelt nicht Daten für jede Anfrage, die an eine Anwendung gesendet wird. Stattdessen sammelt es Daten für eine statistisch signifikante Anzahl von Anfragen. Standardmäßig werden die erste Anfrage jede Sekunde und fünf Prozent aller weiteren Anfragen 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 so konfigurieren, dass die standardmäßige Stichprobenregel geändert und zusätzliche Regeln konfiguriert werden, die das Sampling auf der Grundlage der Eigenschaften des Dienstes oder der Anfrage anwenden.

Möglicherweise möchten Sie das Sampling deaktivieren und alle Anfragen für Aufrufe verfolgen, die den Status oder die Bearbeitung AWS-Konten von Transaktionen ändern. Bei Anrufen mit hohem Volumen, die nur lesbar sind, wie z. B. Hintergrundabfragen, Integritätsprüfungen oder Verbindungswartung, können Sie Samplingraten verwenden und trotzdem genügend Daten abrufen, um auftretende Probleme zu beobachten.

So konfigurieren Sie eine Stichprobenregel für Ihren State Machine:

  1. Gehe zur X-Ray-Konsole.

  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 Sampling-Regeln, wie Name und Priorität, können nicht geändert werden. Fügen Sie stattdessen eine bestehende Regel hinzu oder klonen Sie sie, nehmen Sie die gewünschten Änderungen vor und verwenden Sie dann die neue Regel.

Ausführliche Informationen zu den Regeln für die Röntgenabtastung und zur Konfiguration der verschiedenen Parameter finden Sie unter Konfiguration von Probenahmeregeln in der X-Ray-Konsole.

Integrieren Sie vorgelagerte Dienste

Um die Ausführung von Step Functions Functions-Workflows wie Express-, Synchronous- und Standard-Workflows in einen Upstream-Service zu integrieren, müssen Sie den traceHeader einrichten. Dies wird automatisch für Sie erledigt, wenn Sie eine HTTP-API in API Gateway verwenden. Wenn Sie jedoch eine Lambda-Funktion und/oder ein SDK verwenden, müssen Sie die traceHeader On-the StartExecution- oder StartSyncExecutionAPI-Aufrufe selbst festlegen.

Sie müssen das traceHeader Format als \p{ASCII}∗ angeben. Damit Step Functions dieselbe Trace-ID verwenden kann, müssen Sie außerdem das Format als angebenRoot={TRACE_ID};Sampled={1 or 0}. Wenn Sie eine Lambda-Funktion verwenden, ersetzen Sie die durch die TRACE_ID Trace-ID in Ihrem aktuellen Segment und legen Sie das Feld Sampled so fest, als 1 ob Ihr Sampling-Modus wahr und Ihr Sampling-Modus falsch 0 wäre. Wenn Sie die Trace-ID in diesem Format angeben, wird sichergestellt, dass Sie eine vollständige Ablaufverfolgung erhalten.

Das Folgende ist ein in Python geschriebenes Beispiel, um zu zeigen, wie man die spezifizierttraceHeader.

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

In der AWS X-Ray Konsole können Sie Service-Maps und Traces für Anfragen anzeigen, die Ihre Anwendungen bearbeiten, wenn X-Ray für Ihren State Machine aktiviert ist.

Informationen Ansicht der X-Ray-Konsole zum Zugriff auf die X-Ray-Konsole für Ihre State-Machine-Ausführungen finden Sie unter.

Ausführliche Informationen zur X-Ray-Konsole finden Sie in der Dokumentation zur X-Ray-Konsole.

Segmente, Untersegmente und Spuren

Ein Segment zeichnet Informationen über eine Anfrage an Ihren State Machine auf. Es enthält Informationen wie die Arbeit, die Ihr State Machine ausführt, und kann auch Untersegmente mit Informationen zu Downstream-Aufrufen enthalten.

Ein Trace sammelt alle Segmente, die durch eine einzelne Anfrage generiert wurden.

Sampling

Um ein effizientes Tracing zu gewährleisten und eine repräsentative Stichprobe der Anfragen bereitzustellen, die Ihre Anwendung bearbeitet, wendet X-Ray einen Sampling-Algorithmus an, um zu bestimmen, welche Anfragen nachverfolgt werden. Dies kann durch Bearbeiten der Stichprobenregeln geändert werden.

Metriken

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

Analysen

Die AWS X-Ray Analytics-Konsole ist ein interaktives Tool zur Interpretation von Trace-Daten. 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. Sie können die Leistung Ihres State Machine analysieren, um Leistungsprobleme zu lokalisieren und zu identifizieren.

Ausführliche Informationen zu X-Ray-Analysen finden Sie unter Interaktion mit der AWS X-Ray Analytics-Konsole

Step Functions Serviceintegrationen und X-Ray

Einige der AWS Dienste, die in Step Functions integriert sind, ermöglichen die Integration, AWS X-Ray indem sie Anfragen einen Tracing-Header hinzufügen, den X-Ray-Daemon ausführen oder Sampling-Entscheidungen treffen und Trace-Daten auf X-Ray hochladen. Andere müssen mit dem SDK instrumentiert werden. AWS X-Ray Einige unterstützen die X-Ray-Integration noch nicht. Bei Verwendung einer Serviceintegration mit Step Functions ist eine X-Ray-Integration erforderlich, um vollständige Trace-Daten bereitzustellen

Native X-Ray-Unterstützung

Zu den Serviceintegrationen mit nativer X-Ray-Unterstützung gehören:

Instrumentierung erforderlich

Serviceintegrationen, die Röntgeninstrumente erfordern:

  • Amazon Elastic Container Service

  • AWS Batch

  • AWS Fargate

Nur clientseitige Ablaufverfolgung

Andere Serviceintegrationen unterstützen keine X-Ray-Traces. Client-seitige Traces können jedoch weiterhin erfasst werden:

  • Amazon-DynamoDB

  • Amazon EMR

  • Amazon SageMaker KI

  • AWS CodeBuild

  • AWS Glue

Ansicht der X-Ray-Konsole

X-Ray empfängt Daten von Diensten als Segmente. X-Ray gruppiert Segmente, die eine gemeinsame Anforderung haben, in Traces. X-Ray verarbeitet die Traces, um ein Service-Diagramm zu erstellen, das eine visuelle Darstellung Ihrer Anwendung bietet.

Nachdem Sie die Ausführung Ihrer Zustandsmaschine gestartet haben, können Sie deren X-Ray-Traces anzeigen, indem Sie im Abschnitt Ausführungsdetails auf den Link X-Ray-Trace-Map klicken.

Nachdem Sie X-Ray für Ihren State Machine aktiviert haben, können Sie die Ablaufverfolgungsinformationen für seine Ausführungen in der X-Ray-Konsole anzeigen.

Röntgenverfolgungsinformationen 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. Röntgenspuren für das Erstellen Sie ein Beispiel für ein Callback-Muster mit Amazon SQS, Amazon SNS und Lambda Beispielprojekt werden angezeigt.

Ablaufverfolgungen

Nachdem die Ausführung abgeschlossen ist, können Sie zur X-Ray-Konsole navigieren, wo Sie die Seite X-Ray Traces sehen. Auf dieser Seite werden eine Übersicht über die Service-Map sowie Trace- und Segmentinformationen für Ihren State Machine angezeigt.

Illustrativer Screenshot von Röntgenspuren für eine Zustandsmaschine.

Service-Übersicht

Die Service-Map in der X-Ray-Konsole hilft Ihnen dabei, Dienste zu identifizieren, bei denen Fehler auftreten, bei denen Verbindungen mit hoher Latenz bestehen, oder Traces für Anfragen zu sehen, die nicht erfolgreich waren.

Illustrativer Screenshot, der sich auf die Servicekarte in X-Ray Traces konzentriert.

Auf der Trace-Map können Sie einen Dienstknoten auswählen, um Anfragen für diesen Knoten anzuzeigen, oder eine Kante zwischen zwei Knoten, um Anfragen anzuzeigen, die diese Verbindung zurückgelegt haben. Hier wurde der WaitForCallBack Knoten ausgewählt, und Sie können zusätzliche Informationen zu seinem Ausführungs- und Antwortstatus anzeigen.

Beispieldetails für einen Röntgen-Trace-Knoten.

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

Grafische Beispieldarstellung der Zustandsmaschine, die verfolgt wird.

Segmente und Untersegmente

Ein Trace ist eine Sammlung von Segmenten, die durch eine einzelne Anfrage generiert werden. Jedes Segment enthält den Namen der Ressource, Details zur Anfrage und Details zur geleisteten Arbeit. Auf der Seite Traces können Sie die Segmente und, falls sie erweitert sind, die entsprechenden Untersegmente sehen. Sie können ein Segment oder Untersegment auswählen, um detaillierte Informationen dazu anzuzeigen.

Sie werden für jeden Knoten auf der Service-Map ein anderes Segment sein.

Beispiel-Screenshot von Segmenten und Untersegmenten für eine State Machine.

Wenn Sie ein Segment auswählen, erhalten Sie den Namen der Ressource, Details zur Anfrage und Details zur geleisteten Arbeit.

Ein Segment kann die Daten zu der geleisteten Arbeit in Untersegmente unterteilen. Wenn Sie ein Untersegment auswählen, werden detaillierte Zeitinformationen und Details angezeigt. Ein Untersegment kann zusätzliche Details zu einem Aufruf eines AWS Dienstes, einer externen HTTP-API oder einer SQL-Datenbank enthalten.

Analysen

Die AWS X-Ray Analytics-Konsole ist ein interaktives Tool zur Interpretation von Trace-Daten. Sie können dies verwenden, um leichter zu verstehen, wie Ihre Zustandsmaschine abschneidet. Mithilfe interaktiver Reaktionszeit- und Zeitreihendiagramme können Sie Traces untersuchen, analysieren und visualisieren, um Leistungs- und Latenzprobleme zu 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.

Konfiguration

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

  • Wählen Sie Sampling, um Details zur Sampling-Rate und Konfiguration anzuzeigen.

    Sie können die Stichprobenregeln ändern, um die Menge der aufzuzeichnenden Daten zu kontrollieren, und das Sampling-Verhalten an Ihre spezifischen Anforderungen anpassen.

  • Wählen Sie Verschlüsselung, um die Verschlüsselungseinstellungen zu ändern.

    Sie können die Standardeinstellung verwenden, bei der X-Ray Traces und ruhende Daten verschlüsselt, oder Sie können bei Bedarf einen KMS-Schlüssel wählen. Im letzteren Fall AWS KMSfallen Standardgebühren an.

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 die Stichprobenerhebung von Daten.

  • Da es zu einer kurzen Verzögerung kommen kann, bis neu erstellte oder geänderte IAM-Rollen angewendet werden, sollten Sie die Trace- oder Servicezuordnungen nach einigen Minuten erneut überprüfen.

  • Wenn im Fenster „X-Ray Traces“ die Option „Daten nicht gefunden“ angezeigt wird, überprüfen Sie Ihre IAM-Kontoeinstellungen und stellen Sie sicher, AWS Security Token Service dass sie für die gewünschte Region aktiviert sind. Weitere Informationen finden Sie unter Aktivierung und Deaktivierung AWS STSAWS-Region im IAM-Benutzerhandbuch.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.