

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á.

# Publique registros do Amazon EMR em Logs CloudWatch
<a name="emr-plan-logging-cw"></a>

## Visão geral do
<a name="emr-plan-logging-cw-overview"></a>

O Amazon EMR no EC2 fornece integração nativa com o Amazon CloudWatch Logs, permitindo que você envie logs de cluster diretamente para CloudWatch esse recurso simplifica o gerenciamento de logs e fornece acesso centralizado aos seus logs de cluster do EMR para monitoramento, solução de problemas e análise.

Com o CloudWatch registro ativado, você pode capturar e transmitir automaticamente os registros de seus clusters do EMR para grupos de CloudWatch registros. Isso inclui registros de execução de etapas, registros de drivers do Spark e registros do executor do Spark, oferecendo visibilidade abrangente das operações do cluster e do comportamento do aplicativo.

O recurso de CloudWatch registro está disponível a partir da versão 7.11.0 do Amazon EMR e é configurado por meio do `MonitoringConfiguration` parâmetro ao criar seu cluster. Depois de ativados, os registros são transmitidos automaticamente à CloudWatch medida que são gerados, fornecendo acesso quase em tempo real aos dados de registro por meio do CloudWatch console ou da API.

## Pré-requisitos
<a name="emr-plan-logging-cw-prerequisites"></a>

Antes de ativar o CloudWatch registro em seu cluster EMR, certifique-se de que os seguintes pré-requisitos sejam atendidos:
+ **Versão do Amazon EMR:** Seu cluster deve usar o Amazon EMR versão 7.11.0 ou posterior.
+ **CloudWatch Aplicativo de agente:** o Amazon CloudWatch Agent deve estar instalado em seu cluster.
+ **Permissões do IAM:** o perfil da instância do EC2 para seu cluster deve ter as permissões de CloudWatch registros necessárias.
+ **VPC Endpoints (para sub-redes privadas):** se seu cluster estiver em uma sub-rede privada, você deverá configurar VPC endpoints para Logs. CloudWatch 

## Permissões
<a name="emr-plan-logging-cw-permissions"></a>

O CloudWatch agente exige permissões específicas AWS Identity and Access Management(IAM) para criar grupos de registros, criar fluxos de registros e gravar eventos de registro em CloudWatch registros. Essas permissões devem ser anexadas ao perfil de instância do Amazon EC2 usado pelo seu cluster EMR.

### Política do IAM necessária
<a name="emr-plan-logging-cw-required-policy"></a>

Adicione a seguinte política ao seu [perfil de instância do EC2 para que o Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html) conceda as permissões necessárias:

```
{
  "Version": "2012-10-17", 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents",
        "logs:PutRetentionPolicy",
        "logs:DescribeLogStreams",
        "logs:DescribeLogGroups",
        "logs:CreateLogStream",
        "logs:CreateLogGroup"
      ],
      "Resource": "*",
      "Sid": "AllowCWACloudWatchLogs"
    }
  ]
}
```

### Anexando a política
<a name="emr-plan-logging-cw-permissions-attaching"></a>

Para anexar essa política ao seu perfil de instância do EC2 para EMR:

1. Navegue até o console do IAM.

1. Localize o perfil de instância usado pelo seu cluster do EMR, o que normalmente é. `EMR_EC2_DefaultRole`

1. Crie uma nova política em linha ou anexe uma política gerenciada pelo cliente com as permissões acima.

1. Salve as alterações da política.

Para obter mais informações sobre as funções do IAM para o Amazon EMR, consulte [Configurar funções do IAM para permissões do Amazon EMR para AWS serviços e recursos no](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html) Guia de gerenciamento do Amazon EMR.

## Configurando o registro CloudWatch
<a name="emr-plan-logging-cw-config"></a>

Você pode ativar o CloudWatch registro ao criar um novo cluster do EMR por meio do AWS Management Console, AWS CLI, ou. AWS SDKs A configuração é especificada por meio do `MonitoringConfiguration` parâmetro.

### Usando o console AWS de gerenciamento
<a name="emr-plan-logging-cw-config-console"></a>

Para criar um cluster com CloudWatch registro a partir do console:

1. Navegue até o console do [AWS EMR.](https://console.aws.amazon.com/emr/)

1. Selecione **Criar cluster**.

1. Em **Nome e aplicativos**, selecione uma versão 7.11.0 ou superior do Amazon EMR.

1. Em **Pacote de aplicativos**, selecione os aplicativos que você deseja instalar e garanta que o Amazon CloudWatch Agent esteja incluído em suas seleções.

1. Em **Registros do cluster**, selecione a opção **Publicar registros específicos do cluster** na Amazon. CloudWatch

1. (Opcional) Defina as seguintes configurações:
   + **Nome do grupo de registros - Nome** personalizado do grupo de registros. O padrão é `/aws/emr/{cluster_id}`.
   + **Prefixo do fluxo de log** - Prefixo para nomes de fluxo de log O padrão é. `empty`
   + **CloudWatch Chave KMS** - ARN da chave KMS para criptografia de log (opcional).
   + **Tipos de registro** - Selecione quais tipos de registro capturar (padrão: step e driver Spark)

1. Conclua as configurações restantes do cluster.

1. Selecione **Criar cluster**.

Depois que o cluster for criado, você poderá acessar o link CloudWatch Logs na página **Detalhes do cluster do EMR** em **Gerenciamento de cluster** → **Destino do log** na Amazon. CloudWatch

### Usando o AWS CLI
<a name="emr-plan-logging-cw-config-using-the-cli"></a>

Você pode ativar o CloudWatch registro usando o `create-cluster` comando AWS CLI with the. O CloudWatch agente deve ser incluído no `--applications` parâmetro e o registro é configurado por meio do `--monitoring-configuration` parâmetro.

#### Exemplo: Configuração padrão
<a name="emr-plan-logging-cw-config-default-configuration"></a>

O EMR capturará automaticamente os registros das etapas e somente os registros do driver do Spark e os enviará para o grupo de registros padrão.

```
aws emr create-cluster \
  --name "EMR cluster with CloudWatch Logs" \
  --release-label emr-7.11.0 \
  --applications Name=Spark Name=AmazonCloudWatchAgent \
  --instance-type m7g.2xlarge \
  --instance-count 3 \
  --use-default-roles \
  --monitoring-configuration '{
    "CloudWatchLogConfiguration": {
      "Enabled": true
    }
  }'
```

Ao usar a configuração padrão:
+ **Nome do grupo de registros:** `/aws/emr/{cluster_id}` (onde `{cluster_id}` é substituído automaticamente pelo ID do seu cluster).
+ **Prefixo do fluxo de log:** vazio (sem prefixo).
+ **Tipos de log:** `STEP_LOGS` e `SPARK_DRIVER` ativado, cada um capturando tanto `STDOUT` e. `STDERR`
+ **Criptografia:** nenhuma chave gerenciada pelo cliente (usa criptografia do CloudWatch lado do servidor por padrão)

#### Exemplo: configuração personalizada
<a name="emr-plan-logging-cw-config-default-configuration-custom"></a>

Este exemplo demonstra uma configuração personalizada com nomes de grupos de logs específicos, criptografia KMS e tipos de log seletivos.

```
aws emr create-cluster \
  --name "EMR cluster with custom CloudWatch Logs" \
  --release-label emr-7.11.0 \
  --applications Name=Spark Name=AmazonCloudWatchAgent \
  --instance-type m7g.2xlarge \
  --instance-count 3 \
  --use-default-roles \
  --monitoring-configuration '{
    "CloudWatchLogConfiguration": {
      "Enabled": true,
      "LogGroupName": "/my-company/emr/production",
      "LogStreamNamePrefix": "cluster-prod",
      "EncryptionKeyArn": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012",
      "LogTypes": {
        "STEP_LOGS": ["STDOUT", "STDERR"],
        "SPARK_DRIVER": ["STDOUT", "STDERR"],
        "SPARK_EXECUTOR": ["STDERR", "STDOUT"]
      }
    }
  }'
```

Esta configuração:
+ Cria registros em um grupo de registros personalizado`/my-company/emr/production`.
+ Prefixa todos os nomes de fluxo de log com`cluster-prod`.
+ Criptografa os registros usando a chave KMS especificada.
+ Captura todos os tipos de registros: registros de etapas, registros de drivers do Spark e registros do executor do Spark.

Para obter mais informações sobre como usar o AWS CLI com o Amazon EMR, consulte a [Referência de AWS CLI comandos para o EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/).

### Referência da configuração
<a name="emr-plan-logging-cw-configuration-reference"></a>

#### CloudWatchLogConfiguration Parâmetros
<a name="emr-plan-logging-cw-configuration-parameters"></a>

O `CloudWatchLogConfigurationv` objeto suporta os seguintes parâmetros:


**CloudWatchLogConfiguration Parâmetros**  

| Parâmetro | Tipo | Obrigatório | Descrição | 
| --- | --- | --- | --- | 
| Enabled | Booleano | Sim | Defina como true para ativar o CloudWatch registro. Defina como false para desativar. | 
| LogGroupName | String | Não | O nome do grupo de CloudWatch registros. Padrão: /aws/emr/{cluster\_id} | 
| LogStreamNamePrefix | String | Não | Prefixo para nomes de fluxos de log. Padrão: string vazia | 
| EncryptionKeyArn | String | Não | ARN da chave KMS para criptografia de log. Se não for especificado, os registros são criptografados pela criptografia do lado do CloudWatch servidor. | 
| LogTypes | Objeto | Não | Especifica quais tipos de log devem ser capturados. Padrão: STEP\_LOGS e SPARK\_DRIVER tipos com STDOUT e STDERR. | 

#### Tipos de log
<a name="emr-plan-logging-cw-configuration-log-types"></a>

O Amazon EMR oferece suporte a três tipos de log, cada um capturando tanto a saída padrão quanto os fluxos de erro padrão:


**Tipos de log suportados**  

| Tipo de log | Description | Transmissões disponíveis | 
| --- | --- | --- | 
| STEP\_LOGS | Registros de execução de etapas do EMR, incluindo registros do controlador de etapas | STDOUT, STDERR | 
| SPARK\_DRIVER | Registros de drivers do Apache Spark a partir de aplicativos Spark | STDOUT, STDERR | 
| SPARK\_EXECUTOR | Registros do executor do Apache Spark de nós de trabalho | STDOUT, STDERR | 

##### Configuração padrão dos tipos de log
<a name="emr-plan-logging-cw-default-log-types"></a>

Quando você não especifica o `LogTypes` parâmetro, o EMR usa a seguinte configuração padrão:

```
"LogTypes": {
  "STEP_LOGS": ["STDOUT", "STDERR"],
  "SPARK_DRIVER": ["STDOUT", "STDERR"]
}
```

##### Configuração de tipos de log personalizados
<a name="emr-plan-logging-cw-default-log-types-configuration"></a>

Você pode personalizar quais tipos de log capturar especificando explicitamente o `LogTypes` parâmetro. Por exemplo, para capturar somente registros de etapas:

```
"LogTypes": {
  "STEP_LOGS": ["STDOUT", "STDERR"]
}
```

Ou para capturar somente o erro padrão dos drivers do Spark:

```
"LogTypes": {
  "SPARK_DRIVER": ["STDERR"]
}
```

#### Grupo de registros e nomenclatura de streams
<a name="emr-plan-logging-cw-log-group-and-stream-naming"></a>

CloudWatch organiza os registros em grupos e fluxos de registros:
+ **Grupo de registros:** uma coleção de fluxos de registros que compartilham as mesmas configurações de retenção, monitoramento e controle de acesso.
  + **Nome padrão:** `/aws/emr/{cluster_id}`
  + **Nome personalizado:** qualquer nome de grupo de CloudWatch registros válido que você especificar.
+ **Log Stream:** uma sequência de eventos de log de uma única fonte:
  + Padrões de nomenclatura:
    + **Registros de etapas:**`{prefix}/steps/{step_id}/{file_name}`.
    + **Registros do driver e do executor do Spark:** `{prefix}/applications/{application_id}/{container_id}/{file_name}`
  + Exemplos:
    + `/steps/s-ABCDEFG123456/stdout`
    + `cluster-prod/steps/s-ABCDEFG123456/stderr`
    + `/applications/application_1234567890_0001/container_1234567890_0001_01_000001/stdout`

### Criptografando registros com AWS KMS
<a name="emr-plan-logging-cw-encrypting-logs-with-kms"></a>

Você pode criptografar seus CloudWatch registros em repouso usando AWS Key Management Service (KMS). Para ativar a criptografia:

1. Crie ou identifique uma chave KMS na mesma AWS região do seu cluster EMR.

1. Certifique-se de que a política de chaves do KMS permita que o serviço de CloudWatch registros use a chave.

1. Adicione o `EncryptionKeyArn` parâmetro ao seu`CloudWatchLogConfiguration`.

Para obter informações detalhadas sobre como criptografar dados de CloudWatch registros, consulte [Criptografar dados de registro em CloudWatch Registros usando](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html). AWS Key Management Service

#### Exemplo com criptografia KMS
<a name="emr-plan-logging-cw-encrypting-logs-with-kms-example"></a>

```
{
  "CloudWatchLogConfiguration": {
    "Enabled": true,
    "EncryptionKeyArn": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
  }
}
```

### Visualizando os logins CloudWatch
<a name="emr-plan-logging-cw-viewing-logs"></a>

Depois que seu cluster estiver em execução com o CloudWatch registro ativado, você poderá visualizar e analisar seus registros por meio do CloudWatch console ou da API.

#### Acessando registros do console do EMR
<a name="emr-plan-logging-cw-viewing-accessing"></a>

A maneira mais rápida de acessar os registros do cluster é diretamente do console do EMR:

1. Navegue até o console do Amazon EMR.

1. Selecione seu cluster na lista de clusters.

1. Na página de detalhes do cluster, localize a seção **Gerenciamento de clusters**.

1. Clique no CloudWatch link **Registrar destino na Amazon**.

Esse link leva você diretamente ao console de CloudWatch registros filtrado para o grupo de registros do seu cluster.

#### Acessando registros a partir do CloudWatch console
<a name="emr-plan-logging-cw-viewing-accessing-console"></a>

Para navegar manualmente até seus logins CloudWatch:

1. Abra o [console do CloudWatch ](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, escolha **Grupos de logs**.

1. Encontre seu grupo de registros (padrão: `/aws/emr/{cluster_id}` ou o nome do grupo de registros personalizado)

1. Escolha o grupo de registros para ver os fluxos de registros disponíveis.

1. Selecione um stream de log para ver seus eventos de log.

Para obter mais informações sobre como trabalhar com o CloudWatch Logs, consulte o [Guia do usuário do Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/).

### Considerações
<a name="emr-plan-logging-cw-considerations"></a>

#### CloudWatch Comportamento do agente
<a name="emr-plan-logging-cw-considerations-agent-behavior"></a>

O Amazon CloudWatch Agent fornece métricas e recursos de registro:
+ Ativar o CloudWatch Agente sozinho (sem`MonitoringConfiguration`) publica somente CloudWatch métricas em CloudWatch. Nenhum registro é enviado.
+ A ativação do CloudWatch registro requer o aplicativo do CloudWatch Agente e o `MonitoringConfiguration` parâmetro com`CloudWatchLogConfiguration`. Isso permite métricas e registros juntos.

#### Habilitando somente o CloudWatch registro (desativando CloudWatch métricas)
<a name="emr-plan-logging-cw-considerations-disabling"></a>

Se você quiser ativar o CloudWatch registro, mas desativar o recurso de coleta de métricas, você pode configurar o CloudWatch Agente para parar de exportar métricas. Adicione a seguinte classificação à configuração do seu cluster:

```
[
  {
    "Classification": "emr-metrics",
    "Properties": {},
    "Configurations": [
      {
        "Classification": "emr-system-metrics",
        "Properties": {},
        "Configurations": []
      }
    ]
  }
]
```

Para obter mais informações sobre CloudWatch métricas, consulte [Monitorar métricas com a Amazon CloudWatch](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html).

#### Limitações conhecidas
<a name="emr-plan-logging-cw-considerations-disabling-known"></a>

Pontos de dados de métricas durante o upload de registros:  
Quando o CloudWatch registro está ativo, você pode observar lacunas ocasionais nos dados de CloudWatch métricas durante períodos de alta atividade do registro, principalmente durante o envio de etapas. Isso ocorre porque o controlador de instância do EMR reinicia o CloudWatch Agente para aplicar novas configurações de log quando as etapas são enviadas, interrompendo temporariamente a coleta de métricas. Isso não afeta a entrega de registros ou a funcionalidade do cluster.

#### Requisitos de sub-rede privada
<a name="emr-plan-logging-cw-considerations-disabling-known-private"></a>

Para publicar registros no CloudWatch Logs de um cluster do EMR em uma sub-rede privada, crie e associe o endpoint da VPC do Logs à CloudWatch VPC do seu cluster.

Para obter mais informações sobre endpoints do CloudWatch Logs, consulte [ CloudWatch os endpoints e cotas do Amazon Logs no Guia](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html) de referência *AWS geral*.

#### Considerações sobre custos
<a name="emr-plan-logging-cw-cost-considerations"></a>

CloudWatch As cobranças de registros são baseadas em:
+ **Ingestão de dados:** volume de dados de log ingeridos em CloudWatch
+ **Armazenamento:** quantidade de dados de registro armazenados, com base em suas configurações de retenção
+ **Análise de dados:** consultas executadas usando o CloudWatch Logs Insights

Para otimizar os custos:
+ Defina períodos de retenção de registros apropriados para seus grupos de registros.
+ Use tipos de registro seletivos para capturar somente os registros necessários.
+ Considere usar a geração de registros do Amazon S3 para armazenamento de registros de longo prazo a um custo menor.

Para obter informações atuais sobre preços, consulte [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

### Recursos adicionais
<a name="emr-plan-logging-cw-additional-resources"></a>
+ [Monitore métricas com a Amazon CloudWatch](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) - Informações sobre a coleta de CloudWatch métricas
+ [Configurar funções do IAM para o Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html) - Configuração da função do IAM para clusters do EMR
+ [Guia do usuário do Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/) - Guia completo dos recursos do CloudWatch Logs
+ [AWS CLI Referência de comandos para EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/) - documentação de referência da CLI