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.
Trace Step Functions fordern Daten an in AWS X-Ray
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 und X-Ray verarbeitet die Daten X-Ray, um eine Service-Map und durchsuchbare Trace-Zusammenfassungen zu erstellen.
X-Ray Wenn diese Option für Ihre Zustandsmaschine 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 dies verfügbar ist. Dadurch erhalten Sie einen detaillierten Überblick über eine gesamte Step Functions Functions-Anfrage. Step Functions sendet Traces X-Ray für State-Machine-Ausführungen an, auch wenn keine Trace-ID von einem Upstream-Dienst übergeben wird. Sie können eine X-Ray Service-Map verwenden, um die Latenz einer Anfrage anzuzeigen, einschließlich aller AWS Dienste, die in diese integriert X-Ray sind. Sie können auch Stichprobenregeln konfigurieren, um anhand der von Ihnen angegebenen Kriterien festzulegen, X-Ray welche Anfragen mit welchen Sampling-Raten aufgezeichnet werden sollen.
Wenn X-Ray es für Ihre Zustandsmaschine nicht aktiviert ist und ein Upstream-Service keine Trace-ID weitergibt, sendet Step Functions keine Traces X-Ray für State-Machine-Ausführungen an. Wenn jedoch eine Trace-ID von einem Upstream-Dienst übergeben wird, sendet Step Functions dann Traces X-Ray zur Ausführung von Zustandsmaschinen an.
Sie können Step Functions in Regionen verwenden AWS X-Ray , in denen beide unterstützt werden. Informationen zur Regionsunterstützung für und Step Functions finden Sie auf den Seiten Step Functions und X-RayEndpoints X-Ray und Kontingente.
X-Ray Kombinierte Kontingente mit und schrittweisen Funktionen
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 Trace-Daten X-Ray gespeichert werden. Für Ihre Ablaufverfolgungen gelten X-Ray Kontingente. X-Ray Bietet zusätzlich zu anderen Kontingenten eine garantierte Mindest-Trace-Größe von 100 KiB für Step Functions-Zustandsmaschinen. Wenn mehr als 100 KiB an Trace-Daten zur Verfügung gestellt werden X-Ray, kann dies zu einem eingefrorenen Trace führen. Weitere Informationen zu anderen Kontingenten für finden Sie im Abschnitt „Dienstkontingente“ auf der Seite „X-Ray Endgeräte und Kontingente“. X-Ray
Wichtig
Step Functions unterstützt keine X-Ray Ablaufverfolgung für untergeordnete Workflow-Ausführungen, die durch einen Distributed Map-Status gestartet wurden, da es leicht ist, die Größenbeschränkung für Trace-Dokumente für solche Ausführungen zu überschreiten.
Themen
Einrichtung und Konfiguration
Aktivieren Sie die X-Ray Ablaufverfolgung, wenn Sie eine Zustandsmaschine erstellen
Sie können die X-Ray Ablaufverfolgung beim Erstellen einer neuen Zustandsmaschine aktivieren, indem Sie auf der Seite „Details angeben“ die Option X-Ray Ablaufverfolgung aktivieren auswählen.
-
Öffnen Sie die Step Functions Functions-Konsole
und wählen Sie Create State Machine. -
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 X-Ray Ablaufverfolgung während der Erstellung der Zustandsmaschine nicht aktivieren. Sie müssen die X-Ray Ablaufverfolgung aktivieren, nachdem Ihre Zustandsmaschine erstellt wurde. Weitere Informationen zur Aktivierung X-Ray in einer vorhandenen Zustandsmaschine finden Sie unter. X-Ray In einer vorhandenen Zustandsmaschine aktivieren
Wählen Sie Weiter aus.
-
Konfigurieren Sie auf der Seite „Details angeben“ Ihren Zustandsmaschine.
-
Wählen Sie X-Ray Ablaufverfolgung aktivieren aus.
Ihre Step Functions Functions-Zustandsmaschine sendet nun Traces X-Ray zur Ausführung von Zustandsmaschinen an.
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 verwenden AWS X-Ray In-Step-Funktionen
Um die X-Ray Ablaufverfolgung zu aktivieren, benötigen Sie eine IAM-Richtlinie mit geeigneten 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 die X-Ray Ablaufverfolgung für einen vorhandenen Zustandsmaschine aktivieren, müssen Sie sicherstellen, dass Sie eine Richtlinie mit ausreichenden Berechtigungen hinzufügen, um Traces zu aktivieren. X-Ray
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": [ "*" ] } ] }
X-Ray In einer vorhandenen Zustandsmaschine aktivieren
So aktivieren Sie es X-Ray in einer vorhandenen Zustandsmaschine:
-
Wählen Sie in der Step Functions Functions-Konsole
die Zustandsmaschine aus, für die Sie die Ablaufverfolgung aktivieren möchten. -
Wählen Sie Bearbeiten aus.
-
Wählen Sie X-Ray Ablaufverfolgung aktivieren aus.
Es wird eine Benachrichtigung angezeigt, in der Sie darüber informiert werden, dass Sie möglicherweise weitere Änderungen vornehmen müssen.
Anmerkung
Wenn Sie die Aktivierung X-Ray für einen vorhandenen Zustandsmaschine durchführen, müssen Sie sicherstellen, dass Sie über eine IAM-Richtlinie verfügen, die ausreichende Berechtigungen für X-Ray die Durchführung von Ablaufverfolgungen 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 verwenden AWS X-Ray In-Step-Funktionen.
-
(Optional) Auto-generate Eine neue Rolle für Ihren Zustandsmaschine, die X-Ray Berechtigungen beinhaltet.
-
Wählen Sie Speichern.
X-Ray Tracing für Step Functions konfigurieren
Wenn Sie eine Zustandsmaschine mit aktivierter X-Ray Ablaufverfolgung zum ersten Mal ausführen, verwendet sie die Standardkonfigurationswerte für X-Ray die Ablaufverfolgung. 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 die standardmäßige Stichprobenregel so X-Ray konfigurieren, dass sie geändert und zusätzliche Regeln konfiguriert werden, die die Stichprobenauswahl 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:
-
Rufen Sie die X-Ray -Konsole
auf. -
Wählen Sie Sampling aus.
-
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 vorhandener Stichprobenregeln, wie der Name und die 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 X-Ray Sampling-Regeln und zur Konfiguration der verschiedenen Parameter finden Sie unter Sampling-Regeln konfigurieren in der X-Ray Konsole.
Integrieren Sie Upstream-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 oder and/or ein SDK verwenden, müssen Sie die On-the traceHeader 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)
X-Ray Trace im Header oder in der Payload
Für X-Ray Traces verwenden alle AWS Dienste den X-Amzn-Trace-Id Header der HTTP-Anfrage. Die Verwendung des Headers ist der bevorzugte Mechanismus, um einen Trace zu identifizieren. StartExecutionund StartSyncExecution API-Operationen können auch den Hauptteil traceHeader der Anforderungs-Payload verwenden. Wenn beide Quellen bereitgestellt werden, Schrittfunktionen wird der Header-Wert (bevorzugt) gegenüber dem Wert im Anforderungstext verwendet.
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 sie für Ihren State Machine aktiviert X-Ray ist.
Informationen Die X-Ray Konsole ansehen 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 X-Ray Konsolendokumentation.
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 eine effiziente Ablaufverfolgung zu gewährleisten und eine repräsentative Stichprobe der Anfragen bereitzustellen, die Ihre Anwendung bearbeitet, X-Ray wendet ein Stichprobenalgorithmus an, um zu bestimmen, welche Anfragen nachverfolgt werden. Dies kann geändert werden, indem Sie die Stichprobenregeln bearbeiten.
Kennzahlen
Für Ihre Zustandsmaschine X-Ray werden die Aufrufzeit, die Zustandsübergangszeit, die Gesamtausführungszeit von Step Functions und Abweichungen in dieser Ausführungszeit gemessen. Auf diese Informationen kann über die Konsole zugegriffen werden. X-Ray
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 mit, AWS X-Ray indem sie Anfragen einen Tracing-Header hinzufügen, den X-Ray Daemon ausführen oder Stichprobenentscheidungen treffen und Trace-Daten hochladen. X-Ray Andere müssen mithilfe des SDK instrumentiert werden. AWS X-Ray Einige unterstützen die X-Ray Integration noch nicht. X-Ray Bei Verwendung einer Serviceintegration mit Step Functions ist eine Integration erforderlich, um vollständige Trace-Daten bereitzustellen
Native X-Ray Unterstützung
Zu den Serviceintegrationen mit nativem X-Ray Support gehören:
-
AWS Step Functions
Instrumentierung erforderlich
Serviceintegrationen, die X-RayInstrumentierung erfordern:
-
Amazon Elastic Container Service
-
AWS Batch
-
AWS Fargate
Client-side nur verfolgen
Andere Serviceintegrationen unterstützen keine X-Ray Traces. Clientseitige Traces können jedoch weiterhin erfasst werden:
-
Amazon DynamoDB
-
Amazon EMR
-
Amazon SageMaker KI
-
AWS CodeBuild
-
AWS Glue
Die X-Ray Konsole ansehen
X-Ray empfängt Daten von Diensten als Segmente. X-Ray gruppiert Segmente, die eine gemeinsame Anfrage haben, in Traces. X-Ray verarbeitet die Traces, um ein Service-Diagramm zu generieren, das eine visuelle Darstellung Ihrer Anwendung bietet.
Nachdem Sie die Ausführung Ihrer Zustandsmaschine gestartet haben, können Sie sich die zugehörigen X-Ray Traces ansehen, indem Sie im Abschnitt mit den Ausführungsdetails auf den Link zur X-Ray Trace-Map klicken.
Nachdem Sie die Aktivierung X-Ray für Ihre Zustandsmaschine vorgenommen haben, können Sie die Ablaufverfolgungsinformationen für deren Ausführungen in der X-Ray Konsole einsehen.
X-Ray Ablaufverfolgungsinformationen für Step Functions anzeigen
Die folgenden Schritte veranschaulichen, welche Informationen Sie in der Konsole sehen können, nachdem Sie eine Ausführung aktiviert X-Ray und ausgeführt haben. X-Ray Die Ablaufverfolgungen für das Erstellen Sie ein Beispiel für ein Callback-Muster mit Amazon SQS, Amazon SNS und Lambda Beispielprojekt werden angezeigt.
Ablaufverfolgungen
Nach Abschluss einer Ausführung können Sie zur X-Ray Konsole navigieren, wo Sie die X-Ray Traces-Seite sehen. Auf dieser Seite werden eine Übersicht über die Service-Map sowie Trace- und Segmentinformationen für Ihren State Machine angezeigt.
Service-Übersicht
Mithilfe der Dienstübersicht in der X-Ray Konsole können Sie Dienste identifizieren, bei denen Fehler auftreten, bei denen Verbindungen mit hoher Latenz bestehen, oder Traces für Anfragen anzeigen, die nicht erfolgreich waren.
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.
Sie können sehen, wie die X-Ray Service Map mit dem State Machine korreliert. Für jede Serviceintegration, die von Step Functions aufgerufen wird, gibt es einen Service Map-Knoten, sofern er sie unterstützt X-Ray.
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.
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 Traces und Daten im Ruhezustand X-Ray verschlüsselt werden, oder Sie können bei Bedarf einen KMS-Schlüssel auswählen. Im letzteren Fall AWS KMSfallen Standardgebühren an.
Was ist, wenn die Trace Map oder Service Map keine Daten enthält?
Wenn Sie die Option aktiviert haben X-Ray, aber keine Daten in der X-Ray Konsole sehen können, überprüfen Sie Folgendes:
-
Ihre IAM-Rollen sind korrekt eingerichtet, sodass Sie darauf X-Ray schreiben können.
-
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 Bereich „ X-Ray Traces“ die Option „Daten nicht gefunden“ angezeigt AWS -Security-Token-Service wird, überprüfen Sie Ihre IAM-Kontoeinstellungen
und stellen Sie sicher, dass sie für die gewünschte Region aktiviert sind. Weitere Informationen finden Sie unter Aktivierung und Deaktivierung AWS STSAWS-Region im IAM-Benutzerhandbuch.