

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.

# Publier les journaux Amazon EMR dans Logs CloudWatch
<a name="emr-plan-logging-cw"></a>

## Présentation de
<a name="emr-plan-logging-cw-overview"></a>

Amazon EMR on EC2 fournit une intégration native à Amazon CloudWatch Logs, ce qui vous permet d'envoyer des journaux de cluster directement à. CloudWatch Cette fonctionnalité simplifie la gestion des journaux et fournit un accès centralisé à vos journaux de cluster EMR à des fins de surveillance, de dépannage et d'analyse.

Lorsque la CloudWatch journalisation est activée, vous pouvez automatiquement capturer et diffuser les journaux de vos clusters EMR vers des groupes de CloudWatch journaux. Cela inclut les journaux d'exécution des étapes, les journaux des pilotes Spark et les journaux des exécuteurs Spark, qui vous offrent une visibilité complète sur les opérations de votre cluster et le comportement des applications.

La fonctionnalité de CloudWatch journalisation est disponible à partir de la version 7.11.0 d'Amazon EMR et est configurée via le `MonitoringConfiguration` paramètre lors de la création de votre cluster. Une fois activé, les journaux sont automatiquement diffusés au CloudWatch fur et à mesure de leur génération, ce qui permet d'accéder aux données des journaux en temps quasi réel via la CloudWatch console ou l'API.

## Conditions préalables
<a name="emr-plan-logging-cw-prerequisites"></a>

Avant d'activer la CloudWatch journalisation pour votre cluster EMR, assurez-vous que les conditions préalables suivantes sont remplies :
+ **Version Amazon EMR :** votre cluster doit utiliser Amazon EMR version 7.11.0 ou ultérieure.
+ **CloudWatch Application d'agent :** l' CloudWatch agent Amazon doit être installé sur votre cluster.
+ **Autorisations IAM :** le profil d'instance EC2 de votre cluster doit disposer des autorisations CloudWatch Logs requises.
+ **Points de terminaison VPC (pour les sous-réseaux privés) :** si votre cluster se trouve dans un sous-réseau privé, vous devez configurer les points de terminaison VPC pour les journaux. CloudWatch 

## Permissions
<a name="emr-plan-logging-cw-permissions"></a>

L' CloudWatch agent a besoin d'autorisations spécifiques Gestion des identités et des accès AWS(IAM) pour créer des groupes de journaux, créer des flux de journaux et écrire des événements de journal dans des CloudWatch journaux. Ces autorisations doivent être associées au profil d'instance Amazon EC2 utilisé par votre cluster EMR.

### Politique IAM requise
<a name="emr-plan-logging-cw-required-policy"></a>

Ajoutez la politique suivante à votre [profil d'instance EC2 pour qu'Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html) accorde les autorisations nécessaires :

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

### Joindre la politique
<a name="emr-plan-logging-cw-permissions-attaching"></a>

Pour associer cette politique à votre profil d'instance EC2 pour EMR :

1. Accédez à la Console IAM.

1. Localisez le profil d'instance utilisé par votre cluster EMR, qui est généralement. `EMR_EC2_DefaultRole`

1. Créez une nouvelle politique intégrée ou associez une politique gérée par le client avec les autorisations ci-dessus.

1. Enregistrez les modifications de politique.

Pour plus d'informations sur les rôles IAM pour Amazon EMR, [consultez Configurer les rôles IAM pour les autorisations Amazon EMR relatives AWS aux services et aux ressources dans](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html) le guide de gestion Amazon EMR.

## Configuration de la CloudWatch journalisation
<a name="emr-plan-logging-cw-config"></a>

Vous pouvez activer la CloudWatch journalisation lors de la création d'un nouveau cluster EMR via la console AWS de gestion AWS CLI, ou. AWS SDKs La configuration est spécifiée par le biais du `MonitoringConfiguration` paramètre.

### Utilisation de la console AWS de gestion
<a name="emr-plan-logging-cw-config-console"></a>

Pour créer un cluster avec CloudWatch journalisation depuis la console :

1. Accédez à la console [AWS EMR.](https://console.aws.amazon.com/emr/)

1. Choisissez **Créer un cluster**.

1. Sous **Nom et applications**, sélectionnez une version Amazon EMR 7.11.0 ou supérieure.

1. Sous **Bundle d'applications**, sélectionnez les applications que vous souhaitez installer et assurez-vous qu'Amazon CloudWatch Agent est inclus dans vos sélections.

1. Sous **Journaux du cluster**, sélectionnez l'option **Publier les journaux spécifiques au cluster** sur Amazon. CloudWatch

1. (Facultatif) Configurez les paramètres suivants :
   + **Nom du groupe de journaux : nom** du groupe de journaux personnalisé. La valeur par défaut est `/aws/emr/{cluster_id}`.
   + Préfixe du **flux de journal - Préfixe** pour les noms des flux de journaux. La valeur par défaut est. `empty`
   + **CloudWatch Clé KMS** : ARN de la clé KMS pour le chiffrement des journaux (facultatif).
   + **Types de journaux** : sélectionnez les types de journaux à capturer (par défaut : step et pilote Spark)

1. Complétez les paramètres de configuration du cluster restants.

1. Choisissez **Créer un cluster**.

Une fois le cluster créé, vous pouvez accéder au lien CloudWatch Logs depuis la page **Détails du cluster EMR** sous **Gestion du cluster** → **Destination du journal** sur Amazon. CloudWatch

### En utilisant le AWS CLI
<a name="emr-plan-logging-cw-config-using-the-cli"></a>

Vous pouvez activer la CloudWatch journalisation à l'aide AWS CLI de la `create-cluster` commande with. L' CloudWatch agent doit être inclus dans le `--applications` paramètre, et la journalisation est configurée via le `--monitoring-configuration` paramètre.

#### Exemple : configuration par défaut
<a name="emr-plan-logging-cw-config-default-configuration"></a>

EMR capturera automatiquement les journaux des étapes et les journaux des pilotes Spark uniquement et les enverra au groupe de journaux par défaut.

```
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
    }
  }'
```

Lorsque vous utilisez la configuration par défaut :
+ **Nom du groupe de journaux :** `/aws/emr/{cluster_id}` (où `{cluster_id}` est automatiquement remplacé par votre ID de cluster).
+ **Préfixe du flux de journal :** vide (aucun préfixe).
+ **Types de journaux :** `STEP_LOGS` et `SPARK_DRIVER` activés, chacun capturant à la fois `STDOUT` et`STDERR`.
+ **Chiffrement :** aucune clé gérée par le client (utilise le chiffrement CloudWatch côté serveur par défaut)

#### Exemple : configuration personnalisée
<a name="emr-plan-logging-cw-config-default-configuration-custom"></a>

Cet exemple illustre une configuration personnalisée avec des noms de groupes de journaux spécifiques, un chiffrement KMS et des types de journaux sélectifs.

```
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"]
      }
    }
  }'
```

Cette configuration :
+ Crée des journaux dans un groupe de journaux personnalisé`/my-company/emr/production`.
+ Préfixe tous les noms de flux de journaux par`cluster-prod`.
+ Chiffre les journaux à l'aide de la clé KMS spécifiée.
+ Capture tous les types de journaux : journaux d'étapes, journaux du pilote Spark et journaux de l'exécuteur Spark.

Pour plus d'informations sur l'utilisation du AWS CLI avec Amazon EMR, consultez le manuel de [référence des AWS CLI commandes EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/).

### Référence de configuration
<a name="emr-plan-logging-cw-configuration-reference"></a>

#### CloudWatchLogConfiguration Paramètres
<a name="emr-plan-logging-cw-configuration-parameters"></a>

L'`CloudWatchLogConfigurationv`objet prend en charge les paramètres suivants :


**CloudWatchLogConfiguration Paramètres**  

| Paramètre | Type | Obligatoire | Description | 
| --- | --- | --- | --- | 
| Enabled | Booléen | Oui | Réglez sur true pour activer la CloudWatch journalisation. Réglez sur false pour désactiver. | 
| LogGroupName | String | Non | Le nom du groupe de CloudWatch journaux. Valeur par défaut : /aws/emr/{cluster\_id} | 
| LogStreamNamePrefix | String | Non | Préfixe pour les noms des flux de journaux. Par défaut : chaîne vide | 
| EncryptionKeyArn | String | Non | ARN de la clé KMS pour le chiffrement des journaux. Si ce n'est pas spécifié, les journaux sont chiffrés par chiffrement CloudWatch côté serveur. | 
| LogTypes | Objet | Non | Spécifie les types de journaux à capturer. Par défaut : STEP\_LOGS et SPARK\_DRIVER types avec STDOUT et STDERR. | 

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

Amazon EMR prend en charge trois types de journaux, chacun capturant à la fois les flux de sortie standard et les flux d'erreur standard :


**Types de journaux pris en charge**  

| Type de journal | Description | Streams disponibles | 
| --- | --- | --- | 
| STEP\_LOGS | Journaux d'exécution des étapes EMR, y compris les journaux des contrôleurs d'étapes | STDOUT, STDERR | 
| SPARK\_DRIVER | Journaux du pilote Apache Spark à partir des applications Spark | STDOUT, STDERR | 
| SPARK\_EXECUTOR | L'exécuteur Apache Spark enregistre les logs à partir des nœuds de travail | STDOUT, STDERR | 

##### Configuration des types de journaux par défaut
<a name="emr-plan-logging-cw-default-log-types"></a>

Lorsque vous ne spécifiez pas le `LogTypes` paramètre, EMR utilise la configuration par défaut suivante :

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

##### Configuration des types de journaux personnalisés
<a name="emr-plan-logging-cw-default-log-types-configuration"></a>

Vous pouvez personnaliser les types de journaux à capturer en spécifiant explicitement le `LogTypes` paramètre. Par exemple, pour capturer uniquement les journaux des étapes :

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

Ou pour capturer uniquement l'erreur standard des pilotes Spark :

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

#### Dénomination des groupes de journaux et des flux
<a name="emr-plan-logging-cw-log-group-and-stream-naming"></a>

CloudWatch organise les journaux en groupes de journaux et en flux de journaux :
+ **Groupe de journaux :** ensemble de flux de journaux partageant les mêmes paramètres de conservation, de surveillance et de contrôle d'accès.
  + **Nom par défaut :** `/aws/emr/{cluster_id}`
  + **Nom personnalisé :** tout nom de groupe de CloudWatch journaux valide que vous spécifiez.
+ **Log Stream :** séquence d'événements de journal provenant d'une source unique :
  + Modèles de dénomination :
    + **Journaux des étapes :**`{prefix}/steps/{step_id}/{file_name}`.
    + **Journaux du pilote et de l'exécuteur Spark :** `{prefix}/applications/{application_id}/{container_id}/{file_name}`
  + Exemples :
    + `/steps/s-ABCDEFG123456/stdout`
    + `cluster-prod/steps/s-ABCDEFG123456/stderr`
    + `/applications/application_1234567890_0001/container_1234567890_0001_01_000001/stdout`

### Chiffrer les journaux avec AWS KMS
<a name="emr-plan-logging-cw-encrypting-logs-with-kms"></a>

Vous pouvez chiffrer vos CloudWatch journaux au repos à l'aide de AWS Key Management Service (KMS). Pour activer le chiffrement :

1. Créez ou identifiez une clé KMS dans la même AWS région que votre cluster EMR.

1. Assurez-vous que la politique de clé KMS autorise le service CloudWatch Logs à utiliser la clé.

1. Ajoutez le `EncryptionKeyArn` paramètre à votre`CloudWatchLogConfiguration`.

Pour des informations détaillées sur le chiffrement des données des CloudWatch journaux, voir [Chiffrer les données des journaux dans les CloudWatch journaux à l'aide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html) de. AWS Key Management Service

#### Exemple avec le chiffrement 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"
  }
}
```

### Afficher les connexions CloudWatch
<a name="emr-plan-logging-cw-viewing-logs"></a>

Une fois que votre cluster est en cours d'exécution avec la CloudWatch journalisation activée, vous pouvez consulter et analyser vos journaux via la CloudWatch console ou l'API.

#### Accès aux journaux depuis la console EMR
<a name="emr-plan-logging-cw-viewing-accessing"></a>

Le moyen le plus rapide d'accéder aux journaux de votre cluster est directement depuis la console EMR :

1. Accédez à la console Amazon EMR.

1. Sélectionnez votre cluster dans la liste des clusters.

1. Sur la page des détails du cluster, recherchez la section **Gestion du cluster**.

1. Cliquez sur le CloudWatch lien **Destination du journal sur Amazon**.

Ce lien vous amène directement à la console CloudWatch Logs filtrée en fonction du groupe de journaux de votre cluster.

#### Accès aux journaux depuis la CloudWatch console
<a name="emr-plan-logging-cw-viewing-accessing-console"></a>

Pour accéder manuellement à vos identifiants CloudWatch :

1. Ouvrez la [CloudWatch console](https://console.aws.amazon.com/cloudwatch/).

1. Dans le panneau de navigation, choisissez **Groupes de journaux**.

1. Trouvez votre groupe de journaux (par défaut : `/aws/emr/{cluster_id}` ou le nom de votre groupe de journaux personnalisé)

1. Choisissez le groupe de journaux pour afficher les flux de journaux disponibles.

1. Sélectionnez un flux de journal pour afficher ses événements de journal.

Pour plus d'informations sur l'utilisation des CloudWatch journaux, consultez le [guide de l'utilisateur Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/).

### Considérations
<a name="emr-plan-logging-cw-considerations"></a>

#### CloudWatch Comportement des agents
<a name="emr-plan-logging-cw-considerations-agent-behavior"></a>

L' CloudWatch agent Amazon fournit à la fois des métriques et des fonctionnalités de journalisation :
+ L'activation de l' CloudWatch agent seul (sans`MonitoringConfiguration`) ne publie que CloudWatch les métriques sur CloudWatch. Aucun journal n'est envoyé.
+ L'activation de la CloudWatch journalisation nécessite à la fois l'application CloudWatch Agent et le `MonitoringConfiguration` paramètre with`CloudWatchLogConfiguration`. Cela permet de combiner les métriques et la journalisation.

#### Activation de la CloudWatch journalisation uniquement (désactivation CloudWatch des métriques)
<a name="emr-plan-logging-cw-considerations-disabling"></a>

Si vous souhaitez activer la CloudWatch journalisation mais désactiver la fonctionnalité de collecte des métriques, vous pouvez configurer l' CloudWatch agent pour arrêter d'exporter les métriques. Ajoutez la classification suivante à la configuration de votre cluster :

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

Pour plus d'informations sur CloudWatch les métriques, consultez [Surveiller les métriques avec Amazon CloudWatch](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html).

#### Limitations connues
<a name="emr-plan-logging-cw-considerations-disabling-known"></a>

Points de données métriques lors du téléchargement des journaux :  
Lorsque la CloudWatch journalisation est active, vous pouvez observer des lacunes occasionnelles dans les données des CloudWatch métriques pendant les périodes de forte activité des journaux, en particulier lors des soumissions d'étapes. Cela se produit parce que le contrôleur d'instance EMR redémarre l' CloudWatch agent pour appliquer de nouvelles configurations de journal lorsque des étapes sont soumises, interrompant temporairement la collecte des métriques. Cela n'affecte pas la livraison des journaux ni les fonctionnalités du cluster.

#### Exigences relatives aux sous-réseaux privés
<a name="emr-plan-logging-cw-considerations-disabling-known-private"></a>

Pour publier des journaux dans CloudWatch les journaux d'un cluster EMR dans un sous-réseau privé, créez et associez le point de terminaison Logs CloudWatch VPC au VPC de votre cluster.

Pour plus d'informations sur les points de terminaison de CloudWatch Logs, consultez la section [Points de terminaison et quotas Amazon CloudWatch Logs](https://docs.aws.amazon.com/general/latest/gr/cwl_region.html) dans le Guide de *référence AWS général*.

#### Considérations de coût
<a name="emr-plan-logging-cw-cost-considerations"></a>

CloudWatch Les frais de journalisation sont basés sur :
+ **Ingestion de données :** volume de données de log ingérées dans CloudWatch
+ **Stockage :** quantité de données de journal stockées, en fonction de vos paramètres de conservation
+ **Analyse des données :** requêtes exécutées à l'aide de CloudWatch Logs Insights

Afin d’optimiser les coûts :
+ Définissez des périodes de conservation des journaux appropriées pour vos groupes de journaux.
+ Utilisez des types de journaux sélectifs pour ne capturer que les journaux dont vous avez besoin.
+ Envisagez d'utiliser la journalisation Amazon S3 pour le stockage des journaux à long terme à moindre coût.

Pour obtenir des informations sur les prix actuels, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

### Ressources supplémentaires
<a name="emr-plan-logging-cw-additional-resources"></a>
+ [Surveillez les métriques avec Amazon CloudWatch](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/AmazonCloudWatchAgent-metrics.html) - Informations sur la collecte CloudWatch des métriques
+ [Configuration des rôles IAM pour Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html) - Configuration des rôles IAM pour les clusters EMR
+ Guide de [l'utilisateur d'Amazon CloudWatch Logs - Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/) complet CloudWatch des fonctionnalités des journaux
+ [AWS CLI Référence des commandes pour EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/) - Documentation de référence de la CLI