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 em log de experimento para o AWS FIS
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
Permissões
Você deve conceder permissões do AWS FIS para enviar registros para cada destino de log que configurar. Para obter mais informações, consulte o seguinte no Guia do usuário do Amazon CloudWatch Logs:
Esquema de logs
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 ter mais informações, consulte Exemplo de registros de log.
{
"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 release
-
A versão 2 inclui:
-
O campo
target_type
e altera o camporesolved_targets
de uma lista de ARNs para uma lista de objetos. Os campos válidos para o objetoresolved_targets
dependem do valor detarget_type
, que é o tipo de recurso dos destinos. -
Os tipos de eventos
action-error
etarget-resolution-detail
que adicionam o campoaccount_id
.
-
-
A versão 1 é a versão inicial.
Destinos de logs
O AWS FIS oferece suporte à entrega de logs 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
_YYYYMMDDHHMM
Z_hash
.log
Pode levar alguns minutos para que os logs sejam entregues ao bucket.
CloudWatch Entrega de registros
Os logs são enviados para um fluxo de logs chamado /aws/fis/experiment-id
.
Os logs são entregues ao grupo de logs em menos de um minuto.
Exemplo de registros de log
Veja a seguir exemplos de registros de log de um experimento que executa a ação aws:ec2:reboot-instances em uma instância do EC2 selecionada aleatoriamente.
Registros
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"
}
}
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"
}
}
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"
}
}
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.
O seguinte é um exemplo de registro para o evento target-resolution-end
para uma ação do 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
}
}
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
}
}
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"}
}
}
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]:"
}
}
}
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."
}
}
}
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
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 registro, atrasamos o experimento para configurar a entrega de registros para esse destino, o que leva cerca de 15 segundos.
Para habilitar o registro em log usando o console
Abra o console do AWS FIS em https://console.aws.amazon.com/fis/
. -
No painel de navegação, selecione Modelos de experimento.
-
Selecione o modelo do experimento e escolha Ações, Atualizar modelo de experimento.
-
Para Logs, configure as opções de destino. Para enviar registros 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.
-
Escolha Atualizar modelo de experimento.
Para habilitar o registro em log usando a AWS CLI
Use o update-experiment-template
Desabilitar registro em log
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
Abra o console do AWS FIS em https://console.aws.amazon.com/fis/
. -
No painel de navegação, selecione Modelos de experimento.
-
Selecione o modelo do experimento e escolha Ações, Atualizar modelo de experimento.
-
Para Registros, desmarque Enviar para um bucket do Amazon S3 e Enviar para CloudWatch registros.
-
Escolha Atualizar modelo de experimento.
Para desabilitar o registro em log usando a AWS CLI
Use o update-experiment-template