

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Registro de experimentos para AWS FIS
<a name="monitoring-logging"></a>

Você pode usar o registro de experimentos para capturar informações detalhadas sobre seu experimento à medida que ele é executado.

Você é cobrado pelo registro do experimento com base nos custos associados a cada tipo de destino do registro. Para obter mais informações, consulte [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/) (em **Paid Tier**, **Logs**, **Vended Logs**) e [Amazon S3](https://aws.amazon.com/s3/pricing/) Pricing.

## Permissões
<a name="permissions-experiment-logging"></a>

Você deve conceder permissões AWS do FIS para enviar registros para cada destino de log que você configurar. Para obter mais informações, consulte o seguinte no *Guia do usuário do Amazon CloudWatch Logs*:
+ [Registros enviados para CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-CWL)
+ [Logs enviados ao Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3)

## Esquema de logs
<a name="experiment-log-schema"></a>

A seguir está o esquema usado no registro de logs de experimentos. A versão atual do esquema é a 2. Os campos para `details` dependem do valor de `log_type`. Os campos para `resolved_targets` dependem do valor de `target_type`. Para obter mais informações, consulte [Exemplo de registros de log](#example-log-records).

```
{
    "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 lançamento**
+ A versão 2 inclui:
  + O `target_type` campo e altera o `resolved_targets` campo de uma lista de ARNs para uma lista de objetos. Os campos válidos para o objeto `resolved_targets` dependem do valor de `target_type`, que é o [tipo de recurso](targets.md#resource-types) dos destinos.
  + Os tipos de eventos `action-error` e `target-resolution-detail` que adicionam o campo `account_id`.
+ A versão 1 é a versão inicial.

## Destinos de logs
<a name="experiment-log-destinations"></a>

AWS O FIS suporta a entrega de registros para os seguintes destinos:
+ Um bucket do Amazon S3
+ Um grupo de CloudWatch registros do Amazon Logs

**Entrega de logs do S3**  
Os logs são entregues no local a seguir.

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

Pode levar alguns minutos para que os logs sejam entregues ao bucket.

**CloudWatch Entrega de registros e registros**  
Os registros são enviados para um fluxo de registrosnamed /aws/fis/*experiment-id*.

Os logs são entregues ao grupo de logs em menos de um minuto.

## Exemplo de registros de log
<a name="example-log-records"></a>

Veja a seguir exemplos de registros de log de um experimento que executa a **aws:ec2:reboot-instances** ação em uma EC2 instância selecionada aleatoriamente.

**Registros**
+ [experiment-start](#experiment-start)
+ [target-resolution-start](#target-resolution-start)
+ [target-resolution-detail](#target-resolution-detail)
+ [target-resolution-end](#target-resolution-end)
+ [action-start](#action-start)
+ [action-end](#action-end)
+ [action-error](#action-error)
+ [experiment-end](#experiment-end)<a name="experiment-start"></a>

**experiment-start**  
O seguinte é um exemplo de registro para o 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"
    }
}
```<a name="target-resolution-start"></a>

**target-resolution-start**  
O seguinte é um exemplo de registro para o 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"
    }
}
```<a name="target-resolution-detail"></a>

**target-resolution-detail**  
O seguinte é um exemplo de registro para o evento `target-resolution-detail`. Se a resolução do destino falhar, o registro também incluirá o 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"

    }
}
```<a name="target-resolution-end"></a>

**target-resolution-end**  
Se a resolução do destino falhar, o registro também incluirá o campo `error_information`. Se `total_pages` for maior que 1, o número de destinos resolvidos excedeu o limite de tamanho para um registro. Há `target-resolution-end` registros adicionais que contêm os destinos resolvidos restantes.

Veja a seguir um exemplo de registro do `target-resolution-end` evento para uma EC2 ação.

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

O seguinte é um exemplo de registro para o evento `target-resolution-end` para uma ação do 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
    }
}
```<a name="action-start"></a>

**action-start**  
O seguinte é um exemplo de registro para o evento `action-start`. Se o modelo do experimento especificar parâmetros para a ação, o registro também incluirá o 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"}
    }
}
```<a name="action-error"></a>

**action-error**  
O seguinte é um exemplo de registro para o evento `action-error`. Esse evento só é retornado quando uma ação falha. Ele é retornado para cada conta em que a ação falha. 

```
{
    "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]:"
        }
    }
}
```<a name="action-end"></a>

**action-end**  
O seguinte é um exemplo de registro para o 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."
        }
    }
}
```<a name="experiment-end"></a>

**experiment-end**  
O seguinte é um exemplo de registro para o 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"
        }
    }
}
```

## Habilitar registro em log de experimento
<a name="enable-experiment-logging"></a>

O registro em log de experimento está desativado por padrão. Para receber logs de um experimento, você deve criar o experimento a partir de um modelo de experimento com o registro em log ativado. Na primeira vez que você executa um experimento configurado para usar um destino que não tenha sido usado anteriormente para log, atrasamos o experimento para configurar a entrega de logs para esse destino, o que leva cerca de 15 segundos.

**Para habilitar o registro em log usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Selecione o modelo do experimento e escolha **Ações**, **Atualizar modelo de experimento**.

1. Para **Logs**, configure as opções de destino. Para enviar logs para um bucket do S3, escolha **Enviar para um bucket do Amazon S3** e insira o nome e o prefixo do bucket. Para enviar registros para CloudWatch registros, escolha **Enviar para CloudWatch registros** e entre no grupo de registros.

1. Escolha **Atualizar modelo de experimento**.

**Para habilitar o registro de experimentos usando o AWS CLI**  
Use o [update-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/update-experiment-template.html)comando e especifique uma configuração de log.

## Desabilitar registro em log
<a name="disable-experiment-logging"></a>

Se não desejar mais receber logs para seus experimentos, desabilite o registro em log de experimento.

**Para desabilitar o registro em log usando o console**

1. Abra o console AWS FIS em. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

1. No painel de navegação, selecione **Modelos de experimento**.

1. Selecione o modelo do experimento e escolha **Ações**, **Atualizar modelo de experimento**.

1. Para **Registros**, **desmarque Enviar para um bucket do Amazon S3** e **Enviar para CloudWatch ** registros.

1. Escolha **Atualizar modelo de experimento**.

**Para desativar o registro de experimentos usando o AWS CLI**  
Use o [update-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/update-experiment-template.html)comando e especifique uma configuração de log vazia.