

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.

# Protokollierung von Experimenten für AWS FIS
<a name="monitoring-logging"></a>

Sie können die Protokollierung von Experimenten verwenden, um während der Durchführung detaillierte Informationen über Ihr Experiment zu erfassen.

Die Protokollierung von Experimenten wird auf der Grundlage der Kosten berechnet, die mit den einzelnen Protokollzieltypen verbunden sind. Weitere Informationen finden Sie unter [ CloudWatch Amazon-Preise](https://aws.amazon.com/cloudwatch/pricing/) (unter **Bezahltes Kontingent**, **Logs**, **Vended Logs**) und [Amazon S3-Preise](https://aws.amazon.com/s3/pricing/).

## Berechtigungen
<a name="permissions-experiment-logging"></a>

Sie müssen AWS FIS-Berechtigungen zum Senden von Protokollen an jedes von Ihnen konfigurierte Protokollziel gewähren. Weitere Informationen finden Sie im *Amazon CloudWatch Logs-Benutzerhandbuch* im Folgenden:
+ [An Logs gesendete CloudWatch Protokolle](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-CWL)
+ [An Amazon S3 gesendete Protokolle](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3)

## Protokollschema
<a name="experiment-log-schema"></a>

Das Folgende ist das Schema, das bei der Protokollierung von Experimenten verwendet wird. Die aktuelle Schemaversion ist 2. Die Felder für `details` hängen vom Wert von ab`log_type`. Die Felder für `resolved_targets` hängen vom Wert von ab`target_type`. Weitere Informationen finden Sie unter [Beispiel für Protokolldatensätze](#example-log-records).

```
{
    "id": "EXP123abc456def789",
    "log_type": "experiment-start | target-resolution-start | target-resolution-detail | target-resolution-end | action-start | action-error | action-end | experiment-end",
    "event_timestamp": "yyyy-mm-ddThh:mm:ssZ",
    "version": "2",
    "details": {
        "account_id":"123456789012",
        "action_end_time": "yyyy-mm-ddThh:mm:ssZ",
        "action_id": "String",
        "action_name": "String",
        "action_start_time": "yyyy-mm-ddThh:mm:ssZ",
        "action_state": {
            "status": "pending | initiating | running | completed | cancelled | stopping | stopped | failed",
            "reason": "String"
        },
        "action_targets": "String to string map",
        "error_information": "String",
        "experiment_end_time": "yyyy-mm-ddThh:mm:ssZ",
        "experiment_state": {
            "status": "pending | initiating | running | completed | stopping | stopped | failed",
            "reason": "String"
        },
        "experiment_start_time": "yyyy-mm-ddThh:mm:ssZ",
        "experiment_template_id": "String",
        "page": Number,
        "parameters": "String to string map",
        "resolved_targets": [
            {
               "field": "value"
            }
        ],
        "resolved_targets_count": Number,
        "status": "failed | completed",
        "target_name": "String",
        "target_resolution_end_time": "yyyy-mm-ddThh:mm:ssZ",
        "target_resolution_start_time": "yyyy-mm-ddThh:mm:ssZ",
        "target_type": "String",
        "total_pages": Number,
        "total_resolved_targets_count": Number

    }
}
```

**Versionshinweise**
+ Version 2 führt ein:
  + Das `target_type` Feld und ändert das `resolved_targets` Feld von einer Liste von ARNs zu einer Liste von Objekten. Die gültigen Felder für das `resolved_targets` Objekt hängen vom Wert von ab`target_type`, der dem [Ressourcentyp](targets.md#resource-types) der Ziele entspricht.
  + Die `target-resolution-detail` Ereignistypen `action-error` und die Ereignistypen, die das `account_id` Feld hinzufügen.
+ Version 1 ist die erste Version.

## Ziele protokollieren
<a name="experiment-log-destinations"></a>

AWS FIS unterstützt die Protokollzustellung an die folgenden Ziele:
+ Ein Amazon-S3-Bucket
+ Eine Amazon CloudWatch Logs-Protokollgruppe

**Lieferung von S3-Protokollen**  
Die Protokolle werden an den folgenden Speicherort übermittelt.

```
bucket-and-optional-prefix/AWSLogs/account-id/fis/region/experiment-id/YYYY/MM/DD/account-id_awsfislogs_region_experiment-id_YYYYMMDDHHMMZ_hash.log
```

Es kann mehrere Minuten dauern, bis die Protokolle an den Bucket geliefert werden.

**CloudWatch Logs, Protokollzustellung**  
Die Protokolle werden in einen Protokollstreamnamed /aws/fis/übertragen*experiment-id*.

Protokolle werden in weniger als einer Minute an die Protokollgruppe übermittelt.

## Beispiel für Protokolldatensätze
<a name="example-log-records"></a>

Im Folgenden finden Sie Beispielprotokolldatensätze für ein Experiment, bei dem die **aws:ec2:reboot-instances** Aktion auf einer zufällig ausgewählten EC2 Instanz ausgeführt wird.

**Datensätze**
+ [Start des Experiments](#experiment-start)
+ [target-resolution-start](#target-resolution-start)
+ [target-resolution-detail](#target-resolution-detail)
+ [target-resolution-end](#target-resolution-end)
+ [Aktion-Start](#action-start)
+ [Aktion-Ende](#action-end)
+ [Aktionsfehler](#action-error)
+ [Ende des Experiments](#experiment-end)<a name="experiment-start"></a>

**Experiment-Start**  
Im Folgenden finden Sie einen Beispieldatensatz für das `experiment-start` Ereignis.

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "experiment-start",
    "event_timestamp": "2023-05-31T18:50:45Z",
    "version": "2",
    "details": {
        "experiment_template_id": "EXTCDh1M8HHkhxoaQ",
        "experiment_start_time": "2023-05-31T18:50:43Z"
    }
}
```<a name="target-resolution-start"></a>

**target-resolution-start**  
Im Folgenden finden Sie einen Beispieldatensatz für das `target-resolution-start` Ereignis.

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "target-resolution-start",
    "event_timestamp": "2023-05-31T18:50:45Z",
    "version": "2",
    "details": {
        "target_resolution_start_time": "2023-05-31T18:50:45Z",
        "target_name": "EC2InstancesToReboot"
    }
}
```<a name="target-resolution-detail"></a>

**target-resolution-detail**  
Im Folgenden finden Sie einen Beispieldatensatz für das `target-resolution-detail` Ereignis. Wenn die Zielauflösung fehlschlägt, enthält der Datensatz auch das `error_information` Feld.

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "target-resolution-detail",
    "event_timestamp": "2023-05-31T18:50:45Z",
    "version": "2",
    "details": {
        "target_resolution_end_time": "2023-05-31T18:50:45Z",
        "target_name": "EC2InstancesToReboot",
        "target_type": "aws:ec2:instance",
        "account_id": "123456789012",
        "resolved_targets_count": 2,
        "status": "completed"

    }
}
```<a name="target-resolution-end"></a>

**target-resolution-end**  
Wenn die Zielauflösung fehlschlägt, enthält der Datensatz auch das `error_information` Feld. Wenn `total_pages` es größer als 1 ist, hat die Anzahl der aufgelösten Ziele die Größenbeschränkung für einen Datensatz überschritten. Es gibt zusätzliche `target-resolution-end` Datensätze, die die verbleibenden aufgelösten Ziele enthalten.

Im Folgenden finden Sie einen Beispieldatensatz für das `target-resolution-end` Ereignis einer EC2 Aktion.

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "target-resolution-end",
    "event_timestamp": "2023-05-31T18:50:45Z",
    "version": "2",
    "details": {
        "target_resolution_end_time": "2023-05-31T18:50:46Z",
        "target_name": "EC2InstanceToReboot",
        "target_type": "aws:ec2:instance",
        "resolved_targets": [
            {
                "arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-0f7ee2abffc330de5"
            }
        ],
        "page": 1,
        "total_pages": 1
    }
}
```

Im Folgenden finden Sie einen Beispieldatensatz für das `target-resolution-end` Ereignis für eine EKS-Aktion.

```
{
    "id": "EXP24YfiucfyVPJpEJn",
    "log_type": "target-resolution-end",
    "event_timestamp": "2023-05-31T18:50:45Z",
    "version": "2",
    "details": {
        "target_resolution_end_time": "2023-05-31T18:50:46Z",
        "target_name": "myPods",
        "target_type": "aws:eks:pod",
        "resolved_targets": [
            {
                "pod_name": "example-696fb6498b-sxhw5",
                "namespace": "default",
                "cluster_arn": "arn:aws:eks:us-east-1:123456789012:cluster/fis-demo-cluster",
                "target_container_name": "example"
            }
        ],
        "page": 1,
        "total_pages": 1
    }
}
```<a name="action-start"></a>

**Aktion-Start**  
Im Folgenden finden Sie einen Beispieldatensatz für das `action-start` Ereignis. Wenn in der Versuchsvorlage Parameter für die Aktion angegeben sind, enthält der Datensatz auch das `parameters` Feld.

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "action-start",
    "event_timestamp": "2023-05-31T18:50:56Z",
    "version": "2",
    "details": {
        "action_name": "Reboot",
        "action_id": "aws:ec2:reboot-instances",
        "action_start_time": "2023-05-31T18:50:56Z",
        "action_targets": {"Instances":"EC2InstancesToReboot"}
    }
}
```<a name="action-error"></a>

**Aktion-Fehler**  
Im Folgenden finden Sie einen Beispieldatensatz für das `action-error` Ereignis. Dieses Ereignis wird nur zurückgegeben, wenn eine Aktion fehlschlägt. Es wird für jedes Konto zurückgegeben, bei dem die Aktion fehlschlägt. 

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "action-error",
    "event_timestamp": "2023-05-31T18:50:56Z",
    "version": "2",
    "details": {
        "action_name": "pause-io",
        "action_id": "aws:ebs:pause-volume-io",
        "account_id": "123456789012",
        "action_state": {
            "status": "failed",
            "reason":"Unable to start Pause Volume IO. Target volumes must be attached to an instance type based on the Nitro system. VolumeId(s): [vol-1234567890abcdef0]:"
        }
    }
}
```<a name="action-end"></a>

**Ende der Aktion**  
Im Folgenden finden Sie einen Beispieldatensatz für das `action-end` Ereignis.

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "action-end",
    "event_timestamp": "2023-05-31T18:50:56Z",
    "version": "2",
    "details": {
        "action_name": "Reboot",
        "action_id": "aws:ec2:reboot-instances",
        "action_end_time": "2023-05-31T18:50:56Z",
        "action_state": {
            "status": "completed",
            "reason": "Action was completed."
        }
    }
}
```<a name="experiment-end"></a>

**Ende des Experiments**  
Im Folgenden finden Sie einen Beispieldatensatz für das `experiment-end` Ereignis.

```
{
    "id": "EXPhjAXCGY78HV2a4A",
    "log_type": "experiment-end",
    "event_timestamp": "2023-05-31T18:50:57Z",
    "version": "2",
    "details": {
        "experiment_end_time": "2023-05-31T18:50:57Z",
        "experiment_state": {
            "status": "completed",
            "reason": "Experiment completed"
        }
    }
}
```

## Aktivieren Sie die Protokollierung der Experimente
<a name="enable-experiment-logging"></a>

Die Protokollierung von Experimenten ist standardmäßig deaktiviert. Um Versuchsprotokolle für ein Experiment zu erhalten, müssen Sie das Experiment anhand einer Experimentvorlage mit aktivierter Protokollierung erstellen. Wenn Sie zum ersten Mal ein Experiment ausführen, das so konfiguriert ist, dass es ein Ziel verwendet, das zuvor nicht für die Protokollierung verwendet wurde, verzögern wir das Experiment, um die Protokollzustellung an dieses Ziel zu konfigurieren, was etwa 15 Sekunden dauert.

**Um die Protokollierung von Experimenten über die Konsole zu aktivieren**

1. Öffnen Sie die AWS FIS-Konsole unter [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/).

1. Wählen Sie im Navigationsbereich **Experimentvorlagen** aus.

1. Wählen Sie die Experimentvorlage aus und klicken Sie dann auf **Aktionen**, **Experimentvorlage aktualisieren**.

1. Konfigurieren Sie für **Logs** die Zieloptionen. Um Logs an einen S3-Bucket **zu senden, wählen Sie An einen Amazon S3 S3-Bucket** senden und geben Sie den Bucket-Namen und das Präfix ein. Um Logs an Logs zu CloudWatch **senden, wählen Sie Send to CloudWatch Logs** und geben Sie die Log-Gruppe ein.

1. Wählen Sie „**Experimentvorlage aktualisieren**“.

**Um die Protokollierung von Experimenten zu aktivieren, verwenden Sie AWS CLI**  
Verwenden Sie den [update-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/update-experiment-template.html)Befehl und geben Sie eine Protokollkonfiguration an.

## Deaktivieren Sie die Protokollierung der Experimente
<a name="disable-experiment-logging"></a>

Wenn Sie keine Protokolle für Ihre Experimente mehr erhalten möchten, können Sie die Protokollierung der Experimente deaktivieren.

**Um die Protokollierung von Experimenten über die Konsole zu deaktivieren**

1. Öffnen Sie die AWS FIS-Konsole unter [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/).

1. Wählen Sie im Navigationsbereich **Experimentvorlagen** aus.

1. Wählen Sie die Experimentvorlage aus und klicken Sie dann auf **Aktionen**, **Experimentvorlage aktualisieren**.

1. Deaktivieren **Sie für **Logs** die Optionen An einen Amazon S3 S3-Bucket** **senden und An CloudWatch Logs** senden.

1. Wählen Sie **Experimentvorlage aktualisieren**.

**Um die Protokollierung von Experimenten zu deaktivieren, verwenden Sie AWS CLI**  
Verwenden Sie den [update-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/update-experiment-template.html)Befehl und geben Sie eine leere Protokollkonfiguration an.