Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Registro de experimentos de AWS FIS
Puede usar el registro de experimentos para capturar información detallada sobre su experimento a medida que se ejecuta.
Se le cobrará por el registro de los experimentos en función de los costes asociados a cada tipo de destino de registro. Para obtener más información, consulte CloudWatch los precios de Amazon
Permisos
Debe conceder permisos a AWS FIS para enviar registros a cada destino de registro que configure. Para obtener más información, consulte lo siguiente en la Guía del usuario de Amazon CloudWatch Logs:
Esquema de registro
El siguiente esquema es el utilizado en el registro de experimentos. La versión actual es la 2. Los campos de details
dependen del valor de log_type
. Los campos de resolved_targets
dependen del valor de target_type
. Para obtener más información, consulte Ejemplos de entradas de 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
}
}
Notas de la versión
-
La versión 2 presenta:
-
El campo
target_type
y cambia el camporesolved_targets
de una lista de ARN a una lista de objetos. Los campos válidos del objetoresolved_targets
dependen del valor detarget_type
, que es el tipo de recurso de los destinos. -
Los tipos de eventos
action-error
ytarget-resolution-detail
que agregan el campoaccount_id
.
-
-
La versión 1 es la inicial.
Registro de destinos
AWS FIS admite la entrega de registros a los siguientes destinos:
Un bucket de Amazon S3.
Un grupo de CloudWatch registros de Amazon Logs
Entrega de registros de S3
Los registros se entregan en la siguiente ubicación.
bucket-and-optional-prefix
/AWSLogs/account-id
/fis/region
/experiment-id
/YYYY
/MM
/DD
/account-id
_awsfislogs_region
_experiment-id
_YYYYMMDDHHMM
Z_hash
.log
Los registros pueden tardar varios minutos en entregarse en el bucket.
CloudWatch Entrega de registros
Los registros se entregan a un flujo de registro denominado /aws/fis/experiment-id
.
Los registros se entregan al grupo de registro en menos de un minuto.
Ejemplos de entradas de registro
A continuación, se muestran ejemplos de entradas de registro de un experimento que ejecuta la acción aws:ec2:reboot-instances en una instancia EC2 seleccionada al azar.
Registros
experiment-start
A continuación, se ve un ejemplo de registro del evento experiment-start
.
{
"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
A continuación, se ve un ejemplo de registro del evento target-resolution-start
.
{
"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
A continuación, se ve un ejemplo de registro del evento target-resolution-detail
. Si la resolución de destino falla, el registro también incluye el campo error_information
.
{
"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 resolución de destino falla, el registro también incluye el campo error_information
. Si total_pages
es mayor que 1, el número de destinos resueltos ha superado el límite de tamaño de un registro. Hay registros de target-resolution-end
adicionales que contienen el resto de los destinos resueltos.
A continuación, se ve un ejemplo de registro del evento target-resolution-end
para una acción de 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
}
}
A continuación, se ve un ejemplo de registro del evento target-resolution-end
para una acción de 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
A continuación, se ve un ejemplo de registro del evento action-start
. Si la plantilla de experimento especifica los parámetros de la acción, el registro también incluye el campo parameters
.
{
"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
A continuación, se ve un ejemplo de registro del evento action-error
. Este evento solo se devuelve cuando se produce un error en una acción. Se devuelve para cada cuenta en la que se produce un error en la acción.
{
"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]:"
}
}
}
action-end
A continuación, se ve un ejemplo de registro del evento action-end
.
{
"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."
}
}
}
experiment-end
A continuación, se ve un ejemplo de registro del evento experiment-end
.
{
"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"
}
}
}
Habilitación del registro de experimentos
El registro de experimentos está deshabilitado de forma predeterminada. Para recibir registros de un experimento, debe crear el experimento a partir de una plantilla de experimento con el registro habilitado. La primera vez que ejecute un experimento que esté configurado para usar un destino que no se haya utilizado anteriormente para el registro, se retrasará el experimento para configurar la entrega de registros a este destino, lo que tarda unos 15 segundos.
Para habilitar el registro de experimentos con la consola
Abra la consola de AWS FIS en https://console.aws.amazon.com/fis/
. -
En el panel de navegación, elija Plantillas de experimento.
-
Seleccione la plantilla de experimento y elija Acciones, Actualizar plantilla de experimento.
-
En Registros, configure las opciones de destino. Para enviar registros a un bucket de S3, seleccione Enviar a un bucket de Amazon S3 y escriba el nombre y el prefijo del bucket. Para enviar los registros a CloudWatch los registros, elija Enviar a CloudWatch los registros e introduzca el grupo de registros.
-
Elija Actualizar plantilla de experimento.
Para habilitar el registro de experimentos con la AWS CLI
Use el update-experiment-template
Deshabilitación del registro de experimentos
Si ya no quiere recibir registros para los experimentos, puede deshabilitar el registro de experimentos.
Para deshabilitar el registro de experimentos con la consola
Abra la consola de AWS FIS en https://console.aws.amazon.com/fis/
. -
En el panel de navegación, elija Plantillas de experimento.
-
Seleccione la plantilla de experimento y elija Acciones, Actualizar plantilla de experimento.
-
Para Logs, desactive Send to an Amazon S3 bucket y Send to CloudWatch Logs.
-
Elija Actualizar plantilla de experimento.
Para deshabilitar el registro de experimentos con la AWS CLI
Use el update-experiment-template