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.
Experimentprotokollierung für AWS FIS
Sie können die Experimentprotokollierung verwenden, um während der Ausführung detaillierte Informationen zu Ihrem Experiment zu erfassen.
Die Protokollierung von Experimenten erfolgt auf der Grundlage der Kosten, die mit den einzelnen Protokollzieltypen verbunden sind. Weitere Informationen finden Sie unter Amazon- CloudWatch Preise
Berechtigungen
Sie müssen AWS FIS-Berechtigungen erteilen, um Protokolle an jedes von Ihnen konfigurierte Protokollziel zu senden. Weitere Informationen finden Sie im Amazon- CloudWatch Logs-Benutzerhandbuch:
Protokollschema
Im Folgenden finden Sie das Schema, das bei der Experimentprotokollierung 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 Beispielprotokolldatensä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 Folgendes ein:
-
Das
target_type
Feld und ändert dasresolved_targets
Feld von einer Liste von ARNs in eine Liste von Objekten. Die gültigen Felder für dasresolved_targets
Objekt hängen vom Wert von abtarget_type
, der der Ressourcentyp der Ziele ist. -
Die
target-resolution-detail
Ereignistypenaction-error
und , die dasaccount_id
Feld hinzufügen.
-
-
Version 1 ist die erste Version.
Protokollziele
AWS FIS unterstützt die Protokollzustellung an die folgenden Ziele:
Ein Amazon-S3-Bucket
Eine Amazon- CloudWatch Logs-Protokollgruppe
S3-Protokollbereitstellung
Die Protokolle werden an den folgenden Speicherort geliefert.
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 einige Minuten dauern, bis die Protokolle an den Bucket übermittelt werden.
CloudWatch Protokollzustellung
Die Protokolle werden an einen Protokollstream mit dem Namen /aws/fis/experiment-id
übermittelt.
Protokolle werden in weniger als einer Minute an die Protokollgruppe übermittelt.
Beispielprotokolldatensätze
Im Folgenden finden Sie Beispielprotokolldatensätze für ein Experiment, das die aws:ec2:reboot-instances Aktion auf einer zufällig ausgewählten EC2-Instance ausführt.
Datensätze
Experimentstart
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 größer als 1 total_pages
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 für eine 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
}
}
action-start
Im Folgenden finden Sie einen Beispieldatensatz für das action-start
Ereignis. Wenn die Experimentvorlage Parameter für die Aktion angibt, 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"}
}
}
action-error
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, in 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]:"
}
}
}
Aktionsendpunkt
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."
}
}
}
Experimentende
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 der Experimentprotokollierung
Die Experimentprotokollierung ist standardmäßig deaktiviert. Um Experimentprotokolle für ein Experiment zu erhalten, müssen Sie das Experiment aus einer Experimentvorlage mit aktivierter Protokollierung erstellen. Wenn Sie zum ersten Mal ein Experiment ausführen, das für die Verwendung eines Ziels konfiguriert ist, 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.
So aktivieren Sie die Experimentprotokollierung mithilfe der Konsole
Ö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 auf Aktionen, Experimentvorlage aktualisieren.
-
Konfigurieren Sie für Protokolle die Zieloptionen. Um Protokolle an einen S3-Bucket zu senden, wählen Sie An einen Amazon S3-Bucket senden und geben Sie den Bucket-Namen und das Präfix ein. Um Protokolle an CloudWatch Protokolle zu senden, wählen Sie An CloudWatch Protokolle senden und geben Sie die Protokollgruppe ein.
-
Wählen Sie Experimentvorlage aktualisieren aus.
So aktivieren Sie die Experimentprotokollierung mit der AWS CLI
Verwenden Sie den update-experiment-template
Deaktivieren der Experimentprotokollierung
Wenn Sie keine Protokolle mehr für Ihre Experimente erhalten möchten, können Sie die Experimentprotokollierung deaktivieren.
So deaktivieren Sie die Experimentprotokollierung mithilfe der Konsole
Ö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 auf Aktionen, Experimentvorlage aktualisieren.
-
Deaktivieren Sie für Protokolle die Optionen An einen Amazon S3-Bucket senden und An CloudWatch Protokolle senden.
-
Wählen Sie Experimentvorlage aktualisieren aus.
So deaktivieren Sie die Experimentprotokollierung mithilfe der AWS CLI
Verwenden Sie den -update-experiment-template