Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Enregistrement des expériences pour AWS FIS
Vous pouvez utiliser la journalisation des expériences pour saisir des informations détaillées sur votre expérience au fur et à mesure de son exécution.
La journalisation des expériences vous est facturée en fonction des coûts associés à chaque type de destination de journal. Pour plus d'informations, consultez les CloudWatch tarifs Amazon
Autorisations
Vous devez accorder des autorisations AWS FIS pour envoyer des journaux à chaque destination de journal que vous configurez. Pour plus d'informations, consultez les informations suivantes dans le guide de l'utilisateur d'Amazon CloudWatch Logs :
Schéma du journal
Le schéma utilisé pour la journalisation des expériences est le suivant. La version actuelle du schéma est 2. Les champs pour details
dépendent de la valeur delog_type
. Les champs pour resolved_targets
dépendent de la valeur detarget_type
. Pour plus d’informations, consultez Exemples d'enregistrements de journal.
{
"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
}
}
Notes de mise à jour
-
La version 2 introduit :
-
Le
target_type
champ et transforme leresolved_targets
champ d'une liste d'ARN en une liste d'objets. Les champs valides pour l'resolved_targets
objet dépendent de la valeur detarget_type
, qui est le type de ressource des cibles. -
Les types
target-resolution-detail
d'événementsaction-error
et qui ajoutent leaccount_id
champ.
-
-
La version 1 est la version initiale.
Enregistrer les destinations
AWSLe FIS prend en charge la livraison de journaux vers les destinations suivantes :
Un compartiment Amazon S3
Un groupe de CloudWatch journaux Amazon Logs
Livraison du journal S3
Les journaux sont livrés à l'emplacement suivant.
bucket-and-optional-prefix
/AWSLogs/account-id
/fis/region
/experiment-id
/YYYY
/MM
/DD
/account-id
_awsfislogs_region
_experiment-id
_YYYYMMDDHHMM
Z_hash
.log
Plusieurs minutes peuvent s'écouler avant que les journaux ne soient livrés au bucket.
CloudWatch Logs et livraison de journaux
Les journaux sont transmis à un flux de journaux nommé /aws/fis/ experiment-id.
Les journaux sont envoyés au groupe de journaux en moins d'une minute.
Exemples d'enregistrements de journal
Voici des exemples d'enregistrements de journal pour une expérience qui exécute l'aws:ec2:reboot-instancesaction sur une instance EC2 sélectionnée au hasard.
Enregistrements
démarrage de l'expérience
Voici un exemple d'enregistrement pour l'experiment-start
événement.
{
"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
Voici un exemple d'enregistrement pour l'target-resolution-start
événement.
{
"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
Voici un exemple d'enregistrement pour l'target-resolution-detail
événement. Si la résolution cible échoue, l'enregistrement inclut également le error_information
champ.
{
"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
Si la résolution cible échoue, l'enregistrement inclut également le error_information
champ. S'il total_pages
est supérieur à 1, le nombre de cibles résolues a dépassé la limite de taille pour un enregistrement. Des target-resolution-end
enregistrements supplémentaires contiennent les cibles résolues restantes.
Voici un exemple d'enregistrement de l'target-resolution-end
événement pour une action 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
}
}
Voici un exemple d'enregistrement de l'target-resolution-end
événement associé à une action 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
}
}
action-start
Voici un exemple d'enregistrement pour l'action-start
événement. Si le modèle d'expérience spécifie les paramètres de l'action, l'enregistrement inclut également le parameters
champ.
{
"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-erreur
Voici un exemple d'enregistrement pour l'action-error
événement. Cet événement n'est renvoyé qu'en cas d'échec d'une action. Il est renvoyé pour chaque compte sur lequel l'action échoue.
{
"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]:"
}
}
}
fin de l'action
Voici un exemple d'enregistrement pour l'action-end
événement.
{
"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."
}
}
}
fin de l'expérience
Voici un exemple d'enregistrement pour l'experiment-end
événement.
{
"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"
}
}
}
Activer la journalisation des expériences
La journalisation des expériences est désactivée par défaut. Pour recevoir des journaux d'expériences pour une expérience, vous devez créer l'expérience à partir d'un modèle d'expérience avec la journalisation activée. La première fois que vous exécutez un test configuré pour utiliser une destination qui n'a pas été utilisée auparavant pour la journalisation, nous retardons le test pour configurer la livraison du journal vers cette destination, ce qui prend environ 15 secondes.
Pour activer la journalisation des expériences à l'aide de la console
Ouvrez la console AWS FIS à l'adresse https://console.aws.amazon.com/fis/
. -
Dans le volet de navigation, sélectionnez Modèles d'expériences.
-
Sélectionnez le modèle d'expérience, puis choisissez Actions, Mettre à jour le modèle d'expérience.
-
Pour les journaux, configurez les options de destination. Pour envoyer des journaux vers un compartiment S3, choisissez Envoyer vers un compartiment Amazon S3 et entrez le nom et le préfixe du compartiment. Pour envoyer des CloudWatch journaux à Logs, choisissez Send to CloudWatch Logs et entrez le groupe de journaux.
-
Choisissez Mettre à jour le modèle d'expérience.
Pour activer la journalisation des expériences à l'aide du AWS CLI
Utilisez la update-experiment-template
Désactiver la journalisation des expériences
Si vous ne souhaitez plus recevoir les journaux de vos expériences, vous pouvez désactiver la journalisation des expériences.
Pour désactiver la journalisation des expériences à l'aide de la console
Ouvrez la console AWS FIS à l'adresse https://console.aws.amazon.com/fis/
. -
Dans le volet de navigation, sélectionnez Modèles d'expériences.
-
Sélectionnez le modèle d'expérience, puis choisissez Actions, Mettre à jour le modèle d'expérience.
-
Pour les journaux, décochez Envoyer vers un compartiment Amazon S3 et Envoyer vers CloudWatch les journaux.
-
Choisissez Mettre à jour le modèle d'expérience.
Pour désactiver la journalisation des expériences à l'aide du AWS CLI
Utilisez la update-experiment-template