

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.

# Verwendung von CloudWatch Logs zur Protokollierung des Ausführungsverlaufs in Step Functions
<a name="cw-logs"></a>

Standard-Workflows zeichnen den Ausführungsverlauf auf AWS Step Functions, obwohl Sie optional die Protokollierung in Amazon CloudWatch Logs konfigurieren können.

Anders als Standard-Workflows zeichnen Express-Workflows den Ausführungsverlauf nicht in AWS Step Functions auf. Um den Ausführungsverlauf und die Ergebnisse für einen Express-Workflow zu sehen, müssen Sie die Protokollierung in Amazon CloudWatch Logs konfigurieren. Durch das Veröffentlichen von Protokollen werden die Ausführungen nicht blockiert oder verlangsamt.

**Garantien für die Protokollzustellung**  
Amazon CloudWatch Logs werden nach bestem Wissen und Gewissen geliefert. Die Vollständigkeit und Aktualität der Protokolleinträge können nicht garantiert werden. Wenn Sie einen garantierten Workflow-Verlauf in Express Workflows benötigen, empfehlen wir Ihnen, Workflow-Schritte zu implementieren, um Daten in einem geeigneten Datenspeicherservice wie Amazon DynamoDB aufzuzeichnen. Alternativ könnten Sie die Verwendung von **Standard-Workflows** für eine garantierte Ausführungshistorie in Betracht ziehen.

**Preisinformationen**  
Wenn Sie die Protokollierung konfigurieren, [fallen CloudWatch Logs-Gebühren](https://aws.amazon.com/cloudwatch/pricing) an, und Ihnen wird der Tarif für verkaufte Logs in Rechnung gestellt. Weitere Informationen finden Sie auf der Seite mit den **Preisen unter Vended Logs** **unter dem Tab Logs**. CloudWatch 

## Konfigurieren der -Protokollierung
<a name="monitoring-logging-configure"></a>

Wenn Sie mit der Step Functions Functions-Konsole einen Standard-Workflow erstellen, ist dieser Zustandsmaschine **nicht** so konfiguriert, dass er CloudWatch Protokolle an Logs sendet. Wenn Sie mit der Step Functions Functions-Konsole einen Express-Workflow erstellen, ist dieser Zustandsmaschine standardmäßig so konfiguriert, dass er CloudWatch Protokolle an Logs sendet. 

Für Express-Workflows kann Step Functions eine Rolle mit der erforderlichen AWS Identity and Access Management (IAM-) Richtlinie für CloudWatch Logs erstellen. Wenn Sie einen Standard-Workflow oder einen Express-Workflow mithilfe der API, CLI oder der API erstellen CloudFormation, aktiviert Step Functions die Protokollierung standardmäßig nicht, und Sie müssen sicherstellen, dass Ihre Rolle über die erforderlichen Berechtigungen verfügt.

Für jede Ausführung, die von der Konsole aus gestartet wird, stellt Step Functions einen Link zu CloudWatch Logs bereit, der mit dem richtigen Filter konfiguriert ist, um Log-Ereignisse abzurufen, die für diese Ausführung spezifisch sind. 

Sie können optional vom Kunden verwaltete AWS KMS Schlüssel konfigurieren, um Ihre Protokolle zu verschlüsseln. [Verschlüsselung von Daten im Ruhezustand](encryption-at-rest.md)Einzelheiten und Berechtigungseinstellungen finden Sie unter.

Um die Protokollierung zu konfigurieren, können Sie den [LoggingConfiguration](https://docs.aws.amazon.com/step-functions/latest/apireference/API_LoggingConfiguration.html)Parameter übergeben, wenn Sie [CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html)oder verwenden [UpdateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html). Mithilfe von CloudWatch Logs Insights können Sie Ihre Daten in CloudWatch Logs weiter analysieren. Weitere Informationen finden Sie unter [Analysieren von Protokolldaten mit CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

## CloudWatch Protokolliert Payloads
<a name="cloudwatch-payload"></a>

Ereignisse in der Ausführungshistorie können entweder Eingabe- oder Ausgabeeigenschaften in ihren Definitionen enthalten. Wenn die an CloudWatch Logs gesendete Escape-Eingabe oder Escape-Ausgabe 248 KiB überschreitet, werden sie aufgrund der CloudWatch Log-Kontingente gekürzt.
+  Anhand der Eigenschaften und können Sie feststellen, ob eine Payload gekürzt wurde. `inputDetails` `outputDetails` Weitere Informationen finden Sie unter [`HistoryEventExecutionDataDetails`Datentyp](https://docs.aws.amazon.com/step-functions/latest/apireference/API_HistoryEventExecutionDataDetails.html). 
+  Für Standard-Workflows können Sie den vollständigen Ausführungsverlauf anzeigen, indem Sie [https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html) 
+  `GetExecutionHistory`ist für Express-Workflows nicht verfügbar. Wenn Sie die vollständige Eingabe und Ausgabe sehen möchten, können Sie Amazon S3 verwenden ARNs. Weitere Informationen finden Sie unter [Amazon S3 verwenden, ARNs anstatt große Nutzlasten in Step Functions zu übergeben](sfn-best-practices.md#avoid-exec-failures). 

## IAM-Richtlinien für die Protokollierung in Protokollen CloudWatch
<a name="cloudwatch-iam-policy"></a>

Wie im folgenden Beispiel gezeigt, müssen Sie auch die Ausführungs-IAM-Rolle Ihres Zustandsmaschinen so konfigurieren, dass Sie über die erforderlichen Berechtigungen für die CloudWatch Protokollierung in Logs verfügen.

**Beispiel für eine IAM-Richtlinie**  
Im Folgenden finden Sie eine Beispielrichtlinie, mit der Sie Ihre Berechtigungen konfigurieren können. Wie im folgenden Beispiel gezeigt, müssen Sie **\*** in das `Resource` Feld eingeben. CloudWatch API-Aktionen wie CreateLogDelivery und unterstützen keine [Ressourcentypen DescribeLogGroups, die von definiert sind Amazon CloudWatch Logs](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-resources-for-iam-policies). Weitere Informationen finden Sie unter [Aktionen, die von definiert](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-actions-as-permissions) sindAmazon CloudWatch Logs.
+ Informationen zu CloudWatch Ressourcen finden Sie unter [CloudWatch LogsRessourcen und Abläufe](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format) im * CloudWatch Amazon-Benutzerhandbuch*.
+ Informationen zu den Berechtigungen, die Sie benötigen, um das Senden von Protokollen an CloudWatch Logs einzurichten, finden Sie unter [Benutzerberechtigungen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-CWL) im Abschnitt *Gesendete Logs CloudWatch Logs*.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:CreateLogStream",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutLogEvents",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"
            ],
            "Resource": "*"
        }
    ]
}
```

## Protokollebenen für Ausführungsereignisse von Step Functions
<a name="cloudwatch-log-level"></a>

Die Protokollebenen reichen von `ALL` `ERROR` bis `FATAL` bis`OFF`. Alle Ereignistypen werden protokolliert. Wenn diese Einstellung auf gesetzt ist`ALL`, werden keine Ereignistypen protokolliert`OFF`. Informationen zu `ERROR` und `FATAL` finden Sie in der folgenden Tabelle.

Weitere Informationen zu den Ausführungsdaten, die für Express Workflow-Ausführungen auf der Grundlage dieser **Protokollebenen** angezeigt werden, finden Sie unter[Bei Standard- und Express-Konsolen gibt es Unterschiede](concepts-view-execution-details.md#console-exp-differences).


| Ereignistyp | `ALL` | `ERROR` | `FATAL` | `OFF` | 
| --- | --- | --- | --- | --- | 
| ChoiceStateEntered | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ChoiceStateExited | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ExecutionAborted | Geloggt | Geloggt | Geloggt | Nicht angemeldet | 
| ExecutionFailed | Geloggt | Geloggt | Geloggt | Nicht angemeldet | 
| ExecutionStarted | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ExecutionSucceeded | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ExecutionTimedOut | Geloggt | Geloggt | Geloggt | Nicht angemeldet | 
| FailStateEntered | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| LambdaFunctionFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| LambdaFunctionScheduled | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| LambdaFunctionScheduleFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| LambdaFunctionStarted | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| LambdaFunctionStartFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| LambdaFunctionSucceeded | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| LambdaFunctionTimedOut | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| MapIterationAborted | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| MapIterationFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| MapIterationStarted | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| MapIterationSucceeded | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| MapRunAborted | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| MapRunFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| MapStateAborted | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| MapStateEntered | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| MapStateExited | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| MapStateFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| MapStateStarted | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| MapStateSucceeded | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ParallelStateAborted | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| ParallelStateEntered | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ParallelStateExited | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ParallelStateFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| ParallelStateStarted | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| ParallelStateSucceeded | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| PassStateEntered | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| PassStateExited | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| SucceedStateEntered | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| SucceedStateExited | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| TaskFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| TaskScheduled | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| TaskStarted | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| TaskStartFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| TaskStateAborted | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| TaskStateEntered | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| TaskStateExited | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| TaskSubmitFailed | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| TaskSubmitted | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| TaskSucceeded | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| TaskTimedOut | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| WaitStateAborted | Geloggt | Geloggt | Nicht angemeldet | Nicht angemeldet | 
| WaitStateEntered | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 
| WaitStateExited | Geloggt | Nicht angemeldet | Nicht angemeldet | Nicht angemeldet | 

## Problembehandlung bei der Protokollierung in CloudWatch Logs
<a name="cloudwatch-log-troubleshooting"></a><a name="troubleshooting-logging-to-cloudwatch"></a>

Wenn Ihr Zustandsmaschine keine CloudWatch Protokolle an Logs senden kann oder Ihnen die folgende Fehlermeldung angezeigt wird: "`AccessDeniedException : The state machine IAM Role is not authorized to access the Log Destination`„, versuchen Sie es mit den folgenden Schritten:

1. Stellen Sie sicher, dass die Ausführungsrolle Ihres Zustandsmaschinen berechtigt ist, sich in CloudWatch Logs zu protokollieren.

   Wenn Sie [UpdateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html)API-Endpunkte aufrufen [CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html), stellen Sie sicher, dass die im `roleArn` Parameter angegebene IAM-Rolle die erforderlichen Berechtigungen bereitstellt, wie im vorherigen Beispiel für eine IAM-Richtlinie gezeigt.

1. Stellen Sie sicher, dass die Ressourcenrichtlinie für CloudWatch Logs das Limit von 5.120 Zeichen nicht überschreitet.

   Wenn die Richtlinie die Zeichenbeschränkung überschreitet, stellen Sie Ihren Protokollgruppennamen ein Präfix voran, `/aws/vendedlogs/states` um Ihren Zustandsmaschinen Berechtigungen zu gewähren und das Limit zu umgehen. 

   Wenn Sie eine Protokollgruppe in der Step Functions Functions-Konsole erstellen, wird den vorgeschlagenen Protokollgruppennamen bereits ein Präfix `/aws/vendedlogs/states` vorangestellt. Weitere Informationen zu bewährten Methoden für die Protokollierung finden Sie unter[Vermeidung von Größenbeschränkungen CloudWatch durch Ressourcenrichtlinien](sfn-best-practices.md#bp-cwl).

1. Vergewissern Sie sich, dass die Anzahl der Ressourcenrichtlinien für CloudWatch Logs Log im Konto unter **zehn** liegt.

   CloudWatch Logs hat ein Kontingent von zehn Ressourcenrichtlinien pro Region und Konto. Wenn Sie versuchen, die Protokollierung auf einem Zustandsmaschine zu aktivieren, der bereits über zehn Ressourcenrichtlinien verfügt, wird der Zustandsmaschine weder erstellt noch aktualisiert, und Sie erhalten eine Fehlermeldung. Weitere Informationen zu Protokollierungskontingenten finden Sie unter [CloudWatch Protokollkontingente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)

   Um das Problem zu überprüfen, überprüfen Sie die Anzahl der Ressourcenrichtlinien mit dem CLI-Befehl:

    [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-resource-policies.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-resource-policies.html)

   Um das Problem zu lösen, ändern Sie Ihre vorhandenen Ressourcenrichtlinien.

   Erstellen Sie zunächst eine Sicherungskopie der vorhandenen Richtlinien. Fügen Sie dann ähnliche Aktionen oder Ressourcen zu einer neuen Richtlinie zusammen und verwenden Sie den folgenden CLI-Befehl, um eine neue Lieferquelle im Konto zu erstellen: 

   [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-source.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-source.html)

   Nachdem Sie die Richtlinien gesichert und aktualisiert haben, entfernen Sie alle nicht verwendeten Richtlinien mit dem folgenden Befehl:

    [https://docs.aws.amazon.com/cli/latest/reference/logs/delete-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/logs/delete-resource-policy.html)