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
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
Berechtigungen
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:
Protokollschema
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 ablog_type
. Die Felder für resolved_targets
hängen vom Wert von abtarget_type
. Weitere Informationen finden Sie unter Beispiel für Protokolldatensätze.
{
"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 dasresolved_targets
Feld von einer Liste von ARNs zu einer Liste von Objekten. Die gültigen Felder für dasresolved_targets
Objekt hängen vom Wert von abtarget_type
, der dem Ressourcentyp der Ziele entspricht. -
Die
target-resolution-detail
Ereignistypenaction-error
und die Ereignistypen, die dasaccount_id
Feld hinzufügen.
-
-
Version 1 ist die erste Version.
Ziele protokollieren
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
_YYYYMMDDHHMM
Z_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/übertragenexperiment-id
.
Protokolle werden in weniger als einer Minute an die Protokollgruppe übermittelt.
Beispiel für Protokolldatensätze
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
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"
}
}
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"
}
}
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"
}
}
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
}
}
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"}
}
}
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]:"
}
}
}
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."
}
}
}
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
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
Öffnen Sie die AWS FIS-Konsole unter https://console.aws.amazon.com/fis/
. -
Wählen Sie im Navigationsbereich Experimentvorlagen aus.
-
Wählen Sie die Experimentvorlage aus und klicken Sie dann auf Aktionen, Experimentvorlage aktualisieren.
-
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.
-
Wählen Sie „Experimentvorlage aktualisieren“.
Um die Protokollierung von Experimenten zu aktivieren, verwenden Sie AWS CLI
Verwenden Sie den update-experiment-template
Deaktivieren Sie die Protokollierung der Experimente
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
Öffnen Sie die AWS FIS-Konsole unter https://console.aws.amazon.com/fis/
. -
Wählen Sie im Navigationsbereich Experimentvorlagen aus.
-
Wählen Sie die Experimentvorlage aus und klicken Sie dann auf Aktionen, Experimentvorlage aktualisieren.
-
Deaktivieren Sie für Logs die Optionen An einen Amazon S3 S3-Bucket senden und An CloudWatch Logs senden.
-
Wählen Sie Experimentvorlage aktualisieren.
Um die Protokollierung von Experimenten zu deaktivieren, verwenden Sie AWS CLI
Verwenden Sie den update-experiment-template