Registrazione degli esperimenti per AWS FIS - AWS Servizio di iniezione dei guasti

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione degli esperimenti per AWS FIS

È possibile utilizzare la registrazione dell'esperimento per acquisire informazioni dettagliate sull'esperimento mentre viene eseguito.

I costi per la registrazione dell'esperimento vengono calcolati in base ai costi associati a ciascun tipo di destinazione del registro. Per ulteriori informazioni, consulta la pagina CloudWatch dei prezzi di Amazon (sotto Paid Tier, Logs, Vending Logs) e i prezzi di Amazon S3.

Autorizzazioni

Devi concedere le autorizzazioni AWS FIS per inviare i log a ogni destinazione di log che configuri. Per ulteriori informazioni, consulta quanto segue nella Amazon CloudWatch Logs User Guide:

Schema di registro

Di seguito è riportato lo schema utilizzato nella registrazione degli esperimenti. La versione attuale dello schema è la 2. I campi per details dipendono dal valore dilog_type. I campi per resolved_targets dipendono dal valore ditarget_type. Per ulteriori informazioni, consulta Esempi di record di registro.

{ "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 } }
Note di rilascio
  • La versione 2 introduce:

    • Il target_type campo e lo resolved_targets modifica da un elenco di ARN a un elenco di oggetti. I campi validi per l'resolved_targetsoggetto dipendono dal valore ditarget_type, che è il tipo di risorsa degli obiettivi.

    • I action-error e i tipi di target-resolution-detail eventi che aggiungono il account_id campo.

  • La versione 1 è la versione iniziale.

Destinazioni di registro

AWSFIS supporta la consegna dei log alle seguenti destinazioni:

  • Un bucket Amazon S3

  • Un gruppo di CloudWatch log di Amazon Logs

Consegna dei log S3

I registri vengono consegnati nella seguente posizione.

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

Possono essere necessari alcuni minuti prima che i registri vengano consegnati al bucket.

CloudWatch Registri, consegna dei log

I log vengono consegnati a un flusso di log denominato /aws/fis/ experiment-id.

I log vengono consegnati al gruppo di log in meno di un minuto.

Esempi di record di registro

Di seguito sono riportati alcuni esempi di record di log per un esperimento che esegue l'aws:ec2:reboot-instancesazione su un'istanza EC2 selezionata a caso.

inizio esperimento

Di seguito è riportato un record di esempio per l'experiment-startevento.

{ "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

Di seguito è riportato un record di esempio per l'target-resolution-startevento.

{ "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

Di seguito è riportato un record di esempio per l'target-resolution-detailevento. Se la risoluzione dell'obiettivo fallisce, il record include anche il error_information campo.

{ "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

Se la risoluzione dell'obiettivo fallisce, il record include anche il error_information campo. Se total_pages è maggiore di 1, il numero di obiettivi risolti ha superato il limite di dimensione per un record. Esistono target-resolution-end record aggiuntivi che contengono gli obiettivi risolti rimanenti.

Di seguito è riportato un esempio di record per l'target-resolution-endevento relativo a un'azione EC2.

{ "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 } }

Di seguito è riportato un record di esempio per l'target-resolution-endevento di un'azione EKS.

{ "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 } }
inizio-azione

Di seguito è riportato un record di esempio per l'action-startevento. Se il modello di esperimento specifica i parametri per l'azione, il record include anche il parameters campo.

{ "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"} } }
azione-errore

Di seguito è riportato un record di esempio per l'action-errorevento. Questo evento viene restituito solo quando un'azione fallisce. Viene restituito per ogni account in cui l'azione ha esito negativo.

{ "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]:" } } }
fine dell'azione

Di seguito è riportato un record di esempio per l'action-endevento.

{ "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." } } }
fine dell'esperimento

Di seguito è riportato un record di esempio per l'experiment-endevento.

{ "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" } } }

Abilita la registrazione degli esperimenti

La registrazione degli esperimenti è disattivata per impostazione predefinita. Per ricevere i registri degli esperimenti, è necessario creare l'esperimento da un modello di esperimento con la registrazione abilitata. La prima volta che esegui un esperimento configurato per utilizzare una destinazione che non è stata utilizzata in precedenza per la registrazione, ritardiamo l'esperimento per configurare l'invio dei log a questa destinazione, operazione che richiede circa 15 secondi.

Per abilitare la registrazione degli esperimenti tramite la console
  1. Aprire la console AWS FIS all'indirizzo https://console.aws.amazon.com/fis/.

  2. Nel riquadro di navigazione, scegli Modelli di esperimenti.

  3. Seleziona il modello di esperimento e scegli Azioni, Aggiorna modello di esperimento.

  4. Per i registri, configura le opzioni di destinazione. Per inviare i log a un bucket S3, scegli Invia a un bucket Amazon S3 e inserisci il nome e il prefisso del bucket. Per inviare i log a Logs, scegli Send to CloudWatch Logs e inserisci il gruppo di log. CloudWatch

  5. Scegliete Aggiorna modello di esperimento.

Per abilitare la registrazione dell'esperimento utilizzando il AWS CLI

Utilizzate il update-experiment-templatecomando e specificate una configurazione di registro.

Disabilita la registrazione degli esperimenti

Se non desideri più ricevere i registri degli esperimenti, puoi disabilitare la registrazione degli esperimenti.

Per disabilitare la registrazione degli esperimenti tramite la console
  1. Aprire la console AWS FIS all'indirizzo https://console.aws.amazon.com/fis/.

  2. Nel riquadro di navigazione, scegli Modelli di esperimenti.

  3. Seleziona il modello di esperimento e scegli Azioni, Aggiorna modello di esperimento.

  4. Per i log, deseleziona Invia a un bucket Amazon S3 e Invia ai registri. CloudWatch

  5. Scegli Aggiorna modello di esperimento.

Per disabilitare la registrazione dell'esperimento utilizzando il AWS CLI

Utilizzate il update-experiment-templatecomando e specificate una configurazione di registro vuota.