Step Functions überwachen mit CloudWatch - 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.

Step Functions überwachen mit CloudWatch

Die Überwachung ist ein wichtiger Bestandteil der Aufrechterhaltung der Zuverlässigkeit, Verfügbarkeit AWS Step Functions und Leistung Ihrer AWS Lösungen. Sie sollten so viele Überwachungsdaten von den von Ihnen verwendeten AWS Diensten sammeln, dass Sie Fehler an mehreren Punkten debuggen können. Bevor Sie mit der Überwachung von Step Functions beginnen, sollten Sie einen Überwachungsplan erstellen, der die folgenden Fragen beantwortet:

  • Was sind Ihre Ziele bei der Überwachung?

  • Welche Ressourcen werden überwacht?

  • Wie oft werden diese Ressourcen überwacht?

  • Welche Überwachungstools werden verwendet?

  • Wer soll die Überwachungsaufgaben ausführen?

  • Wer soll benachrichtigt werden, wenn Fehler auftreten?

Der nächste Schritt besteht darin, eine Baseline für normale -Performance in Ihrer Umgebung aufzustellen. Dafür sollten Sie die Performance zu verschiedenen Zeiten und unter verschiedenen Belastungsbedingungen messen. Denken Sie bei der Überwachung von Step Functions darüber nach, historische Überwachungsdaten zu speichern. Solche Daten können eine Basis für den Vergleich mit aktuellen Leistungsdaten bieten, um normale Leistungsmuster und Leistungsanomalien zu identifizieren sowie Verfahren für den Umgang mit Problemen zu entwickeln.

Mit Step Functions können Sie beispielsweise überwachen, wie viele Aktivitäten oder AWS Lambda Aufgaben aufgrund eines Heartbeat-Timeouts fehlschlagen. Wenn die Performance außerhalb Ihrer festgelegten Baseline fällt, müssen Sie eventuell Ihr Heartbeat-Intervall ändern.

Zur Festlegung einer Baseline sollten Sie mindestens die folgenden Metriken überwachen:

  • ActivitiesStarted

  • ActivitiesTimedOut

  • ExecutionsStarted

  • ExecutionsTimedOut

  • LambdaFunctionsStarted

  • LambdaFunctionsTimedOut

In den folgenden Abschnitten werden Metriken beschrieben, die Step Functions Amazon zur Verfügung stellt CloudWatch. Mit diesen Metriken können Sie Ihren Zustandsautomaten und Aktivitäten überwachen sowie Alarme für Schwellenwerte festlegen. Sie können Metriken mit dem anzeigen AWS Management Console.

Metriken, die ein Zeitintervall angeben

Einige der Step Functions CloudWatch Functions-Metriken sind Zeitintervalle, die immer in Millisekunden gemessen werden. Diese Metriken entsprechen im Allgemeinen Phasen Ihrer Ausführung, für die Sie Timeouts für Zustandsmaschinen, Aktivitäten und Lambda-Funktionen mit aussagekräftigen Namen festlegen können.

Die Metrik ActivityRunTime misst die Zeit für die Ausführung einer Aktivität vom Beginn bis zum Abschluss. Sie können einen Timeout-Wert für den gleichen Zeitraum festlegen.

In der CloudWatch Konsole können Sie die besten Ergebnisse erzielen, wenn Sie Durchschnitt als Anzeigestatistik für Zeitintervallmetriken wählen.

Metriken, die eine Anzahl melden

Einige der Step Functions CloudWatch Functions-Metriken geben Ergebnisse als Zählung an. Beispielsweise erfasst ExecutionsFailed die Anzahl fehlgeschlagener Ausführungen von Zustandsautomaten.

Step Functions gibt zwei ExecutionsStarted Metriken für jede State-Machine-Ausführung aus. Dadurch zeigt die SampleCountStatistik für die ExecutionsStarted Metrik für jede Zustandsmaschinen-Ausführung den Wert 2 an. Die SampleCount Statistik zeigt an, ExecutionStarted=0 wann ExecutionStarted=1 die Ausführung abgeschlossen ist.

Tipp

Wir empfehlen, Summe als Anzeigestatistik für Metriken auszuwählen, die eine Anzahl in der CloudWatch Konsole melden.

Ausführungsmetriken

Der AWS/States Namespace enthält die folgenden Metriken für alle Step Functions Functions-Ausführungen. Dies sind dimensionslose Metriken, die für Ihr gesamtes Konto in einer Region gelten.

Metrik Beschreibung
OpenExecutionCount

Ungefähre Anzahl der derzeit offenen Ausführungen — Workflows, die derzeit in Ihrem Konto ausgeführt werden.

Ziel ist es, Ihnen einen Einblick zu geben, wann sich Ihre Workflows dem maximalen Ausführungslimit nähern, um ExecutionLimitExceededFehler beim Aufrufen StartExecution oder RedriveExecution bei Standard-Workflows zu vermeiden.

OpenExecutionCountist eine ungefähre Anzahl offener Workflows. Diese Metrik wird niedriger sein als die beobachtete Anzahl laufender Workflows. Wenn die Anzahl offener Workflows unter 10.000 liegt, werden möglicherweise keine offenen Ausführungen angezeigt. Wir empfehlen, die Statistik Maximum mit einem Schwellenwert von 100.000 oder höher zu verwendenOpenExecutionLimit, da das Standardlimit für offene Workflows bei 1.000.000 Ausführungen liegt, damit ein Alarm ausgelöst wird, wenn Sie sich Ihrem Wert nähern.

OpenExecutionLimit

Maximale Anzahl offener Ausführungen. Weitere Informationen finden Sie unter Kontingente im Zusammenhang mit Konten.

Dieses Limit gilt nicht für Express Workflows.

Ausführungsmetriken für State Machine mit Version oder Alias

Wenn Sie eine State-Machine-Ausführung mit einer Version oder einem Alias ausführen, gibt Step Functions die folgenden Metriken aus. Die ExecutionThrottled Metrik wird nur bei gedrosselter Ausführung ausgegeben. Zu diesen Metriken gehört auch eineStateMachineArn, mit der ein bestimmter Zustandsmaschine identifiziert werden kann.

Metrik Beschreibung
ExecutionTime Intervall in Millisekunden zwischen dem Start der Ausführung und dem Zeitpunkt, zu dem sie beendet wird.
ExecutionThrottled Anzahl der StateEntered Ereignisse und Wiederholungen, die gedrosselt wurden. Dies hängt mit der StateTransition-Ablehnung zusammen. Weitere Informationen finden Sie unter Kontingente im Zusammenhang mit staatlicher Drosselung.
ExecutionsAborted Anzahl der abgebrochenen oder abgebrochenen Ausführungen.
ExecutionsFailed Anzahl der fehlgeschlagenen Ausführungen.
ExecutionsStarted Anzahl der gestarteten Ausführungen.
ExecutionsSucceeded Anzahl der erfolgreich abgeschlossenen Ausführungen.
ExecutionsTimedOut Anzahl der Ausführungen, bei denen aus irgendeinem Grund ein Timeout aufgetreten ist.

Ausführungsmetriken für Express Workflows

Der AWS/States Namespace enthält die folgenden Metriken für die Ausführung von Step Functions Express Workflows.

Metrik Beschreibung
ExpressExecutionMemory

Der gesamte Arbeitsspeicher, der von einem Express-Workflow verbraucht wird.

ExpressExecutionBilledDuration

Die Dauer, für die ein Express-Workflow berechnet wird.

ExpressExecutionBilledMemory

Die Menge an verbrauchtem Speicher, für die ein Express-Workflow berechnet wird.

RedriveAusführungsmetriken für Standard-Workflows

Wenn Sie redriveeine State-Machine-Ausführung ausführen, gibt Step Functions die folgenden Metriken aus.

Für alle redriven Ausführungen wird die Executions* Metrik ausgegeben. Nehmen wir zum Beispiel an, eine redriven Ausführung wird abgebrochen. Diese Ausführung gibt Datenpunkte ungleich Null für sowohl als auch aus. RedrivenExecutionsAborted ExecutionsAborted

Metrik Beschreibung
ExecutionsRedriven Anzahl der Ausführungen. redriven
RedrivenExecutionsAborted Anzahl der redriven Ausführungen, die abgebrochen oder beendet wurden.
RedrivenExecutionsTimedOut Anzahl der redriven Ausführungen, bei denen aus irgendeinem Grund ein Timeout auftritt.
RedrivenExecutionsSucceeded Anzahl der redriven Ausführungen, die erfolgreich abgeschlossen wurden.
RedrivenExecutionsFailed Anzahl der redriven fehlgeschlagenen Ausführungen.

Dimension für die Ausführungsmetriken von Step Functions

Dimension Beschreibung
StateMachineArn

Der Amazon-Ressourcenname (ARN) der Zustandsmaschine für die fragliche Ausführung.

Abmessungen für Ausführungen mit Version

Dimension Beschreibung
StateMachineArn

Der Amazon-Ressourcenname (ARN) der Zustandsmaschine, deren Ausführung durch eine Version gestartet wurde.

Version

State-Machine-Version, mit der die Ausführung gestartet wurde.

Dimensionen für Ausführungen mit einem Alias

Dimension Beschreibung
StateMachineArn

Der Amazon-Ressourcenname (ARN) der Zustandsmaschine, deren Ausführung durch einen Alias gestartet wurde.

Alias

Alias der Zustandsmaschine, der zum Starten der Ausführung verwendet wurde.

Metriken zur Anzahl der Ressourcen für Versionen und Aliase

Der AWS/States Namespace umfasst die folgenden Metriken für die Anzahl der Versionen und Aliase einer Zustandsmaschine.

Metrik Beschreibung
AliasCount

Anzahl der Aliase, die für die Zustandsmaschine erstellt wurden.

Sie können bis zu 100 Aliase für jede Zustandsmaschine erstellen.

VersionCount

Anzahl der für den State Machine veröffentlichten Versionen.

Sie können bis zu 1000 Versionen einer State Machine veröffentlichen.

Dimension für die Anzahl der Ressourcen, Metriken für Versionen und Aliase

Dimension Beschreibung
ResourceArn

Der Amazon-Ressourcenname (ARN) der Zustandsmaschine mit einer Version oder einem Alias.

Metriken für Aktivitäten

Der AWS/States Namespace enthält die folgenden Metriken für Step Functions Functions-Aktivitäten.

Metrik Beschreibung
ActivityRunTime Intervall in Millisekunden zwischen dem Start der Aktivität und dem Zeitpunkt, zu dem sie endet.
ActivityScheduleTime Intervall in Millisekunden, für das die Aktivität im Zeitplanstatus verbleibt.
ActivityTime Intervall in Millisekunden zwischen dem Zeitpunkt, zu dem die Aktivität geplant ist, und dem Zeitpunkt, zu dem sie endet.
ActivitiesFailed Anzahl der fehlgeschlagenen Aktivitäten.
ActivitiesHeartbeatTimedOut Anzahl der Aktivitäten, bei denen aufgrund eines Heartbeat-Timeouts ein Timeout auftritt.
ActivitiesScheduled Anzahl der geplanten Aktivitäten.
ActivitiesStarted Anzahl der gestarteten Aktivitäten.
ActivitiesSucceeded Anzahl der erfolgreich abgeschlossenen Aktivitäten.
ActivitiesTimedOut Anzahl der Aktivitäten, bei denen das Timeout beim Abschluss abgelaufen ist.

Dimension für Step Functions, Aktivitätsmetriken

Dimension Beschreibung

ActivityArn

ARN der Aktivität.

Metriken für die Lambda-Funktion

Der AWS/States Namespace enthält die folgenden Metriken für Step Functions Lambda-Funktionen.

Metrik Beschreibung
LambdaFunctionRunTime Intervall in Millisekunden zwischen dem Start der Lambda-Funktion und dem Zeitpunkt, zu dem sie geschlossen wird.
LambdaFunctionScheduleTime Intervall in Millisekunden, für das die Lambda-Funktion im Zeitplanstatus verbleibt.
LambdaFunctionTime Intervall in Millisekunden zwischen dem Zeitpunkt, zu dem die Lambda-Funktion geplant ist, und dem Zeitpunkt, zu dem sie geschlossen wird.
LambdaFunctionsFailed Anzahl der fehlgeschlagenen Lambda-Funktionen.
LambdaFunctionsScheduled Anzahl der geplanten Lambda-Funktionen.
LambdaFunctionsStarted Anzahl der gestarteten Lambda-Funktionen.
LambdaFunctionsSucceeded Anzahl der erfolgreich abgeschlossenen Lambda-Funktionen.
LambdaFunctionsTimedOut Anzahl der Lambda-Funktionen, bei denen beim Schließen ein Timeout auftritt.

Dimension für Step Functions Lambda-Funktionsmetriken

Dimension Beschreibung

LambdaFunctionArn

ARN der Lambda-Funktion.

Anmerkung

Lambda-Funktionsmetriken werden für Task-Status ausgegeben, die den ARN der Lambda-Funktion im Resource Feld angeben. Aufgabenstatus, die stattdessen Service Integration-Metriken verwenden"Resource": "arn:aws:states:::lambda:invoke", werden ausgegeben. Weitere Informationen finden Sie unter Lambda mit Step-Funktionen aufrufen.

Serviceintegrationsmetriken

Der AWS/States Namespace enthält die folgenden Metriken für Step Functions Functions-Dienstintegrationen. Weitere Informationen finden Sie unter Verwendung AWS Step Functions mit anderen Diensten.

Metrik Beschreibung
ServiceIntegrationRunTime Intervall in Millisekunden zwischen dem Start der Service-Task und dem Zeitpunkt, zu dem sie geschlossen wird.
ServiceIntegrationScheduleTime Intervall in Millisekunden, für das der Service-Task im Zeitplanstatus verbleibt.
ServiceIntegrationTime Intervall in Millisekunden zwischen dem Zeitpunkt, zu dem der Service Task geplant ist, und dem Zeitpunkt, zu dem er geschlossen wird.
ServiceIntegrationsFailed Anzahl der fehlgeschlagenen Serviceaufgaben.
ServiceIntegrationsScheduled Anzahl der geplanten Serviceaufgaben.
ServiceIntegrationsStarted Anzahl der gestarteten Serviceaufgaben.
ServiceIntegrationsSucceeded Anzahl der erfolgreich abgeschlossenen Serviceaufgaben.
ServiceIntegrationsTimedOut Anzahl der Serviceaufgaben, bei denen beim Abschluss ein Timeout auftritt.

Dimension für Step Functions — Serviceintegrationsmetriken

Dimension Beschreibung

ServiceIntegrationResourceArn

Der Ressourcen-ARN des integrierten Service.

Servicemetriken

Der AWS/States Namespace umfasst die folgenden Metriken für den Step Functions Functions-Dienst.

Metrik Beschreibung
ThrottledEvents

Anzahl der Anfragen, die gedrosselt wurden.

ProvisionedBucketSize

Anzahl der verfügbaren Anfragen pro Sekunde.

ProvisionedRefillRate

Anzahl der Anfragen pro Sekunde, die in den Bucket aufgenommen werden dürfen.

ConsumedCapacity

Anzahl der Anfragen pro Sekunde.

Dimension für Step Functions Servicemetriken

Dimension Beschreibung

ServiceMetric

Filtert Daten, um Zustandsübergang-Metriken anzuzeigen.

API-Metriken

Der AWS/States Namespace enthält die folgenden Metriken für die Step Functions Functions-API.

Metrik Beschreibung
ThrottledEvents

Anzahl der Anfragen, die gedrosselt wurden.

ProvisionedBucketSize

Anzahl der verfügbaren Anfragen pro Sekunde.

ProvisionedRefillRate

Anzahl der Anfragen pro Sekunde, die in den Bucket aufgenommen werden dürfen.

ConsumedCapacity

Anzahl der Anfragen pro Sekunde.

Dimension für Step Functions API-Metriken

Dimension Beschreibung

APIName

Filtert Daten nach der API mit dem angegebenen API-Namen

Bereitstellung von CloudWatch Metriken nach bestem Wissen

CloudWatch-Metriken werden auf einer Best-Effort-Basis bereitgestellt.

Die Vollständigkeit und Rechtzeitigkeit der Metriken ist nicht garantiert. Der Datenpunkt für eine bestimmte Anforderung wird möglicherweise mit einem Zeitstempel zurückgegeben, der nach der tatsächlichen Anforderungsverarbeitung liegt. Der Datenpunkt kann für eine Minute verzögert sein, bevor er verfügbar ist CloudWatch, oder er wird möglicherweise gar nicht geliefert. CloudWatchAnforderungsmetriken geben Ihnen nahezu in Echtzeit einen Überblick über die Ausführung der State-Machine-Vorgänge. Es handelt sich nicht um eine vollständige Erfassung aller Ausführungskennzahlen.

Aufgrund des Best-Effort-Charakters dieser Funktion können die im Billing & Cost Management-Dashboard verfügbaren Berichte eine oder mehrere Zugriffsanforderungen enthalten, die nicht in den Ausführungskennzahlen enthalten sind.