

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.

# Surveillance des déploiements à l'aide des outils Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Vous pouvez surveiller CodeDeploy les déploiements à l'aide CloudWatch des outils suivants : Amazon CloudWatch Events, CloudWatch alarmes et Amazon CloudWatch Logs. 

L'examen des journaux créés par l' CodeDeploy agent et des déploiements peut vous aider à résoudre les causes des échecs de déploiement. Au lieu de consulter les CodeDeploy journaux sur une instance à la fois, vous pouvez utiliser CloudWatch Logs pour surveiller tous les journaux dans un emplacement central.

Pour plus d'informations sur l'utilisation des CloudWatch alarmes et CloudWatch des événements pour surveiller vos CodeDeploy déploiements, consultez les rubriques suivantes. 

**Topics**
+ [Surveillance des déploiements avec des CloudWatch alarmes dans CodeDeploy](monitoring-create-alarms.md)
+ [Surveillance des déploiements avec Amazon CloudWatch Events](monitoring-cloudwatch-events.md)

# Surveillance des déploiements avec des CloudWatch alarmes dans CodeDeploy
<a name="monitoring-create-alarms"></a>

Vous pouvez créer une CloudWatch alarme pour une instance ou un groupe Amazon EC2 Auto Scaling que vous utilisez dans le cadre de CodeDeploy vos opérations. Une alarme surveille une seule métrique sur une période que vous spécifiez et exécute une ou plusieurs actions en fonction de la valeur de la métrique par rapport à un seuil donné sur un certain nombre de périodes. CloudWatch les alarmes appellent des actions lorsque leur état change (par exemple, de `OK` à`ALARM`).

À l'aide de la fonctionnalité CloudWatch d'alarme native, vous pouvez spécifier toutes les actions prises en charge en CloudWatch cas d'échec d'une instance que vous utilisez dans le cadre d'un déploiement, comme l'envoi d'une notification Amazon SNS ou l'arrêt, la résiliation, le redémarrage ou la restauration d'une instance. Pour vos CodeDeploy opérations, vous pouvez configurer un groupe de déploiement pour arrêter un déploiement chaque fois qu'une CloudWatch alarme que vous associez au groupe de déploiement est activée. 

Vous pouvez associer jusqu'à dix CloudWatch alarmes à un groupe CodeDeploy de déploiement. Si une des alarmes spécifiées est activée, le déploiement s'arrête et l’état est mis à jour à Stopped. Pour utiliser cette option, vous devez accorder CloudWatch des autorisations à votre rôle CodeDeploy de service.

Pour plus d'informations sur la configuration des CloudWatch alarmes dans la CloudWatch console, consultez la section [Création d' CloudWatch alarmes Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html) dans le *guide de CloudWatch l'utilisateur Amazon*.

Pour plus d'informations sur l'association CloudWatch d'une alarme à un groupe de déploiement dans CodeDeploy, reportez-vous [Créez un groupe de déploiement avec CodeDeploy](deployment-groups-create.md) aux sections et[Modifiez les paramètres du groupe de déploiement avec CodeDeploy](deployment-groups-edit.md).

**Topics**
+ [Accorder CloudWatch des autorisations à un rôle CodeDeploy de service](monitoring-create-alarms-grant-permissions.md)

# Accorder CloudWatch des autorisations à un rôle CodeDeploy de service
<a name="monitoring-create-alarms-grant-permissions"></a>

Avant de pouvoir utiliser la surveillance des CloudWatch alarmes dans le cadre de vos déploiements, le rôle de service que vous utilisez dans le cadre de vos CodeDeploy opérations doit être autorisé à accéder aux CloudWatch ressources. 

**Pour accorder CloudWatch des autorisations à un rôle de service**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans la console IAM, dans le volet de navigation, sélectionnez **Rôles**.

1. Choisissez le nom du rôle de service que vous utilisez dans vos AWS CodeDeploy opérations.

1. Dans l'onglet **Autorisations**, dans la zone **Stratégies en ligne**, choisissez **Créer une stratégie de rôle**.

   –ou–

   Si le bouton **Créer une stratégie de rôle** n'est pas disponible, développez la zone **Stratégies en ligne**, puis choisissez **cliquez ici**.

1. Sur la page **Set Permissions (Définir les autorisations)**, choisissez **Stratégie personnalisée**, puis **Sélectionner**.

1. Sur la page **Examiner une stratégie**, dans le champ **Nom de la stratégie**, tapez un nom pour identifier cette stratégie, comme `CWAlarms`.

1. Collez la stratégie suivante dans le champ **Policy Document (Document de stratégie)** : 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "cloudwatch:DescribeAlarms",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Choisissez **Apply Policy (Appliquer la stratégie)**.

# Surveillance des déploiements avec Amazon CloudWatch Events
<a name="monitoring-cloudwatch-events"></a>

Vous pouvez utiliser Amazon CloudWatch Events pour détecter et réagir aux modifications de l'état d'une instance ou d'un déploiement (un « événement ») dans le cadre de vos CodeDeploy opérations. Ensuite, en fonction des règles que vous créez, CloudWatch Events invoquera une ou plusieurs actions cibles lorsqu'un déploiement ou une instance entre dans l'état que vous spécifiez dans une règle. En fonction du type de modification de l’état, vous pouvez envoyer des notifications, capturer les informations d’état, prendre des mesures correctives, déclencher des événements ou prendre d'autres mesures. Vous pouvez sélectionner les types de cibles suivants lorsque vous utilisez CloudWatch des événements dans le cadre de vos CodeDeploy opérations :
+ AWS Lambda fonctions
+  Flux Kinesis
+ Files d'attente Amazon SQS
+ Cibles intégrées (`EC2 CreateSnapshot API call``EC2 RebootInstances API call`,`EC2 StopInstances API call`, et`EC2 TerminateInstances API call`)
+ Rubriques Amazon SNS

Voici quelques cas d'utilisation :
+ Utilisez une fonction Lambda pour transmettre une notification à un canal Slack chaque fois que des déploiements échouent.
+ Envoyez des données sur les déploiements ou instances à un flux Kinesis pour prendre en charge la surveillance complète et en temps réel de l’état.
+ Utilisez des actions CloudWatch d'alarme pour arrêter, résilier, redémarrer ou récupérer automatiquement les EC2 instances Amazon lorsqu'un événement de déploiement ou d'instance que vous spécifiez se produit.

Le reste de cette rubrique décrit la procédure de base pour créer une règle d' CloudWatch événements pour CodeDeploy. Avant de créer des règles d'événements à utiliser dans le cadre de vos CodeDeploy opérations, vous devez toutefois effectuer les opérations suivantes :
+ Complétez les prérequis CloudWatch relatifs aux événements. Pour plus d'informations, consultez les [conditions préalables à Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CWE_Prerequisites.html).
+ Familiarisez-vous avec les événements, les règles et les cibles dans CloudWatch Événements. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon CloudWatch Events ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) et [nouveaux CloudWatch événements : suivez les modifications apportées à vos AWS ressources et répondez-y](https://aws.amazon.com/blogs/aws/new-cloudwatch-events-track-and-respond-to-changes-to-your-aws-resources/).
+ Créez la ou les cible(s), que vous allez utiliser dans vos règles d'événement. 

**Pour créer une règle d' CloudWatch événements pour CodeDeploy :**

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

1. Dans le volet de navigation, sélectionnez **Events** (Évènements).

1. Choisissez **Create rule (Créer une règle)** et, sous **Event selector (Sélection d'événement)**, choisissez **AWS CodeDeploy**.

1. Spécifiez un type de détail :
   + Pour créer une règle qui s'applique à toutes les modifications d’état des instances et des déploiements, choisissez **Any detail type (Tout type de détail)**, puis passez à l’étape 6.
   + Pour créer une règle qui s'applique uniquement aux instances, choisissez **Type de détail spécifique**, puis choisissez **Notification de changement d'état de l'CodeDeploy instance**.
   + Pour créer une règle qui s'applique uniquement aux déploiements, choisissez **Type de détail spécifique**, puis choisissez Notification de **changement d'état CodeDeploy du déploiement**.

1. Spécifiez les modifications d'état auxquelles la règle s'applique :
   + Pour créer une règle qui s'applique à toutes les modifications d'état, choisissez **Any state (Tout état)**.
   + Pour créer une règle qui s'applique à certaines modifications d’état uniquement, choisissez **Specific state(s) (État(s) spécifique(s))**, puis sélectionnez une ou plusieurs valeurs d’état dans la liste. Le tableau suivant répertorie les valeurs d'état que vous pouvez choisir :  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codedeploy/latest/userguide/monitoring-cloudwatch-events.html)

1. Spécifiez CodeDeploy les applications auxquelles la règle s'applique :
   + Pour créer une règle qui s'applique à toutes les applications, choisissez **Any application (Toute application)**, puis passez à l’étape 8.
   + Pour créer une règle qui s'applique à une seule application, choisissez **Specific application (Application spécifique)**, puis choisissez le nom de l'application dans la liste.

1. Spécifiez les groupes de déploiement auxquels s'applique la règle :
   + Pour créer une règle qui s'applique à tous les groupes de déploiement associés à l'application sélectionnée, choisissez **Any deployment group (Tout groupe de déploiement)**.
   + Pour créer une règle qui s'applique à un seul des groupes de déploiement associés à l'application sélectionnée, choisissez **Specific deployment group(s) (Groupe(s) de déploiement spécifique(s))**, puis sélectionnez le nom du groupe de déploiement dans la liste.

1. Passez en revue la configuration de votre règle pour vous assurer qu'elle correspond à vos besoins de surveillance des événements.

1. Dans la zone **Targets**, choisissez **Add target\$1**.

1. Dans la liste **Sélectionner un type de cible**, choisissez le type de cible que vous avez préparé pour l'utiliser avec cette règle, puis configurez les options supplémentaires requises par ce type de cible. 

1. Choisissez **Configure details** (Configurer les détails).

1. Sur la page **Configure rule details (Configurer les détails de règle)**, tapez un nom et une description pour la règle, puis cochez la case **État** pour activer la règle tout de suite.

1. Si la règle vous convient, choisissez **Créer une règle**.