

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.

# CloudWatch solutions d'observabilité
<a name="Monitoring-Solutions"></a>

CloudWatch les solutions d'observabilité proposent un catalogue de configurations facilement disponibles pour vous aider à implémenter rapidement la surveillance de divers AWS services et charges de travail courantes, tels que les machines virtuelles Java (JVM), Apache Kafka, Apache Tomcat et NGINX. Ces solutions fournissent des conseils ciblés sur les principales tâches de surveillance, notamment l'installation et la configuration de l' CloudWatch agent, le déploiement de tableaux de bord personnalisés prédéfinis et la configuration d'alarmes métriques. Ils sont conçus pour aider les développeurs et les équipes opérationnelles à tirer le meilleur parti AWS des outils de surveillance et d'observabilité.

Les solutions comprennent des conseils sur le moment d’utiliser des fonctionnalités d’observabilité spécifiques telles que les métriques de surveillance détaillée pour l’infrastructure, Container Insights pour la surveillance des conteneurs et la vigie applicative pour la surveillance des applications. En fournissant des exemples pratiques et des configurations pratiques, ces solutions visent à simplifier le processus de configuration initiale, ce qui vous permet d’établir un suivi fonctionnel plus rapidement et de le personnaliser en fonction de vos besoins spécifiques.

Pour commencer à utiliser les solutions d'observabilité, rendez-vous sur la [page des solutions d'observabilité](https://console.aws.amazon.com/cloudwatch/home?#settings:/observability-solutions) de la CloudWatch console.

Pour les solutions open source qui fonctionnent avec Amazon Managed Grafana, consultez [Solutions Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/AMG_solutions.html)

Les solutions qui nécessitent CloudWatch un agent sont détaillées ci-dessous :

**Topics**
+ [CloudWatch solution : charge de travail JVM sur Amazon EC2](Solution-JVM-On-EC2.md)
+ [CloudWatch solution : charge de travail NGINX sur Amazon EC2](Solution-NGINX-On-EC2.md)
+ [CloudWatch solution : charge de travail du GPU NVIDIA sur Amazon EC2](Solution-NVIDIA-GPU-On-EC2.md)
+ [CloudWatch solution : charge de travail Kafka sur Amazon EC2](Solution-Kafka-On-EC2.md)
+ [CloudWatch solution : charge de travail Tomcat sur Amazon EC2](Solution-Tomcat-On-EC2.md)
+ [CloudWatch solution : Amazon EC2 Health](Solution-EC2-Health.md)

**Comment fonctionnent les tableaux de bord des solutions ?**  
Les tableaux de bord des CloudWatch solutions utilisent des variables basées sur la recherche (listes déroulantes) qui vous permettent d'explorer et de visualiser de manière dynamique différents aspects de vos charges de travail.  
En combinant la flexibilité des variables alimentées par la recherche avec les [widgets de métriques](create-and-work-with-widgets.md) préconfigurés , le tableau de bord fournit des informations approfondies sur vos charges de travail, ce qui autorise la surveillance proactive, le dépannage et l’optimisation. Cette approche dynamique vous permet d’adapter rapidement le tableau de bord à vos besoins spécifiques en matière de surveillance, sans nécessiter de personnalisation ou de configuration poussée.

**Les solutions prennent-elles en charge l’observabilité interrégionale ?**  
CloudWatch les tableaux de bord de solutions affichent les statistiques de la région dans laquelle le tableau de bord de solution est créé. Cependant, le tableau de bord de la solution n’affiche pas les métriques de plusieurs régions. Si vous avez un cas d’utilisation pour afficher les données de plusieurs Régions dans un seul tableau de bord, vous devrez personnaliser le fichier JSON du tableau de bord pour ajouter les régions que vous voulez afficher. Pour ce faire, utilisez l’attribut `region` du format de métrique pour interroger les métriques de différentes régions. Pour plus d’informations sur la modification du fichier JSON du tableau de bord, consultez [Widget de métriques : format de chaque métrique dans le tableau](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html#CloudWatch-Dashboard-Properties-Metrics-Array-Format).

**Les tableaux de bord des solutions prennent-ils en charge la console [entre comptes et entre CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html) régions ?**  
Lorsque vous utilisez CloudWatch l'observabilité entre comptes, les tableaux de bord des solutions situés dans le compte de surveillance central affichent les métriques des comptes sources de la même région. Pour différencier les métriques des charges de travail similaires entre les comptes, fournissez des valeurs de dimension de regroupement uniques dans les configurations des agents. Par exemple, attribuez des valeurs `ClusterName` distinctes aux agents Kafka dans différents comptes pour la charge de travail Kafka, ce qui permet une sélection précise des clusters et l’affichage des métriques dans le tableau de bord.

**Les tableaux de bord des solutions favorisent-ils l'observabilité [CloudWatch entre comptes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html) ?**  
Si vous avez activé les comptes multiples à l'aide de la CloudWatch console multicomptes interrégions, vous ne pourrez pas utiliser le tableau de bord de la solution créé dans le compte de surveillance pour consulter les statistiques des comptes sources. Au lieu de cela, vous devrez créer des tableaux de bord dans les comptes sources respectifs. Toutefois, vous pouvez créer le tableau de bord dans le compte source et l’afficher à partir du compte de surveillance en modifiant le paramètre ID de compte dans la console.

**Quelles sont les limites d’un tableau de bord de solution ?**  
Les tableaux de bord des solutions s’appuient sur les expressions de recherche pour filtrer et analyser les métriques des charges de travail. Cela permet d’obtenir des vues dynamiques basées sur des sélections d’options déroulantes. Ces expressions de recherche peuvent renvoyer plus de 500 séries temporelles, mais chaque widget de tableau de bord ne peut pas afficher plus de 500 séries temporelles. Si une recherche métrique dans le tableau de bord de la solution aboutit à plus de 500 séries temporelles sur l’ensemble des instances Amazon EC2. Le graphique affichant les principaux contributeurs peut présenter des résultats inexacts. Pour plus d’informations sur les expressions de recherche, consultez [CloudWatch syntaxe des expressions de recherche](search-expression-syntax.md).  
CloudWatch affiche les informations métriques sur les tableaux de bord si vous cliquez sur l'`i`icône du widget du tableau de bord. Cependant, cela ne fonctionne pas actuellement pour les widgets de tableau de bord qui utilisent des expressions de recherche. Les tableaux de bord de solutions utilisent des expressions de recherche, vous ne pourrez donc pas voir la description de la métrique dans le tableau de bord.

**Puis-je personnaliser la configuration de l’agent ou le tableau de bord fourni par une solution ?**  
Vous pouvez personnaliser la configuration de l’agent et le tableau de bord. Notez que si vous personnalisez la configuration de l’agent, vous devez mettre à jour le tableau de bord en conséquence, sinon il affichera des widgets de métriques vides. Sachez également que si vous CloudWatch publiez une nouvelle version d'une solution, vous devrez peut-être répéter vos personnalisations si vous appliquez la version la plus récente de la solution. 

**Comment les solutions sont-elles versionnées ?**  
Chaque solution fournit le plus up-to-date d'instructions et de ressources. Nous recommandons toujours d’utiliser la dernière version disponible. Bien que les solutions elles-mêmes ne soient pas versionnées, les artefacts associés (tels que les CloudFormation modèles pour les tableaux de bord et les installations d'agents) sont versionnés.  
Vous pouvez identifier la version d'un artefact précédemment déployé en vérifiant le champ de description du CloudFormation modèle ou le nom de fichier du modèle que vous avez téléchargé. Pour déterminer si vous utilisez la dernière version, comparez votre version déployée à celle actuellement référencée dans la documentation de la solution.

# CloudWatch solution : charge de travail JVM sur Amazon EC2
<a name="Solution-JVM-On-EC2"></a>

Cette solution vous permet de configurer la collecte de out-of-the-box métriques à l'aide d' CloudWatch agents pour les applications JVM exécutées sur des instances EC2. En outre, il vous aide à configurer un tableau de CloudWatch bord préconfiguré. Pour des informations générales sur toutes les solutions CloudWatch d'observabilité, consultez[CloudWatch solutions d'observabilité](Monitoring-Solutions.md).

**Topics**
+ [Exigences](#Solution-JVM-On-EC2-Requirements)
+ [Avantages](#Solution-JVM-On-EC2-Benefits)
+ [Coûts](#Solution-JVM-On-EC2-Costs)
+ [CloudWatch configuration de l'agent pour cette solution](#Solution-JVM-CloudWatch-Agent)
+ [Déployer l’agent pour votre solution](#Solution-JVM-Agent-Deploy)
+ [Créer le tableau de bord de la solution JVM](#Solution-JVM-Dashboard)

## Exigences
<a name="Solution-JVM-On-EC2-Requirements"></a>

Cette solution est pertinente pour les conditions suivantes :
+ Versions prises en charge : Java LTS versions 8, 11, 17 et 21
+ Calcul : Amazon EC2
+ Prend en charge jusqu'à 500 instances EC2 pour toutes les charges de travail JVM d'une même machine virtuelle Région AWS
+ Dernière version de l' CloudWatch agent
+ Agent SSM installé sur l’instance EC2
**Note**  
AWS Systems Manager (agent SSM) est préinstallé sur certaines [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) fournies par des tiers AWS de confiance. Si l’agent n’est pas installé, vous pouvez l’installer manuellement à l’aide de la procédure correspondant à votre type de système d’exploitation.  
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## Avantages
<a name="Solution-JVM-On-EC2-Benefits"></a>

La solution assure la surveillance de la JVM et fournit des informations précieuses pour les cas d’utilisation suivants :
+ Surveiller l’utilisation de la mémoire tas et non tas de la JVM.
+ Analyser le chargement des threads et des classes pour détecter les problèmes de simultanéité.
+ Suivre le récupérateur de mémoire pour identifier les fuites de mémoire.
+ Basculer entre différentes applications JVM configurées via la solution sous le même compte.

Vous trouverez ci-dessous les principaux avantages de la solution :
+ Automatise la collecte de métriques pour la JVM à l'aide de la configuration de l' CloudWatch agent, éliminant ainsi l'instrumentation manuelle.
+ Fournit un tableau de CloudWatch bord consolidé préconfiguré pour les métriques JVM. Le tableau de bord traitera automatiquement les métriques des nouvelles instances EC2 JVM configurées à l’aide de la solution, même si ces métriques n’existent pas lorsque vous créez le tableau de bord pour la première fois. Il vous permet également de regrouper les métriques en applications logiques pour faciliter la mise au point et la gestion.

L’image suivante est un exemple de tableau de bord pour cette solution.

![\[Exemple de tableau de bord JVM\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/JvmDashboard.png)


## Coûts
<a name="Solution-JVM-On-EC2-Costs"></a>

Cette solution crée et utilise des ressources dans votre compte. Les coûts d’utilisation standard vous sont facturés, y compris les éléments suivants :
+ Toutes les mesures collectées par l' CloudWatch agent sont facturées en tant que mesures personnalisées. Le nombre de métriques utilisées par cette solution dépend du nombre d’hôtes EC2.
  + Chaque hôte JVM configuré pour la solution publie un total de 18 métriques plus une métrique (`disk_used_percent`) pour laquelle le nombre de métriques dépend du nombre de chemins d’accès de l’hôte.
+ Un tableau de bord personnalisé.
+ Opérations d'API demandées par l' CloudWatch agent pour publier les métriques. Avec la configuration par défaut de cette solution, l' CloudWatch agent appelle le **PutMetricData**une fois par minute pour chaque hôte EC2. Cela signifie que l'**PutMetricData**API sera appelée `30*24*60=43,200` dans un délai de 30 jours par mois pour chaque hôte EC2.

Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

Le calculateur de prix peut vous aider à estimer les coûts mensuels approximatifs de l’utilisation de cette solution. 

**Pour utiliser le calculateur de prix afin d’estimer les coûts mensuels de votre solution**

1. Ouvrez le [calculateur CloudWatch de prix Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. Dans la section **Choisir une région**, sélectionnez la région dans laquelle vous souhaitez déployer la solution.

1. Dans la section **Métriques**, pour **Nombre de métriques**, entrez **(18 \$1 average number of disk paths per EC2 host) \$1 number of EC2 instances configured for this solution**.

1. Dans la **APIs**section, pour **Nombre de demandes d'API**, entrez**43200 \$1 number of EC2 instances configured for this solution**.

   Par défaut, l' CloudWatch agent effectue une **PutMetricData**opération par minute pour chaque hôte EC2.

1. Dans la section **Tableaux de bord et alarmes**, pour **Nombre de tableaux de bord**, entrez **1**.

1. Vous pouvez voir vos coûts mensuels estimés en bas du calculateur de prix.

## CloudWatch configuration de l'agent pour cette solution
<a name="Solution-JVM-CloudWatch-Agent"></a>

L' CloudWatch agent est un logiciel qui s'exécute de manière continue et autonome sur vos serveurs et dans des environnements conteneurisés. Il collecte des métriques, des journaux et des traces à partir de votre infrastructure et de vos applications et les envoie à CloudWatch X-Ray.

Pour plus d'informations sur l' CloudWatch agent, consultez[Collectez des métriques, des journaux et des traces à l'aide de l' CloudWatch agent](Install-CloudWatch-Agent.md).

La configuration de l’agent dans cette solution recueille les métriques fondatrices de la solution. L' CloudWatch agent peut être configuré pour collecter plus de métriques JVM que ce que le tableau de bord affiche par défaut. Pour obtenir une liste de toutes les métriques JVM que vous pouvez collecter, consultez [Collecte des métriques JVM](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-JVM-metrics). Pour des informations générales sur la configuration de CloudWatch l'agent, consultez[Métriques collectées par l' CloudWatch agent](metrics-collected-by-CloudWatch-agent.md).

**Exposer les ports JMX pour l’application JVM**

L' CloudWatch agent s'appuie sur JMX pour collecter les métriques liées au processus JVM. Pour que cela soit possible, vous devez exposer le port JMX de votre application JVM. Les instructions pour exposer le port JMX dépendent du type de charge de travail que vous utilisez pour votre application JVM. Consultez la documentation de votre application pour trouver ces instructions.

En général, pour activer un port JMX à des fins de surveillance et de gestion, vous devez définir les propriétés système suivantes pour votre application JVM. Veillez à spécifier un numéro de port inutilisé. L’exemple suivant configure JMX sans authentification. Si votre sécurité policies/requirements exige que vous activiez JMX avec authentification par mot de passe ou SSL pour l'accès à distance, reportez-vous à la [documentation JMX](https://docs.oracle.com/en/java/javase/17/management/monitoring-and-management-using-jmx-technology.html) pour définir la propriété requise.

```
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=port-number
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false
```

Examinez les scripts de démarrage et les fichiers de configuration de votre application pour trouver le meilleur endroit où ajouter ces arguments. Lorsque vous exécutez un `.jar` fichier depuis la ligne de commande, cette commande peut ressembler à ce qui suit, où se *pet-search.jar* trouve le nom du fichier jar de l'application.

```
$ java -jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false pet-search.jar
```

**Configuration de l’agent pour cette solution**

Les métriques collectées par l’agent sont définies dans la configuration de l’agent. La solution fournit des configurations d’agent pour collecter les métriques recommandées avec des dimensions appropriées pour le tableau de bord de la solution. 

Les étapes du déploiement de la solution sont décrites plus loin dans [Déployer l’agent pour votre solution](#Solution-JVM-Agent-Deploy). Les informations suivantes ont pour but de vous aider à comprendre comment personnaliser la configuration de l’agent en fonction de votre environnement.

Vous devez adapter certaines parties de la configuration de l’agent à votre environnement :
+ Le numéro de port JMX est le numéro de port que vous avez configuré dans la section précédente de cette documentation. Il se trouve dans la ligne `endpoint` de la configuration.
+ `ProcessGroupName` : fournissez des noms significatifs pour la dimension `ProcessGroupName`. Ces noms doivent représenter le cluster, l’application ou le regroupement de services pour les instances EC2 exécutant la même application ou le même processus. Cela vous aide à regrouper les métriques des instances appartenant au même groupe de processus JVM, ce qui permet d’obtenir une vue unifiée des performances du cluster, de l’application et du service dans le tableau de bord de la solution.

Par exemple, si deux applications Java s’exécutent dans le même compte, l’une pour l’application `order-processing` et l’autre pour l’application `inventory-management`, vous devez définir les dimensions `ProcessGroupName` en conséquence dans la configuration de l’agent de chaque instance.
+ Pour les instances de l’application `order-processing`, définissez `ProcessGroupName=order-processing`.
+ Pour les instances de l’application `inventory-management`, définissez `ProcessGroupName=inventory-management`.

Lorsque vous suivez ces directives, le tableau de bord de la solution regroupera automatiquement les métriques en fonction de la dimension `ProcessGroupName`. Le tableau de bord comprendra des options déroulantes pour sélectionner et afficher les métriques d’un groupe de processus spécifique, ce qui vous permettra de surveiller séparément les performances des différents groupes de processus.

### Configuration de l’agent pour les hôtes JVM
<a name="Solution-JVM-Agent-Config"></a>

Utilisez la configuration d' CloudWatch agent suivante sur les instances EC2 sur lesquelles vos applications Java sont déployées. La configuration sera stockée en tant que paramètre dans le magasin de paramètres de SSM, comme détaillé plus loin dans [Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager](#Solution-JVM-Agent-Step2).

Remplacez *ProcessGroupName* par le nom de votre groupe de processus. *port-number*Remplacez-le par le port JMX de votre application Java. Si JMX a été activé avec une authentification par mot de passe ou SSL pour l’accès à distance, consultez [Collecte des métriques Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md) pour obtenir des informations sur le paramétrage de TLS ou de l’autorisation dans la configuration de l’agent, le cas échéant.

Les métriques EC2 présentées dans cette configuration (configuration indiquée en dehors du bloc JMX) ne fonctionnent que pour les instances Linux et macOS. Si vous utilisez des instances Windows, vous pouvez choisir d’omettre ces métriques dans la configuration. Pour plus d’informations sur les métriques collectées sur les instances Windows, consultez [Mesures collectées par l' CloudWatch agent sur les instances Windows Server](metrics-collected-by-CloudWatch-agent.md#windows-metrics-enabled-by-CloudWatch-agent).

```
{
  "metrics": {
    "namespace": "CWAgent",
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:port-number",
          "jvm": {
            "measurement": [
              "jvm.classes.loaded",
              "jvm.gc.collections.count",
              "jvm.gc.collections.elapsed",
              "jvm.memory.heap.committed",
              "jvm.memory.heap.max",
              "jvm.memory.heap.used",
              "jvm.memory.nonheap.committed",
              "jvm.memory.nonheap.max",
              "jvm.memory.nonheap.used",
              "jvm.threads.count"
            ]
          },
          "append_dimensions": {
            "ProcessGroupName": "ProcessGroupName"
          }
        }
      ],
      "disk": {
        "measurement": [
          "used_percent"
        ]
      },
      "mem": {
        "measurement": [
          "used_percent"
        ]
      },
      "swap": {
        "measurement": [
          "used_percent"
        ]
      },
      "netstat": {
        "measurement": [
          "tcp_established",
          "tcp_time_wait"
        ]
      }
    }
  }
}
```

## Déployer l’agent pour votre solution
<a name="Solution-JVM-Agent-Deploy"></a>

Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous vous recommandons d’utiliser Systems Manager pour cette solution. Il fournit une expérience de console et simplifie la gestion d'un parc de serveurs gérés au sein d'un seul AWS compte. Les instructions de cette section utilisent Systems Manager et sont destinées aux situations où l' CloudWatch agent n'est pas exécuté avec des configurations existantes. Vous pouvez vérifier si l' CloudWatch agent est en cours d'exécution en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running).

Si vous exécutez déjà l' CloudWatch agent sur les hôtes EC2 sur lesquels la charge de travail est déployée et que vous gérez les configurations de l'agent, vous pouvez ignorer les instructions de cette section et suivre votre mécanisme de déploiement existant pour mettre à jour la configuration. Veillez à fusionner la configuration de l’agent de la JVM avec votre configuration d’agent existante, puis déployez la configuration fusionnée. Si vous utilisez Systems Manager pour stocker et gérer la configuration de l' CloudWatch agent, vous pouvez fusionner la configuration avec la valeur de paramètre existante. Pour plus d'informations, consultez [la section Gestion des fichiers de configuration des CloudWatch agents](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Note**  
L'utilisation de Systems Manager pour déployer les configurations d' CloudWatch agent suivantes remplacera ou remplacera toute configuration d' CloudWatch agent existante sur vos instances EC2. Vous pouvez modifier cette configuration pour l’adapter à votre environnement unique ou à votre cas d’utilisation. Les métriques définies dans cette solution sont le minimum requis pour le tableau de bord recommandé. 

Le processus de déploiement comprend les étapes suivantes :
+ Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
+ Étape 2 : stockez le fichier de configuration de l’agent recommandé dans le magasin de paramètres de Systems Manager.
+ Étape 3 : installez l' CloudWatch agent sur une ou plusieurs instances EC2 à l'aide d'une CloudFormation pile.
+ Étape 4 : vérifiez que l’installation de l’agent est configurée correctement.

### Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
<a name="Solution-JVM-Agent-Step1"></a>

Vous devez autoriser Systems Manager à installer et configurer l' CloudWatch agent. Vous devez également autoriser l' CloudWatch agent à publier des données télémétriques depuis votre instance EC2 vers. CloudWatch Assurez-vous que le rôle IAM associé à l'instance est associé aux politiques **Amazon SSMManaged InstanceCore IAM **CloudWatchAgentServerPolicy**et Amazon**.
+ Une fois le rôle créé, attachez-le à vos instances EC2. Suivez les étapes de la section [Lancer une instance avec un rôle IAM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) pour attacher un rôle lors du lancement d’une nouvelle instance EC2. Pour attacher un rôle à une instance EC2 existante, suivez les étapes de la section [Attacher un rôle IAM à une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).

### Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager
<a name="Solution-JVM-Agent-Step2"></a>

Parameter Store simplifie l'installation de l' CloudWatch agent sur une instance EC2 en stockant et en gérant de manière sécurisée les paramètres de configuration, éliminant ainsi le besoin de valeurs codées en dur. Cela garantit un processus de déploiement plus sûr et plus flexible, permettant une gestion centralisée et des mises à jour plus faciles des configurations sur plusieurs instances.

Procédez comme suit pour enregistrer le fichier de configuration d' CloudWatch agent recommandé en tant que paramètre dans Parameter Store.

**Pour créer le fichier de configuration de CloudWatch l'agent en tant que paramètre**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le volet de navigation, sélectionnez **Gestion des applications**, **Magasin de paramètres**.

1. Suivez ces étapes pour créer un nouveau paramètre pour la configuration.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

   1. Dans le champ **Nom**, entrez un nom que vous utiliserez pour référencer le fichier de configuration de l' CloudWatch agent lors des étapes ultérieures. Par exemple, **AmazonCloudWatch-JVM-Configuration**.

   1. (Facultatif) Dans la zone **Description**, saisissez une description pour le paramètre.

   1. Pour **Niveau de paramètre**, choisissez **Standard**. 

   1. Pour **Type**, choisissez **String** (Chaîne).

   1. Pour **Type de données**, choisissez **texte**.

   1. Dans la case **Valeur**, collez le bloc JSON correspondant qui a été répertorié dans [Configuration de l’agent pour les hôtes JVM](#Solution-JVM-Agent-Config). Veillez à personnaliser la valeur de la dimension de regroupement et le numéro de port comme indiqué.

   1. Sélectionnez **Create parameter** (Créer un paramètre). 

### Étape 3 : Installation de l' CloudWatch agent et application de la configuration à l'aide d'un CloudFormation modèle
<a name="Solution-JVM-Agent-Step3"></a>

Vous pouvez l'utiliser AWS CloudFormation pour installer l'agent et le configurer de manière à utiliser la configuration d' CloudWatch agent que vous avez créée lors des étapes précédentes.

**Pour installer et configurer l' CloudWatch agent pour cette solution**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template -1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail JVM s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **CWAgentInstallationStack**.

1. Dans la section **Paramètres**, indiquez les éléments suivants :

   1. Pour **CloudWatchAgentConfigSSM**, entrez le nom du paramètre Systems Manager pour la configuration de l'agent que vous avez créée précédemment, par exemple**AmazonCloudWatch-JVM-Configuration**.

   1. Pour sélectionner les instances cibles, vous avez deux options.

      1. Pour **InstanceIds**, spécifiez une liste séparée par IDs des virgules d'instances IDs où vous souhaitez installer l' CloudWatch agent avec cette configuration. Vous pouvez répertorier une seule instance ou plusieurs instances.

      1. Si vous déployez à grande échelle, vous pouvez spécifier le **TagKey**et le correspondant **TagValue**pour cibler toutes les instances EC2 avec cette balise et cette valeur. Si vous spécifiez un **TagKey**, vous devez spécifier un correspondant **TagValue**. (Pour un groupe Auto Scaling, spécifiez **aws:autoscaling:groupName** le **TagKey**et spécifiez le nom du groupe Auto Scaling **TagValue**à déployer sur toutes les instances du groupe Auto Scaling.)

         Si vous spécifiez à la fois les **TagKeys**paramètres **InstanceIds**et, **InstanceIds**ils seront prioritaires et les balises seront ignorées.

1. Examinez les paramètres, puis choisissez **Créer la pile**. 

Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser le lien suivant pour télécharger le modèle : [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template -1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

**Note**  
Une fois cette étape terminée, ce paramètre Systems Manager sera associé aux CloudWatch agents exécutés dans les instances ciblées. Cela signifie que :  
Si le paramètre Systems Manager est supprimé, l’agent s’arrêtera.
Si le paramètre Systems Manager est modifié, les modifications de configuration s’appliqueront automatiquement à l’agent à la fréquence planifiée qui est de 30 jours par défaut.
Si vous voulez appliquer immédiatement les modifications apportées à ce paramètre Systems Manager, vous devez exécuter à nouveau cette étape. Pour plus d’informations sur les associations, consultez [Travailler avec des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Étape 4 : vérifiez que la configuration de l’agent est correcte
<a name="Solution-JVM-Agent-Step4"></a>

Vous pouvez vérifier si l' CloudWatch agent est installé en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running). Si l' CloudWatch agent n'est pas installé et n'est pas en cours d'exécution, assurez-vous que tout est correctement configuré.
+ Assurez-vous d’avoir attaché un rôle avec les autorisations correctes pour l’instance EC2, comme décrit dans [Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.](#Solution-JVM-Agent-Step1).
+ Assurez-vous d’avoir correctement configuré le fichier JSON pour le paramètre Systems Manager. Suivez les étapes de [Résolution des problèmes liés à l'installation de CloudWatch l'agent avec CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting).

Si tout est correctement configuré, vous devriez voir les métriques JVM publiées sur CloudWatch. Vous pouvez consulter la CloudWatch console pour vérifier qu'ils sont publiés.

**Pour vérifier que les métriques JVM sont publiées sur CloudWatch**

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

1. Choisissez **Métriques**, **Toutes les métriques**.

1. Assurez-vous d'avoir sélectionné la région dans laquelle vous avez déployé la solution, puis choisissez **Espaces de noms personnalisés**. **CWAgent**

1. Recherchez les métriques mentionnées dans [Configuration de l’agent pour les hôtes JVM](#Solution-JVM-Agent-Config), par exemple `jvm.memory.heap.used`. Si vous obtenez des résultats pour ces mesures, celles-ci sont publiées sur CloudWatch.

## Créer le tableau de bord de la solution JVM
<a name="Solution-JVM-Dashboard"></a>

Le tableau de bord fourni par cette solution présente les métriques de la machine virtuelle Java (JVM) sous-jacente du serveur. Il offre une vue d’ensemble de la JVM en agrégeant et en présentant les métriques de toutes les instances, fournissant ainsi un résumé de haut niveau de la santé globale et de l’état opérationnel. En outre, le tableau de bord présente une répartition des principaux contributeurs (les 10 premiers par widget de métrique) pour chaque métrique. Cela vous aide à identifier rapidement les valeurs aberrantes ou les instances qui contribuent de manière significative aux métriques observées.

Le tableau de bord de la solution n’affiche pas les métriques EC2. Pour consulter les métriques EC2, vous devez utiliser le tableau de bord automatique EC2 pour voir les métriques EC2 vendues et utiliser le tableau de bord de la console EC2 pour voir les métriques EC2 collectées par l'agent. CloudWatch Pour plus d'informations sur les tableaux de bord automatiques pour les AWS services, consultez[Afficher un CloudWatch tableau de bord pour un seul AWS service](CloudWatch_Automatic_Dashboards_Focus_Service.md).

Pour créer le tableau de bord, vous pouvez utiliser les options suivantes :
+ Utilisez CloudWatch la console pour créer le tableau de bord.
+ Utilisez AWS CloudFormation la console pour déployer le tableau de bord.
+ Téléchargez l' AWS CloudFormation infrastructure sous forme de code et intégrez-la dans le cadre de votre automatisation d'intégration continue (CI).

En utilisant la CloudWatch console pour créer un tableau de bord, vous pouvez prévisualiser le tableau de bord avant de le créer et de le débiter.

**Note**  
 Le tableau de bord créé avec CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la CloudFormation pile dans la région où vos métriques JVM sont publiées.   
Si les métriques de l' CloudWatch agent sont publiées dans un espace de noms différent de celui `CWAgent` (par exemple, si vous avez fourni un espace de noms personnalisé), vous devrez modifier la CloudFormation configuration pour la `CWAgent` remplacer par l'espace de noms personnalisé que vous utilisez.

**Pour créer le tableau de bord via CloudWatch la console**
**Note**  
Les tableaux de bord de la solution affichent actuellement les métriques liées à la récupération de mémoire uniquement pour le récupérateur de mémoire G1, qui est le récupérateur par défaut pour les dernières versions de Java. Si vous utilisez un algorithme de récupération de mémoire différent, les widgets relatifs à la récupération de mémoire sont vides. Cependant, vous pouvez personnaliser ces widgets en modifiant le CloudFormation modèle de tableau de bord et en appliquant le type de collecte de déchets approprié à la dimension de nom des métriques relatives à la collecte de déchets. Par exemple, si vous utilisez la récupération de mémoire parallèle, changez le **name=\$1"G1 Young Generation\$1"** en **name=\$1"Parallel GC\$1"** de la métrique de comptage de la récupération de mémoire `jvm.gc.collections.count`.

1. Ouvrez la CloudWatch console **Create Dashboard** en utilisant ce lien : [ https://console.aws.amazon.com/cloudwatch/home ? \$1dashboards ? Modèle de tableau de bord = 2&referrer=os-catalog. JvmOnEc](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=JvmOnEc2&referrer=os-catalog) 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail JVM s’exécute.

1. Saisissez le nom du tableau de bord, puis choisissez **Créer le tableau de bord**.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **JVMDashboard-us-east-1**.

1. Prévisualisez le tableau de bord et cliquez sur **Enregistrer** pour créer le tableau de bord.

**Pour créer le tableau de bord via CloudFormation**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM\$1EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail JVM s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **JVMDashboardStack**.

1. Dans la section **Paramètres**, spécifiez le nom du tableau de bord sous le **DashboardName**paramètre.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **JVMDashboard-us-east-1**.

1. Validez les capacités d’accès pour les transformateurs sous **Capacités et transformateurs**. Notez que CloudFormation cela n'ajoute aucune ressource IAM.

1. Examinez les paramètres, puis choisissez **Créer la pile**. 

1. Une fois que le statut de la pile est **CREATE\$1COMPLETE**, sélectionnez l’onglet **Ressources** sous la pile créée, puis cliquez sur le lien sous **ID physique** pour accéder au tableau de bord. Vous pouvez également accéder au tableau de bord dans la CloudWatch console en choisissant **Tableaux** de bord dans le volet de navigation gauche de la console et en recherchant le nom du tableau de bord sous **Tableaux de bord personnalisés**.

Si vous voulez modifier le fichier modèle pour l’adapter à vos besoins, vous pouvez utiliser l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser ce lien pour télécharger le modèle : [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM\$1EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

**Note**  
Les tableaux de bord de la solution affichent actuellement les métriques liées à la récupération de mémoire uniquement pour le récupérateur de mémoire G1, qui est le récupérateur par défaut pour les dernières versions de Java. Si vous utilisez un algorithme de récupération de mémoire différent, les widgets relatifs à la récupération de mémoire sont vides. Cependant, vous pouvez personnaliser ces widgets en modifiant le CloudFormation modèle de tableau de bord et en appliquant le type de collecte de déchets approprié à la dimension de nom des métriques relatives à la collecte de déchets. Par exemple, si vous utilisez la récupération de mémoire parallèle, changez le **name=\$1"G1 Young Generation\$1"** en **name=\$1"Parallel GC\$1"** de la métrique de comptage de la récupération de mémoire `jvm.gc.collections.count`. 

### Démarrer avec le tableau de bord JVM
<a name="Solution-JVM-Dashboard-GetStarted"></a>

Voici quelques tâches que vous pouvez essayer avec le nouveau tableau de bord de la JVM. Ces tâches vous permettent de vérifier que le tableau de bord fonctionne correctement et vous donnent une expérience pratique de son utilisation pour surveiller un groupe de processus JVM. Au fur et à mesure de vos essais, vous vous familiariserez avec la navigation dans le tableau de bord et l’interprétation des métriques visualisées.

**Sélectionner un groupe de processus**

Utilisez la liste déroulante **Nom du groupe de processus JVM** pour sélectionner le groupe de processus que vous voulez surveiller. Le tableau de bord se met automatiquement à jour pour afficher les métriques du groupe de processus sélectionné. Si vous disposez de plusieurs applications ou environnements Java, chacun d’entre eux peut être représenté par un groupe de processus distinct. En sélectionnant le groupe de processus approprié, vous vous assurez d’afficher les métriques spécifiques à l’application ou à l’environnement que vous voulez analyser.

**Examiner l’utilisation de la mémoire**

Dans la section Présentation du tableau de bord, vous trouverez les widgets **Pourcentage d’utilisation de la mémoire tas** et **Pourcentage d’utilisation de la mémoire non tas**. Ils indiquent le pourcentage de mémoire en tas et hors segment utilisé JVMs dans l'ensemble du groupe de processus sélectionné. Un pourcentage élevé indique une sollicitation de la mémoire susceptible d’entraîner des problèmes de performances ou des exceptions `OutOfMemoryError`. Vous pouvez également analyser l’utilisation du tas par hôte sous **Utilisation de la mémoire par hôte** pour vérifier les hôtes ayant une utilisation élevée.

**Analyser les threads et les classes chargées**

Dans la section **Threads et classes chargées par hôte**, trouvez les widgets **Compte des 10 premiers threads** et **Les 10 premières classes chargées**. Recherchez ceux qui ont JVMs un nombre anormalement élevé de fils ou de classes par rapport aux autres. Un trop grand nombre de threads peut indiquer des fuites de threads ou une simultanéité excessive, tandis qu’un grand nombre de classes chargées pourrait indiquer des fuites potentielles du chargeur de classes ou une génération dynamique de classes inefficace.

**Identifier les problèmes de récupération de mémoire**

Dans la section **Récupération de mémoire**, trouvez les widgets **Les 10 principales invocations de récupération de mémoire par minute** et **Les 10 principales durées de récupération de mémoire** pour les différents types de récupérateur de mémoire : **Jeune**, **Simultanéité**, et **Mixte**. Recherchez ceux JVMs qui ont un nombre anormalement élevé de collections ou dont la durée de collecte est longue par rapport aux autres. Cela peut indiquer des problèmes de configuration ou des fuites de mémoire.

# CloudWatch solution : charge de travail NGINX sur Amazon EC2
<a name="Solution-NGINX-On-EC2"></a>

Cette solution vous permet de configurer la collecte de out-of-the-box métriques à l'aide d' CloudWatch agents pour les applications NGINX exécutées sur des instances EC2. Pour des informations générales sur toutes les solutions CloudWatch d'observabilité, consultez[CloudWatch solutions d'observabilité](Monitoring-Solutions.md).

**Topics**
+ [Exigences](#Solution-NGINX-On-EC2-Requirements)
+ [Avantages](#Solution-NGINX-On-EC2-Benefits)
+ [Coûts](#Solution-NGINX-On-EC2-Costs)
+ [CloudWatch configuration de l'agent pour cette solution](#Solution-NGINX-CloudWatch-Agent)
+ [Déployer l’agent pour votre solution](#Solution-NGINX-Agent-Deploy)
+ [Créer le tableau de bord de la solution NGINX](#Solution-NGINX-Dashboard)

## Exigences
<a name="Solution-NGINX-On-EC2-Requirements"></a>

Cette solution est pertinente pour les conditions suivantes :
+ Versions prises en charge : NGINX version 1.24
+ Calcul : Amazon EC2
+ Prend en charge jusqu’à 500 instances EC2 sur l’ensemble des charges de travail NGINX dans une Région AWS donnée
+ Dernière version de l' CloudWatch agent
+ Prometheus Exporter : nginx-prometheus-exporter nginxinc/ (licence Apache 2.0)
+ Agent SSM installé sur l’instance EC2
**Note**  
AWS Systems Manager (agent SSM) est préinstallé sur certaines [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) fournies par des tiers AWS de confiance. Si l’agent n’est pas installé, vous pouvez l’installer manuellement à l’aide de la procédure correspondant à votre type de système d’exploitation.  
 [Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html) 
 [Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html) 
 [Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html) 

## Avantages
<a name="Solution-NGINX-On-EC2-Benefits"></a>

La solution assure la surveillance de NGINX et fournit des informations précieuses pour les cas d’utilisation suivants :
+ Examinez les métriques de connexion pour identifier les goulots d’étranglement potentiels, les problèmes de connexion ou une utilisation inattendue.
+ Analysez le volume des requêtes HTTP pour comprendre la charge globale du trafic sur le NGINX.

Vous trouverez ci-dessous les principaux avantages de la solution :
+ Automatise la collecte de métriques pour NGINX à l'aide de la configuration de l' CloudWatch agent, éliminant ainsi l'instrumentation manuelle.
+ Fournit un tableau de CloudWatch bord consolidé préconfiguré pour les métriques NGINX. Le tableau de bord traitera automatiquement les métriques des nouvelles instances EC2 NGINX configurées à l’aide de la solution, même si ces métriques n’existent pas lorsque vous créez le tableau de bord pour la première fois.

L’image suivante est un exemple de tableau de bord pour cette solution.

![\[Exemple de tableau de bord pour la solution NGINX.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/NGINXDashboard.png)


## Coûts
<a name="Solution-NGINX-On-EC2-Costs"></a>

Cette solution crée et utilise des ressources dans votre compte. Les coûts d’utilisation standard vous sont facturés, y compris les éléments suivants :
+ Toutes les métriques collectées par l' CloudWatch agent pour cette solution sont publiées dans CloudWatch Logs à l'aide du format EMF (Embedded Metric Format). Ces CloudWatch journaux sont facturés en fonction de leur volume et de leur durée de conservation. Par conséquent, aucun appel d'**PutMetricData**API ne vous sera facturé pour cette solution. Les métriques extraites et ingérées à partir de vos journaux sont facturées en tant que métriques personnalisées. Le nombre de métriques utilisées par cette solution dépend du nombre d’hôtes EC2.
  + Chaque hôte NGINX EC2 configuré pour la solution publie un total de huit métriques.
+ Un tableau de bord personnalisé.

Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

Le calculateur de prix peut vous aider à estimer les coûts mensuels approximatifs de l’utilisation de cette solution.

**Pour utiliser le calculateur de prix afin d’estimer les coûts mensuels de votre solution**

1. Ouvrez le [calculateur CloudWatch de prix Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. Pour **Choisir une région**, sélectionnez l' Région AWS endroit où vous souhaitez déployer la solution.

1. Dans la section **Métriques**, pour **Nombre de métriques**, entrez **8 \$1 number of EC2 instances configured for this solution**.

1. Dans la section **Logs**, pour **Standard Logs : Data Ingested**, entrez le volume de log quotidien estimé généré par l' CloudWatchagent sur tous les hôtes EC2. Par exemple, cinq instances EC2 produisent moins de 1000 octets par jour. Une fois configuré, vous pouvez vérifier votre utilisation d'octets à l'aide de la ` IncomingBytes` métrique, distribuée par CloudWatch Logs. Veillez à sélectionner le groupe de journaux approprié.

1. Dans la section **Journaux**, pour **Stockage/archivage des journaux (journaux standard et fournis)**, sélectionnez **Yes to Store Logs: Assuming 1 month retention**. Modifiez cette valeur si vous décidez d’apporter des modifications personnalisées à la période de rétention.

1. Dans la section **Tableaux de bord et alarmes**, pour **Nombre de tableaux de bord**, entrez **1**.

1. Vous pouvez voir vos coûts mensuels estimés en bas du calculateur de prix.

## CloudWatch configuration de l'agent pour cette solution
<a name="Solution-NGINX-CloudWatch-Agent"></a>

L' CloudWatch agent est un logiciel qui s'exécute de manière continue et autonome sur vos serveurs et dans des environnements conteneurisés. Il collecte des métriques, des journaux et des traces à partir de votre infrastructure et de vos applications et les envoie à CloudWatch X-Ray.

Pour plus d'informations sur l' CloudWatch agent, consultez[Collectez des métriques, des journaux et des traces à l'aide de l' CloudWatch agent](Install-CloudWatch-Agent.md).

La configuration de l’agent dans cette solution collecte un ensemble de métriques pour vous aider à démarrer la surveillance et l’observation de votre charge de travail NGINX. L' CloudWatch agent peut être configuré pour collecter plus de métriques NGINX que ce que le tableau de bord affiche par défaut. Pour obtenir une liste de toutes les métriques NGINX que vous pouvez collecter, consultez [Métriques pour NGINX OSS](https://github.com/nginxinc/nginx-prometheus-exporter?tab=readme-ov-file#exported-metrics).

Avant de configurer l' CloudWatch agent, vous devez d'abord configurer NGINX pour exposer ses métriques. Deuxièmement, vous devez installer et configurer l’exportateur de métriques tiers Prometheus.

### Exposer les métriques NGINX
<a name="Solution-NGINX-Expose-Metrics"></a>

**Note**  
 Les commandes suivantes sont pour Linux. Consultez la [page NGINX pour Windows](https://nginx.org/en/docs/windows.html) pour les commandes équivalentes dans Windows Server. 

Vous devez d’abord activer le module `stub_status`. Ajoutez un nouveau bloc d’emplacement dans votre fichier de configuration NGINX. Ajoutez les lignes suivantes dans le bloc `server` de votre `nginx.conf` pour activer le module `stub_status` de NGINX :

```
location /nginx_status { 
          stub_status on;
          allow 127.0.0.1; # Allow only localhost to access
          deny all; # Deny all other IPs
        }
```

Avant de recharger NGINX, validez votre configuration NGINX :

```
sudo nginx -t
```

Cette commande de validation permet d’éviter toute erreur imprévue qui pourrait entraîner la fermeture de votre site Web. L’exemple suivant montre une réponse positive :

```
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```

Une fois que vous avez validé la configuration mise à jour, rechargez NGINX (aucune sortie n’est attendue) :

```
sudo systemctl reload nginx
```

Cette commande demande au processus NGINX de recharger la configuration. Les rechargements sont plus gracieux qu’un redémarrage complet. Un rechargement démarre le nouveau processus de travailleur avec une nouvelle configuration, en arrêtant les anciens processus de travailleur de manière élégante.

Testez le point de terminaison de statut de NGINX :

```
curl http://127.0.0.1/nginx_status
```

L’exemple suivant montre une réponse positive :

```
Active connections: 1
server accepts handled requests
6 6 6
Reading: 0 Writing: 1 Waiting: 0
```

L’exemple suivant montre une réponse d’échec (revoyez les étapes précédentes avant de continuer) :

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
      <head>
          <title>The page is not found</title>
          ...
```

### Configurer l’exportateur de métriques Prometheus
<a name="Solution-NGINX-Configure-Prometheus"></a>

[Téléchargez la dernière version de l'exportateur NGINX Prometheus depuis le dépôt officiel. GitHub ](https://github.com/nginxinc/nginx-prometheus-exporter/releases) Vous devez télécharger le binaire correspondant à votre plateforme.

L'exemple suivant illustre les commandes pour AMD64 :

```
cd /tmp
wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v1.3.0/nginx-prometheus-exporter_1.3.0_linux_amd64.tar.gz
tar -xzvf nginx-prometheus-exporter_1.3.0_linux_amd64.tar.gz
sudo cp nginx-prometheus-exporter /usr/local/bin/
rm /tmp/nginx-prometheus-exporter*
```

Exécutez l’exportateur Prometheus et dirigez-le vers la page de statut du stub NGINX :

```
nohup /usr/local/bin/nginx-prometheus-exporter -nginx.scrape-uri http://127.0.0.1/nginx_status &>/dev/null &
```

L’exemple suivant démontre une réponse (ID et PID de la tâche d’arrière-plan) :

```
[1] 74699
```

### Testez le point de terminaison Prometheus NGINX
<a name="Solution-NGINX-Test-Prometheus"></a>

Validez que l’exportateur Prometheus NGINX a commencé à exposer les métriques pertinentes :

```
curl http://localhost:port-number/metrics
```

L’exemple suivant montre une réponse positive :

```
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
...
# HELP nginx_connections_accepted Accepted client connections
# TYPE nginx_connections_accepted counter
nginx_connections_accepted 14
# HELP nginx_connections_active Active client connections
# TYPE nginx_connections_active gauge
nginx_connections_active 1
...
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 1
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0
```

### Configuration de l’agent pour cette solution
<a name="Solution-NGINX-Agent-Config-Intro"></a>

Les métriques collectées par l’agent sont définies dans la configuration de l’agent. La solution fournit des configurations d’agent pour collecter les métriques recommandées avec des dimensions appropriées pour le tableau de bord de la solution.

Les étapes du déploiement de la solution sont décrites plus loin dans [Déployer l’agent pour votre solution](#Solution-NGINX-Agent-Deploy). Les informations suivantes ont pour but de vous aider à comprendre comment personnaliser la configuration de l’agent en fonction de votre environnement.

Vous devez adapter certaines parties des configurations de l’agent et de Prometheus à votre environnement, comme le numéro de port utilisé par l’exportateur Prometheus.

Le port utilisé par l’exportateur Prometheus peut être vérifié à l’aide de la commande suivante :

```
sudo netstat -antp | grep nginx-prom
```

L’exemple suivant montre une réponse (voir la valeur du port 9113) :

```
tcp6 0 0 :::9113 :::* LISTEN 76398/nginx-prometh
```

### Configuration de l’agent pour les hôtes NGINX
<a name="Solution-NGINX-Agent-Config"></a>

L' CloudWatch agent chargé de surveiller Prometheus a besoin de deux configurations pour récupérer les métriques Prometheus. Chaque configuration sera stockée en tant que paramètre distinct dans le magasin de paramètres de SSM, comme détaillé plus loin dans [Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager](#Solution-NGINX-Agent-Step2).

La première configuration est pour l’exportateur Prometheus, comme indiqué dans la documentation [scrape\$1config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) de Prometheus. La deuxième configuration concerne l' CloudWatch agent.

 **Configuration de Prometheus** 

*port-number*Remplacez-le par le port de votre serveur.

```
global:
  scrape_interval: 30s
  scrape_timeout: 10s
  
scrape_configs:
- job_name: 'nginx'
  metrics_path: /metrics
  static_configs:
    - targets: ['localhost:port-number']
  ec2_sd_configs:
    - port: port-number
  relabel_configs:
    - source_labels: ['__meta_ec2_instance_id']
      target_label: InstanceId
  metric_relabel_configs:
    - source_labels: ['__name__']
      regex: 'nginx_up|nginx_http_requests_total|nginx_connections_.*'
      action: keep
```

 **CloudWatch configuration de l'agent** 

Conformément à la configuration précédente de l' CloudWatch agent, ces métriques sont publiées via CloudWatch des journaux en utilisant le [format de métrique intégré (EMF)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html). Ces journaux sont configurés pour utiliser le groupe de journaux ` nginx`. Vous pouvez le personnaliser *log\$1group\$1name* avec un nom différent qui représente les CloudWatch journaux.

 Si vous utilisez Windows Server, définissez *prometheus\$1config\$1path* la configuration suivante sur`C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus.yaml`. 

```
{
"agent": {
  "metrics_collection_interval": 60
},
"logs": {
  "metrics_collected": {
      "prometheus": {
          "log_group_name": "nginx",
          "prometheus_config_path": "/opt/aws/amazon-cloudwatch-agent/etc/prometheus.yaml",
          "emf_processor": {
              "metric_declaration_dedup": true,
              "metric_namespace": "CWAgent",
              "metric_declaration":[
                  {
                      "source_labels":["InstanceId"],
                      "metric_selectors":["nginx_up", "nginx_http_requests_total", "nginx_connections*"],
                      "dimensions": [["InstanceId"]]
                  }
              ]
          }
      }
  }
}
}
```

## Déployer l’agent pour votre solution
<a name="Solution-NGINX-Agent-Deploy"></a>

Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous vous recommandons d’utiliser Systems Manager pour cette solution. Il fournit une expérience de console et simplifie la gestion d'un parc de serveurs gérés au sein d'un seul AWS compte. Les instructions de cette section utilisent Systems Manager et sont destinées aux situations où l' CloudWatch agent n'est pas exécuté avec des configurations existantes. Vous pouvez vérifier si l' CloudWatch agent est en cours d'exécution en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running).

Si vous exécutez déjà l' CloudWatch agent sur les hôtes EC2 sur lesquels la charge de travail est déployée et que vous gérez les configurations de l'agent, vous pouvez ignorer les instructions de cette section et suivre votre mécanisme de déploiement existant pour mettre à jour la configuration. Assurez-vous de fusionner les nouvelles configurations d' CloudWatch agent et de Prometheus avec vos configurations existantes, puis de déployer les configurations fusionnées. Si vous utilisez Systems Manager pour stocker et gérer la configuration de l' CloudWatch agent, vous pouvez fusionner la configuration avec la valeur de paramètre existante. Pour plus d'informations, consultez [la section Gestion des fichiers de configuration des CloudWatch agents](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Note**  
L'utilisation de Systems Manager pour déployer les configurations d' CloudWatch agent suivantes remplacera ou remplacera toute configuration d' CloudWatch agent existante sur vos instances EC2. Vous pouvez modifier cette configuration pour l’adapter à votre environnement unique ou à votre cas d’utilisation. Les métriques définies dans la configuration sont le minimum requis pour le tableau de bord fourni la solution.

Le processus de déploiement comprend les étapes suivantes :
+ Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
+ Étape 2 : stockez le fichier de configuration de l’agent recommandé dans le magasin de paramètres de Systems Manager.
+ Étape 3 : installez l' CloudWatch agent sur une ou plusieurs instances EC2 à l'aide d'une CloudFormation pile.
+ Étape 4 : vérifiez que l’installation de l’agent est configurée correctement.

### Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
<a name="Solution-NGINX-Agent-Step1"></a>

Vous devez autoriser Systems Manager à installer et configurer l' CloudWatch agent. Vous devez autoriser l' CloudWatch agent à publier des données télémétriques depuis votre instance EC2 vers. CloudWatch Vous devez également accorder à l' CloudWatch agent un accès en lecture EC2. L'accès en lecture EC2 est requis pour que l'EC2 InstanceId soit ajouté en tant que dimension métrique. Cette exigence supplémentaire est motivée par `prometheus.yaml` comme détaillé ci-dessus parce qu’il utilise ` __meta_ec2_instance_id` via EC2 Service Discovery.

**Assurez-vous que les politiques Amazon et **Amazon SSMManaged InstanceCore** IAM sont attachées au ** CloudWatchAgentServerPolicy**rôle EC2 ReadOnlyAccess IAM attaché à l'instance.**
+ Une fois le rôle créé, attachez-le à vos instances EC2. Pour attacher un rôle à une instance EC2, suivez les étapes de la section [Attacher un rôle IAM à une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attach-iam-role.html).

### Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager
<a name="Solution-NGINX-Agent-Step2"></a>

Parameter Store simplifie l'installation de l' CloudWatch agent sur une instance EC2 en stockant et en gérant de manière sécurisée les paramètres de configuration, éliminant ainsi le besoin de valeurs codées en dur. Cela garantit un processus de déploiement plus sûr et plus flexible, permettant une gestion centralisée et des mises à jour plus faciles des configurations sur plusieurs instances.

Procédez comme suit pour enregistrer le fichier de configuration d' CloudWatch agent recommandé en tant que paramètre dans Parameter Store.

**Pour créer le fichier de configuration de CloudWatch l'agent en tant que paramètre**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Vérifiez que la région sélectionnée dans la console est celle où NGINX est exécuté.

1. Dans le volet de navigation, sélectionnez **Gestion des applications**, **Magasin de paramètres**

1. Suivez ces étapes pour créer un nouveau paramètre pour la configuration.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

   1. Dans le champ **Nom**, entrez un nom que vous utiliserez pour référencer le fichier de configuration de l' CloudWatch agent lors des étapes ultérieures. Par exemple, ** AmazonCloudWatch-NGINX-CloudWatchAgent-Configuration**.

   1. (Facultatif) Dans la zone **Description**, saisissez une description pour le paramètre.

   1. Pour **Niveau de paramètre**, choisissez **Standard**.

   1. Pour **Type**, choisissez **String** (Chaîne).

   1. Pour **Type de données**, choisissez **texte**.

   1. Dans la case **Valeur**, collez le bloc JSON correspondant qui a été répertorié dans [Configuration de l’agent pour les hôtes NGINX](#Solution-NGINX-Agent-Config). Personnalisez les paramètres selon vos besoins. Par exemple, le nom `log_group_name`. 

   1. Sélectionnez **Create parameter** (Créer un paramètre).

**Pour créer le fichier de configuration Prometheus en tant que paramètre**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le volet de navigation, sélectionnez **Gestion des applications**, **Magasin de paramètres**

1. Suivez ces étapes pour créer un nouveau paramètre pour la configuration.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

   1. Dans la zone **Nom**, saisissez un nom que vous utiliserez pour référencer le fichier de configuration dans les étapes suivantes. Par exemple, ** AmazonCloudWatch-NGINX-Prometheus-Configuration**.

   1. (Facultatif) Dans la zone **Description**, saisissez une description pour le paramètre.

   1. Pour **Niveau de paramètre**, choisissez **Standard**.

   1. Pour **Type**, choisissez **String** (Chaîne).

   1. Pour **Type de données**, choisissez **texte**.

   1. Dans la case **Valeur**, collez le bloc YAML correspondant qui a été répertorié dans [Configuration de l’agent pour les hôtes NGINX](#Solution-NGINX-Agent-Config). Personnalisez les paramètres selon vos besoins. Par exemple, le numéro de port correspondant selon `targets`.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

### Étape 3 : Installation de l' CloudWatch agent et application de la configuration à l'aide d'un CloudFormation modèle
<a name="Solution-NGINX-Agent-Step3"></a>

Vous pouvez l'utiliser AWS CloudFormation pour installer l'agent et le configurer de manière à utiliser la configuration d' CloudWatch agent que vous avez créée lors des étapes précédentes.

**Pour installer et configurer l' CloudWatch agent pour cette solution**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template-with -prometheus-config-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-with-prometheus-config-1.0.0.json).

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail NGINX s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple ** CWAgentInstallationStack**.

1. Dans la section **Paramètres**, indiquez les éléments suivants :

   1. Pour **CloudWatchAgentConfigSSM**, entrez le nom du AWS Systems Manager paramètre pour la configuration de l'agent que vous avez créée précédemment, par exemple** AmazonCloudWatch-NGINX-CloudWatchAgent-Configuration**.

   1. Pour **PrometheusConfigSSM**, entrez le nom du AWS Systems Manager paramètre pour la configuration de l'agent que vous avez créée précédemment, par exemple** AmazonCloudWatch-NGINX-Prometheus-Configuration**.

   1. Pour sélectionner les instances cibles, vous avez deux options.

      1. Pour **InstanceIds**, spécifiez une liste séparée par IDs des virgules d'instances IDs où vous souhaitez installer l' CloudWatch agent avec cette configuration. Vous pouvez répertorier une seule instance ou plusieurs instances.

      1. Si vous déployez à grande échelle, vous pouvez spécifier le ** TagKey**et le correspondant **TagValue**pour cibler toutes les instances EC2 avec cette balise et cette valeur. Si vous spécifiez un ** TagKey**, vous devez spécifier un correspondant **TagValue**. (Pour un groupe Auto Scaling, spécifiez **aws:autoscaling:groupName** le **TagKey**et spécifiez le nom du groupe Auto Scaling **TagValue**à déployer sur toutes les instances du groupe Auto Scaling.)

1. Examinez les paramètres, puis choisissez **Créer la pile**.

Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser le lien suivant pour télécharger le modèle : [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template-with -prometheus-config-1.0.0.json]( https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-with-prometheus-config-1.0.0.json). 

**Note**  
Une fois cette étape terminée, ce paramètre Systems Manager sera associé aux CloudWatch agents exécutés dans les instances ciblées. Cela signifie que :  
Si le paramètre Systems Manager est supprimé, l’agent s’arrêtera.
Si le paramètre Systems Manager est modifié, les modifications de configuration s’appliqueront automatiquement à l’agent à la fréquence planifiée qui est de 30 jours par défaut.
Si vous voulez appliquer immédiatement les modifications apportées à ce paramètre Systems Manager, vous devez exécuter à nouveau cette étape. Pour plus d’informations sur les associations, consultez [Travailler avec des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Étape 4 : vérifiez que la configuration de l’agent est correcte
<a name="Solution-NGINX-Agent-Step4"></a>

Vous pouvez vérifier si l' CloudWatch agent est installé en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running). Si l' CloudWatch agent n'est pas installé et n'est pas en cours d'exécution, assurez-vous que tout est correctement configuré.
+ Assurez-vous d’avoir attaché un rôle avec les autorisations correctes pour l’instance EC2, comme décrit dans [Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.](#Solution-NGINX-Agent-Step1).
+ Assurez-vous d’avoir correctement configuré le fichier JSON pour le paramètre Systems Manager. Suivez les étapes de [Résolution des problèmes liés à l'installation de CloudWatch l'agent avec CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting).

Si tout est correctement configuré, vous devriez voir les métriques NGINX publiées sur. CloudWatch Vous pouvez consulter la CloudWatch console pour vérifier qu'ils sont publiés.

**Pour vérifier que les métriques NGINX sont publiées sur CloudWatch**

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

1. Choisissez **Métriques**, **Toutes les métriques**.

1. Assurez-vous d'avoir sélectionné la région dans laquelle vous avez déployé la solution, puis choisissez **Espaces de noms personnalisés**. **CWAgent**

1. Recherchez des métriques telles que `nginx_http_requests_total`. Si vous obtenez des résultats pour ces mesures, celles-ci sont publiées sur CloudWatch.

## Créer le tableau de bord de la solution NGINX
<a name="Solution-NGINX-Dashboard"></a>

Le tableau de bord fourni par cette solution présente les métriques de la charge de travail NGINX en regroupant et en présentant les métriques de toutes les instances. Le tableau de bord présente une répartition des principaux contributeurs (les 10 premiers par widget de métrique) pour chaque métrique. Cela vous aide à identifier rapidement les valeurs aberrantes ou les instances qui contribuent de manière significative aux métriques observées.

Pour créer le tableau de bord, vous pouvez utiliser les options suivantes :
+ Utilisez CloudWatch la console pour créer le tableau de bord.
+ Utilisez AWS CloudFormation la console pour déployer le tableau de bord.
+ Téléchargez l' AWS CloudFormation infrastructure sous forme de code et intégrez-la dans le cadre de votre automatisation d'intégration continue (CI).

En utilisant la CloudWatch console pour créer un tableau de bord, vous pouvez prévisualiser le tableau de bord avant de le créer et de le débiter.

**Note**  
Le tableau de bord créé avec CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la CloudFormation pile dans la région où vos métriques NGINX sont publiées.  
Si vous avez spécifié un espace de noms personnalisé autre que `CWAgent` dans la configuration de l' CloudWatch agent, vous devrez modifier le CloudFormation modèle du tableau de bord pour le `CWAgent` remplacer par l'espace de noms personnalisé que vous utilisez.

**Pour créer le tableau de bord via CloudWatch la console**

1. Ouvrez la CloudWatch console **Create Dashboard** en utilisant ce lien : [ https://console.aws.amazon.com/cloudwatch/home ? \$1dashboards ? Modèle de tableau de bord = 2&referrer=os-catalog. NginxOnEc](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=NginxOnEc2&referrer=os-catalog) 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail NGINX s’exécute.

1. Saisissez le nom du tableau de bord, puis choisissez **Créer le tableau de bord**.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **NGINXDashboard-us-east-1**.

1. Prévisualisez le tableau de bord et cliquez sur **Enregistrer** pour créer le tableau de bord.

**Pour créer le tableau de bord via CloudFormation**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX\$1EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json).

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail NGINX s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple ** NGINXDashboardStack**.

1. Dans la section **Paramètres**, spécifiez le nom du tableau de bord sous le **DashboardName**paramètre.

1. Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple ** NGINXDashboard-us-east-1**.

1. Validez les capacités d’accès pour les transformateurs sous **Capacités et transformateurs**. Notez que CloudFormation cela n'ajoute aucune ressource IAM.

1. Examinez les paramètres, puis choisissez **Créer la pile**.

1. Une fois que le statut de la pile est **CREATE\$1COMPLETE**, sélectionnez l’onglet **Ressources** sous la pile créée, puis cliquez sur le lien sous **ID physique** pour accéder au tableau de bord. Vous pouvez également accéder au tableau de bord dans la CloudWatch console en choisissant **Tableaux** de bord dans le volet de navigation gauche de la console et en recherchant le nom du tableau de bord sous **Tableaux de bord personnalisés**.

Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser le lien suivant pour télécharger le modèle : [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX\$1EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json]( https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

### Démarrer avec le tableau de bord NGINX
<a name="Solution-NGINX-Dashboard-GetStarted"></a>

Voici quelques tâches que vous pouvez essayer avec le nouveau tableau de bord NGINX. Ces tâches vous permettent de valider que le tableau de bord fonctionne correctement et vous donnent une expérience pratique de son utilisation pour surveiller une charge de travail NGINX. Au fur et à mesure de vos essais, vous vous familiariserez avec la navigation dans le tableau de bord et l’interprétation des métriques visualisées.

 **Examiner les métriques de connexion** 

Dans la section **Connexions**, vous pouvez trouver plusieurs métriques clés qui donnent un aperçu de la gestion des connexions client de votre serveur NGINX. La surveillance de ces métriques de connexion peut vous aider à identifier les goulots d’étranglement potentiels, les problèmes de connexion ou les modèles de connexion inattendus.
+ Connexions client acceptées
+ Connexions client actives
+ Connexions client gérées
+ Connexions lisant des requêtes
+ Connexions client inactives
+ Connexions écrivant des réponses

 **Analyser le volume des requêtes HTTP** 

La métrique `request` de la section **Requêtes HTTP** indique le nombre total de requêtes HTTP traitées par le serveur NGINX. Le suivi de cette métrique au fil du temps peut vous aider à comprendre la charge de trafic globale sur votre infrastructure NGINX et à planifier l’allocation des ressources et la mise à l’échelle en conséquence.

# CloudWatch solution : charge de travail du GPU NVIDIA sur Amazon EC2
<a name="Solution-NVIDIA-GPU-On-EC2"></a>

Cette solution vous permet de configurer la collecte de out-of-the-box métriques à l'aide d' CloudWatch agents pour les charges de travail GPU NVIDIA exécutées sur des instances EC2. En outre, il vous aide à configurer un tableau de CloudWatch bord préconfiguré. Pour des informations générales sur toutes les solutions CloudWatch d'observabilité, consultez[CloudWatch solutions d'observabilité](Monitoring-Solutions.md). 

**Topics**
+ [Exigences](#Solution-NVIDIA-GPU-On-EC2-Requirements)
+ [Avantages](#Solution-NVIDIA-GPU-On-EC2-Benefits)
+ [CloudWatch configuration de l'agent pour cette solution](#Solution-NVIDIA-GPU-CloudWatch-Agent)
+ [Déployer l’agent pour votre solution](#Solution-NVIDIA-GPU-Agent-Deploy)
+ [Créer le tableau de bord de la solution de GPU NVIDIA](#Solution-NVIDIA-GPU-Dashboard)

## Exigences
<a name="Solution-NVIDIA-GPU-On-EC2-Requirements"></a>

Cette solution est pertinente pour les conditions suivantes :
+ Calcul : Amazon EC2
+ Supporte jusqu'à 500 GPU sur toutes les instances EC2 d'une même instance Région AWS
+ Dernière version de l' CloudWatch agent
+ Agent SSM installé sur l’instance EC2
+ Un pilote NVIDIA doit être installé sur l’instance EC2. Les pilotes NVIDIA sont préinstallés sur certaines Amazon Machine Images (AMIs). Sinon, vous pouvez installer le pilote manuellement. Pour plus d'informations, consultez [Installer les pilotes NVIDIA sur des instances Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html).

**Note**  
AWS Systems Manager (agent SSM) est préinstallé sur certaines [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) fournies par des tiers AWS de confiance. Si l’agent n’est pas installé, vous pouvez l’installer manuellement à l’aide de la procédure correspondant à votre type de système d’exploitation.  
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## Avantages
<a name="Solution-NVIDIA-GPU-On-EC2-Benefits"></a>

La solution assure la surveillance de NVIDIA et fournit des informations précieuses pour les cas d’utilisation suivants :
+ Analyser l’utilisation du GPU et de la mémoire pour détecter les goulots d’étranglement ou le besoin de ressources supplémentaires.
+ Surveillez la température et la consommation électrique pour garantir un GPUs fonctionnement dans les limites de sécurité.
+ Évaluer les performances de l’encodeur pour les charges de travail vidéo du GPU.
+ Vérifiez PCIe la connectivité pour la génération et la largeur attendues.
+ Surveiller les vitesses d’horloge des GPU pour détecter les problèmes de mise à l’échelle et de limitation.

Vous trouverez ci-dessous les principaux avantages de la solution :
+ Automatise la collecte des métriques pour NVIDIA à l'aide de la configuration de l' CloudWatch agent, éliminant ainsi l'instrumentation manuelle.
+ Fournit un tableau de CloudWatch bord consolidé préconfiguré pour les métriques NVIDIA. Le tableau de bord traitera automatiquement les métriques des nouvelles instances EC2 NVIDIA configurées à l’aide de la solution, même si ces métriques n’existent pas lorsque vous créez le tableau de bord pour la première fois.

L’image suivante est un exemple de tableau de bord pour cette solution.

![\[Exemple de tableau de bord pour une solution de GPU NVIDIA.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/NVIDIADashboard.png)


### Coûts
<a name="Solution-NVIDIA-GPU-On-EC2-Costs"></a>

Cette solution crée et utilise des ressources dans votre compte. Les coûts d’utilisation standard vous sont facturés, y compris les éléments suivants :
+ Toutes les mesures collectées par l' CloudWatch agent sont facturées en tant que mesures personnalisées. Le nombre de métriques utilisées par cette solution dépend du nombre d’hôtes EC2.
  + Chaque hôte EC2 configuré pour la solution publie un total de 17 métriques par GPU.
+ Un tableau de bord personnalisé.
+ Opérations d'API demandées par l' CloudWatch agent pour publier les métriques. Avec la configuration par défaut de cette solution, l' CloudWatch agent appelle le **PutMetricData**une fois par minute pour chaque hôte EC2. Cela signifie que l'**PutMetricData**API sera appelée `30*24*60=43,200` dans un délai de 30 jours par mois pour chaque hôte EC2.

Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

Le calculateur de prix peut vous aider à estimer les coûts mensuels approximatifs de l’utilisation de cette solution.

**Pour utiliser le calculateur de prix afin d’estimer les coûts mensuels de votre solution**

1. Ouvrez le [calculateur CloudWatch de prix Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. Dans la section **Choisir une région**, sélectionnez la région dans laquelle vous souhaitez déployer la solution.

1. Dans la section **Métriques**, pour **Nombre de métriques**, entrez **17 \$1 average number of GPUs per EC2 host \$1 number of EC2 instances configured for this solution**.

1. Dans la **APIs**section, pour **Nombre de demandes d'API**, entrez**43200 \$1 number of EC2 instances configured for this solution**.

1. Par défaut, l' CloudWatch agent effectue une **PutMetricData**opération par minute pour chaque hôte EC2.

1. Dans la section **Tableaux de bord et alarmes**, pour **Nombre de tableaux de bord**, entrez **1**.

1. Vous pouvez voir vos coûts mensuels estimés en bas du calculateur de prix.

## CloudWatch configuration de l'agent pour cette solution
<a name="Solution-NVIDIA-GPU-CloudWatch-Agent"></a>

L' CloudWatch agent est un logiciel qui s'exécute de manière continue et autonome sur vos serveurs et dans des environnements conteneurisés. Il collecte des métriques, des journaux et des traces à partir de votre infrastructure et de vos applications et les envoie à CloudWatch X-Ray.

Pour plus d'informations sur l' CloudWatch agent, consultez[Collectez des métriques, des journaux et des traces à l'aide de l' CloudWatch agent](Install-CloudWatch-Agent.md).

La configuration de l’agent dans cette solution collecte un ensemble de métriques pour vous aider à démarrer la surveillance et l’observation de votre GPU NVIDIA. L' CloudWatch agent peut être configuré pour collecter plus de métriques du GPU NVIDIA que ce que le tableau de bord affiche par défaut. Pour obtenir une liste de toutes les métriques du GPU NVIDIA que vous pouvez collecter, consultez [Collecter des métriques GPU NVIDIA](CloudWatch-Agent-NVIDIA-GPU.md).

### Configuration de l’agent pour cette solution
<a name="Solution-NVIDIA-GPU-Agent-Config"></a>

Les métriques collectées par l’agent sont définies dans la configuration de l’agent. La solution fournit des configurations d’agent pour collecter les métriques recommandées avec des dimensions appropriées pour le tableau de bord de la solution.

Utilisez la configuration d' CloudWatch agent suivante sur les instances EC2 avec NVIDIA GPUs. La configuration sera stockée en tant que paramètre dans le magasin de paramètres de SSM, comme détaillé plus loin dans [Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager](#Solution-NVIDIA-GPU-Agent-Step2).

```
{
    "metrics": {
        "namespace": "CWAgent",
        "append_dimensions": {
            "InstanceId": "${aws:InstanceId}"
        },
        "metrics_collected": {
            "nvidia_gpu": {
                "measurement": [
                    "utilization_gpu",
                    "temperature_gpu",
                    "power_draw",
                    "utilization_memory",
                    "fan_speed",
                    "memory_total",
                    "memory_used",
                    "memory_free",
                    "pcie_link_gen_current",
                    "pcie_link_width_current",
                    "encoder_stats_session_count",
                    "encoder_stats_average_fps",
                    "encoder_stats_average_latency",
                    "clocks_current_graphics",
                    "clocks_current_sm",
                    "clocks_current_memory",
                    "clocks_current_video"
                ],
                "metrics_collection_interval": 60
            }
        }
    },
    "force_flush_interval": 60
}
```

## Déployer l’agent pour votre solution
<a name="Solution-NVIDIA-GPU-Agent-Deploy"></a>

Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous vous recommandons d’utiliser Systems Manager pour cette solution. Il fournit une expérience de console et simplifie la gestion d'un parc de serveurs gérés au sein d'un seul AWS compte. Les instructions de cette section utilisent Systems Manager et sont destinées aux situations où l' CloudWatch agent n'est pas exécuté avec des configurations existantes. Vous pouvez vérifier si l' CloudWatch agent est en cours d'exécution en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running).

Si vous exécutez déjà l' CloudWatch agent sur les hôtes EC2 sur lesquels la charge de travail est déployée et que vous gérez les configurations de l'agent, vous pouvez ignorer les instructions de cette section et suivre votre mécanisme de déploiement existant pour mettre à jour la configuration. Veillez à fusionner la configuration de l’agent de GPU NVIDIA avec votre configuration d’agent existante, puis déployez la configuration fusionnée. Si vous utilisez Systems Manager pour stocker et gérer la configuration de l' CloudWatch agent, vous pouvez fusionner la configuration avec la valeur de paramètre existante. Pour plus d'informations, consultez [la section Gestion des fichiers de configuration des CloudWatch agents](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Note**  
L'utilisation de Systems Manager pour déployer les configurations d' CloudWatch agent suivantes remplacera ou remplacera toute configuration d' CloudWatch agent existante sur vos instances EC2. Vous pouvez modifier cette configuration pour l’adapter à votre environnement unique ou à votre cas d’utilisation. Les métriques définies dans la configuration sont le minimum requis pour le tableau de bord fourni la solution.

Le processus de déploiement comprend les étapes suivantes :
+ Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
+ Étape 2 : stockez le fichier de configuration de l’agent recommandé dans le magasin de paramètres de Systems Manager.
+ Étape 3 : installez l' CloudWatch agent sur une ou plusieurs instances EC2 à l'aide d'une CloudFormation pile.
+ Étape 4 : vérifiez que l’installation de l’agent est configurée correctement.

### Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
<a name="Solution-NVIDIA-GPU-Agent-Step1"></a>

Vous devez autoriser Systems Manager à installer et configurer l' CloudWatch agent. Vous devez également autoriser l' CloudWatch agent à publier des données télémétriques depuis votre instance EC2 vers. CloudWatch Assurez-vous que le rôle IAM associé à l'instance est associé aux politiques **Amazon SSMManaged InstanceCore IAM **CloudWatchAgentServerPolicy**et Amazon**.
+ Une fois le rôle créé, attachez-le à vos instances EC2. Pour attacher un rôle à une instance EC2, suivez les étapes de la section [Attacher un rôle IAM à une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attach-iam-role.html).

### Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager
<a name="Solution-NVIDIA-GPU-Agent-Step2"></a>

Parameter Store simplifie l'installation de l' CloudWatch agent sur une instance EC2 en stockant et en gérant de manière sécurisée les paramètres de configuration, éliminant ainsi le besoin de valeurs codées en dur. Cela garantit un processus de déploiement plus sûr et plus flexible, permettant une gestion centralisée et des mises à jour plus faciles des configurations sur plusieurs instances.

Procédez comme suit pour enregistrer le fichier de configuration d' CloudWatch agent recommandé en tant que paramètre dans Parameter Store.

**Pour créer le fichier de configuration de CloudWatch l'agent en tant que paramètre**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Vérifiez que la région sélectionnée dans la console est celle où la charge de travail du GPU NVIDIA s’exécute.

1. Dans le volet de navigation, sélectionnez **Gestion des applications**, **Magasin de paramètres**.

1. Suivez ces étapes pour créer un nouveau paramètre pour la configuration.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

   1. Dans le champ **Nom**, entrez un nom que vous utiliserez pour référencer le fichier de configuration de l' CloudWatch agent lors des étapes ultérieures. Par exemple, **AmazonCloudWatch-NVIDIA-GPU-Configuration**.

   1. (Facultatif) Dans la zone **Description**, saisissez une description pour le paramètre.

   1. Pour **Niveau de paramètre**, choisissez **Standard**.

   1. Pour **Type**, choisissez **String** (Chaîne).

   1. Pour **Type de données**, choisissez **texte**.

   1. Dans la case **Valeur**, collez le bloc JSON correspondant qui a été répertorié dans [Configuration de l’agent pour cette solution](#Solution-NVIDIA-GPU-Agent-Config).

   1. Sélectionnez **Create parameter** (Créer un paramètre).

### Étape 3 : Installation de l' CloudWatch agent et application de la configuration à l'aide d'un CloudFormation modèle
<a name="Solution-NVIDIA-GPU-Agent-Step3"></a>

Vous pouvez l'utiliser AWS CloudFormation pour installer l'agent et le configurer de manière à utiliser la configuration d' CloudWatch agent que vous avez créée lors des étapes précédentes.

**Pour installer et configurer l' CloudWatch agent pour cette solution**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template -1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json).

1. Vérifiez que la région sélectionnée dans la console est celle où la charge de travail du GPU NVIDIA s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **CWAgentInstallationStack**.

1. Dans la section **Paramètres**, indiquez les éléments suivants :

   1. Pour **CloudWatchAgentConfigSSM**, entrez le nom du paramètre Systems Manager pour la configuration de l'agent que vous avez créée précédemment, par exemple**AmazonCloudWatch-NVIDIA-GPU-Configuration**.

   1. Pour sélectionner les instances cibles, vous avez deux options.

      1. Pour **InstanceIds**, spécifiez une liste séparée par IDs des virgules d'instances IDs où vous souhaitez installer l' CloudWatch agent avec cette configuration. Vous pouvez répertorier une seule instance ou plusieurs instances.

      1. Si vous déployez à grande échelle, vous pouvez spécifier le **TagKey**et le correspondant **TagValue**pour cibler toutes les instances EC2 avec cette balise et cette valeur. Si vous spécifiez un **TagKey**, vous devez spécifier un correspondant **TagValue**. (Pour un groupe Auto Scaling, spécifiez **aws:autoscaling:groupName** le **TagKey**et spécifiez le nom du groupe Auto Scaling **TagValue**à déployer sur toutes les instances du groupe Auto Scaling.)

1. Examinez les paramètres, puis choisissez **Créer la pile**.

Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html).

**Note**  
Une fois cette étape terminée, ce paramètre Systems Manager sera associé aux CloudWatch agents exécutés dans les instances ciblées. Cela signifie que :  
Si le paramètre Systems Manager est supprimé, l’agent s’arrêtera.
Si le paramètre Systems Manager est modifié, les modifications de configuration s’appliqueront automatiquement à l’agent à la fréquence planifiée qui est de 30 jours par défaut.
Si vous voulez appliquer immédiatement les modifications apportées à ce paramètre Systems Manager, vous devez exécuter à nouveau cette étape. Pour plus d’informations sur les associations, consultez [Travailler avec des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Étape 4 : vérifiez que la configuration de l’agent est correcte
<a name="Solution-NVIDIA-GPU-Agent-Step4"></a>

Vous pouvez vérifier si l' CloudWatch agent est installé en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running). Si l' CloudWatch agent n'est pas installé et n'est pas en cours d'exécution, assurez-vous que tout est correctement configuré.
+ Assurez-vous d’avoir attaché un rôle avec les autorisations correctes pour l’instance EC2, comme décrit dans [Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.](#Solution-NVIDIA-GPU-Agent-Step1).
+ Assurez-vous d’avoir correctement configuré le fichier JSON pour le paramètre Systems Manager. Suivez les étapes de [Résolution des problèmes liés à l'installation de CloudWatch l'agent avec CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting).

Si tout est correctement configuré, vous devriez voir les métriques du GPU NVIDIA publiées sur CloudWatch. Vous pouvez consulter la CloudWatch console pour vérifier qu'ils sont publiés.

**Pour vérifier que les métriques du GPU NVIDIA sont publiées sur CloudWatch**

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

1. Choisissez **Métriques**, **Toutes les métriques**.

1. Assurez-vous d'avoir sélectionné la région dans laquelle vous avez déployé la solution, puis choisissez **Espaces de noms personnalisés**. **CWAgent**

1. Recherchez les métriques mentionnées dans [Configuration de l’agent pour cette solution](#Solution-NVIDIA-GPU-Agent-Config), par exemple `nvidia_smi_utilization_gpu`. Si vous obtenez des résultats pour ces mesures, celles-ci sont publiées sur CloudWatch.

## Créer le tableau de bord de la solution de GPU NVIDIA
<a name="Solution-NVIDIA-GPU-Dashboard"></a>

Le tableau de bord fourni par cette solution présente les GPUs métriques NVIDIA en les agrégeant et en les présentant pour toutes les instances. Le tableau de bord présente une répartition des principaux contributeurs (les 10 premiers par widget de métrique) pour chaque métrique. Cela vous aide à identifier rapidement les valeurs aberrantes ou les instances qui contribuent de manière significative aux métriques observées.

Pour créer le tableau de bord, vous pouvez utiliser les options suivantes :
+ Utilisez CloudWatch la console pour créer le tableau de bord.
+ Utilisez AWS CloudFormation la console pour déployer le tableau de bord.
+ Téléchargez l' AWS CloudFormation infrastructure sous forme de code et intégrez-la dans le cadre de votre automatisation d'intégration continue (CI).

En utilisant la CloudWatch console pour créer un tableau de bord, vous pouvez prévisualiser le tableau de bord avant de le créer et de le débiter.

**Note**  
Le tableau de bord créé avec CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la CloudFormation pile dans la région où les métriques de votre GPU NVIDIA sont publiées.  
Si vous avez spécifié un espace de noms personnalisé autre que CWAgent dans la configuration de l' CloudWatch agent, vous devrez modifier le CloudFormation modèle du tableau de bord pour le CWAgent remplacer par l'espace de noms personnalisé que vous utilisez.

**Pour créer le tableau de bord via CloudWatch la console**

1. Ouvrez la CloudWatch console **Create Dashboard** en utilisant ce lien : [ https://console.aws.amazon.com/cloudwatch/home ? \$1dashboards ? Modèle de tableau de bord = 2&referrer=os-catalog. NvidiaGpuOnEc](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=NvidiaGpuOnEc2&referrer=os-catalog) 

1. Vérifiez que la région sélectionnée dans la console est celle où la charge de travail du GPU NVIDIA s’exécute.

1. Saisissez le nom du tableau de bord, puis choisissez **Créer le tableau de bord**.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **NVIDIA-GPU-Dashboard-us-east-1**.

1. Prévisualisez le tableau de bord et cliquez sur **Enregistrer** pour créer le tableau de bord.

**Pour créer le tableau de bord via CloudFormation**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NVIDIA\$1GPU\$1EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NVIDIA_GPU_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json).

1. Vérifiez que la région sélectionnée dans la console est celle où la charge de travail du GPU NVIDIA s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **NVIDIA-GPU-DashboardStack**.

1. Dans la section **Paramètres**, spécifiez le nom du tableau de bord sous le **DashboardName**paramètre.

1. Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **NVIDIA-GPU-Dashboard-us-east-1**.

1. Validez les capacités d’accès pour les transformateurs sous **Capacités et transformateurs**. Notez que CloudFormation cela n'ajoute aucune ressource IAM.

1. Examinez les paramètres, puis choisissez **Créer la pile**.

1. Une fois que le statut de la pile est **CREATE\$1COMPLETE**, sélectionnez l’onglet **Ressources** sous la pile créée, puis cliquez sur le lien sous **ID physique** pour accéder au tableau de bord. Vous pouvez également accéder au tableau de bord dans la CloudWatch console en choisissant **Tableaux** de bord dans le volet de navigation gauche de la console et en recherchant le nom du tableau de bord sous **Tableaux de bord personnalisés**.

Si vous voulez modifier le fichier modèle pour l’adapter à vos besoins, vous pouvez utiliser l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d’informations, consultez [Création d’une pile sur la console CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser ce lien pour télécharger le modèle : [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NVIDIA\$1GPU\$1EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NVIDIA_GPU_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json).

### Démarrer avec le tableau de bord du GPU NVIDIA
<a name="Solution-NVIDIA-GPU-Dashboard-GetStarted"></a>

Voici quelques tâches que vous pouvez essayer avec le nouveau tableau de bord du GPU NVIDIA. Ces tâches vous permettent de vérifier que le tableau de bord fonctionne correctement et de vous fournir une expérience pratique de son utilisation pour surveiller votre NVIDIA GPUs. Au fur et à mesure de vos essais, vous vous familiariserez avec la navigation dans le tableau de bord et l’interprétation des métriques visualisées.

**Examiner l’utilisation du GPU**

Dans la section **Utilisation**, trouvez les widgets **Utilisation du GPU** et **Utilisation de la mémoire**. Ils indiquent le pourcentage de temps pendant lequel le GPU est activement utilisé pour les calculs et le pourcentage de mémoire globale en cours de lecture ou d’écriture, respectivement. Une utilisation élevée peut indiquer des goulets d’étranglement potentiels au niveau des performances ou le besoin de ressources GPU supplémentaires.

**Analyser l’utilisation de la mémoire du GPU**

Dans la section **Mémoire**, vous trouverez les widgets **Mémoire totale**, **Mémoire utilisée** et **Mémoire libre**. Ils fournissent des informations sur la capacité de mémoire globale de la GPUs et sur la quantité de mémoire actuellement consommée ou disponible. La pression de la mémoire peut entraîner des problèmes de performances ou out-of-memory des erreurs. Il est donc important de surveiller ces indicateurs et de s'assurer que suffisamment de mémoire est disponible pour vos charges de travail.

**Surveiller la température et la consommation d’énergie**

Dans la section **Température/Puissance**, vous trouverez les widgets **Température du GPU** et **Consommation d’énergie**. Ces paramètres sont essentiels pour garantir que vous fonctionnez GPUs dans des limites thermiques et de puissance sûres.

**Identifier les performances de l’encodeur**

Dans la section **Encodeur**, vous trouverez les widgets **Nombre de sessions d’encodage**, **FPS moyen** et **Latence moyenne**. Ces statistiques sont pertinentes si vous exécutez des charges de travail d'encodage vidéo sur votre GPUs. Surveillez ces métriques pour vous assurer que vos encodeurs fonctionnent de manière optimale et pour identifier tout goulot d’étranglement potentiel ou problème de performance.

**Vérifier l'état du PCIe lien**

Dans la **PCIe**section, trouvez les widgets de **génération de PCIe liens** et de **largeur de PCIe lien**. Ces métriques fournissent des informations sur le PCIe lien reliant le GPU au système hôte. Assurez-vous que le lien fonctionne à la génération et à la largeur prévues afin d'éviter d'éventuelles limitations de performances dues à des PCIe goulots d'étranglement.

**Examiner les horloges du GPU**

Dans la section **Horloge**, vous trouverez les widgets Horloge **graphique**, **Horloge** **SM**, **Horloge mémoire** et Horloge vidéo. Ces métriques indiquent les fréquences de fonctionnement actuelles des différents composants du GPU. La surveillance de ces horloges peut aider à identifier les problèmes potentiels liés à la mise à l’échelle de l’horloge du GPU ou au limiteur de fréquence, qui pourraient avoir un impact sur les performances.

# CloudWatch solution : charge de travail Kafka sur Amazon EC2
<a name="Solution-Kafka-On-EC2"></a>

Cette solution vous permet de configurer la collecte de out-of-the-box métriques à l'aide d' CloudWatch agents pour les charges de travail Kafka (courtiers, producteurs et consommateurs) exécutées sur des instances EC2. En outre, il vous aide à configurer un tableau de CloudWatch bord préconfiguré. Pour des informations générales sur toutes les solutions CloudWatch d'observabilité, consultez[CloudWatch solutions d'observabilité](Monitoring-Solutions.md).

**Topics**
+ [Exigences](#Solution-Kafka-On-EC2-Requirements)
+ [Avantages](#Solution-Kafka-On-EC2-Benefits)
+ [Coûts](#Solution-Kafka-On-EC2-Costs)
+ [CloudWatch configuration de l'agent pour cette solution](#Solution-Kafka-CloudWatch-Agent)
+ [Déployer l’agent pour votre solution](#Solution-Kafka-Agent-Deploy)
+ [Créer le tableau de bord de la solution Kafka](#Solution-Kafka-Dashboard)
+ [Configurer l’agent pour plusieurs rôles Kafka sur la même instance](#Kafka-Multiple-Roles)

## Exigences
<a name="Solution-Kafka-On-EC2-Requirements"></a>

Cette solution est pertinente pour les conditions suivantes :
+ Charge de travail : Kafka v0.8.2.x et versions ultérieures
+ Calcul : Amazon EC2
+ Prend en charge jusqu'à 500 instances EC2 pour toutes les charges de travail Kafka dans un même environnement Région AWS
+ Dernière version de l' CloudWatch agent
+ Agent SSM installé sur l’instance EC2
**Note**  
AWS Systems Manager (agent SSM) est préinstallé sur certaines [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) fournies par des tiers AWS de confiance. Si l’agent n’est pas installé, vous pouvez l’installer manuellement à l’aide de la procédure correspondant à votre type de système d’exploitation.  
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## Avantages
<a name="Solution-Kafka-On-EC2-Benefits"></a>

La solution assure la surveillance des serveurs Kafka et fournit des informations précieuses pour les cas d’utilisation suivants :
+ Surveiller la santé du cluster Kafka via les métriques de réplication et de synchronisation.
+ Suivre les performances des agents via les échecs et les latences des requêtes ainsi que le trafic réseau.
+ Surveillez producer/consumer les erreurs, les latences et le retard des consommateurs.
+ Analyser les performances de la JVM sous-jacente pour les clusters Kafka.
+ Basculer entre plusieurs clusters Kafka, producteurs et consommateurs configurés via la solution sous le même compte.

Vous trouverez ci-dessous les principaux avantages de la solution :
+ Automatise la collecte de métriques pour Kafka et la machine virtuelle Java sous-jacente à l'aide de la configuration de l' CloudWatch agent, éliminant ainsi l'instrumentation manuelle.
+ Fournit un tableau de CloudWatch bord consolidé préconfiguré pour les métriques Kafka et JVM. Le tableau de bord traitera automatiquement les métriques des nouvelles instances EC2 Kafka configurées à l’aide de la solution, même si ces métriques n’existent pas lorsque vous créez le tableau de bord pour la première fois. Il vous permet également de regrouper les métriques en applications logiques pour faciliter la mise au point et la gestion.

L’image suivante est un exemple de tableau de bord pour cette solution.

![\[Kafka cluster dashboard showing metrics for partitions, producer/consumer performance, and broker status.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/KafkaDashboard.png)


## Coûts
<a name="Solution-Kafka-On-EC2-Costs"></a>

Cette solution crée et utilise des ressources dans votre compte. Les coûts d’utilisation standard vous sont facturés, y compris les éléments suivants :
+ Toutes les mesures collectées par l' CloudWatch agent sont facturées en tant que mesures personnalisées. Le nombre de métriques utilisées par cette solution dépend du nombre d’hôtes EC2.
  + Chaque hôte d’agent configuré pour la solution publie 33 métriques plus une métrique (`disk_used_percent`) pour laquelle le nombre de métriques pour chaque hôte EC2 dépend du nombre de chemins d’accès au disque pour cet hôte.
  + Chaque hôte producteur configuré pour la solution publie trois métriques avec la dimension `topic` et trois métriques sans la dimension `topic`. Pour les métriques avec la dimension `topic`, chaque rubrique compte comme une métrique distincte.
  + Chaque hôte consommateur configuré pour la solution publie deux métriques avec la dimension `topic` et trois métriques sans la dimension `topic`. Pour les métriques avec des dimensions de rubrique, chaque rubrique compte comme une métrique distincte.
+ Un tableau de bord personnalisé.
+ Opérations d'API demandées par l' CloudWatch agent pour publier les métriques. Avec la configuration par défaut de cette solution, l' CloudWatch agent appelle le **PutMetricData**une fois par minute pour chaque hôte EC2. Cela signifie que l'**PutMetricData**API sera appelée `30*24*60=43,200` dans un délai de 30 jours par mois pour chaque hôte EC2.

Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

Le calculateur de prix peut vous aider à estimer les coûts mensuels approximatifs de l’utilisation de cette solution. 

**Pour utiliser le calculateur de prix afin d’estimer les coûts mensuels de votre solution**

1. Ouvrez le [calculateur CloudWatch de prix Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. Dans la section **Métriques**, pour **Nombre de métriques**, entrez **broker\$1metrics\$1count \$1 producer\$1metrics\$1count \$1 consumer\$1metrics\$1count**. Calculez-les comme suit :
   + `broker_metrics_count` = (33 \$1 nombre moyen de chemins de disque par hôte EC2) \$1 number\$1of\$1ec2\$1broker\$1hosts 
   + `producer_metrics_count` = (3 \$1 nombre \$1moyen\$1de\$1rubriques\$1par\$1hôte\$1producteur \$1 3) \$1 nombre\$1d’hôtes\$1producteurs\$1ec2 
   + `consumer_metrics_count` = (2 \$1 nombre\$1moyen\$1de\$1rubriques\$1par\$1hôte\$1consommateur \$1 3) \$1 nombre\$1d’hôtes\$1consommateurs\$1ec2 

1. Dans la **APIs**section, pour **Nombre de demandes d'API**, entrez**43200 \$1 number of EC2 instances configured for this solution**.

   Par défaut, l' CloudWatch agent effectue une **PutMetricData**opération par minute pour chaque hôte EC2.

1. Dans la section **Tableaux de bord et alarmes**, pour **Nombre de tableaux de bord**, entrez **1**.

1. Vous pouvez voir vos coûts mensuels estimés en bas du calculateur de prix.

## CloudWatch configuration de l'agent pour cette solution
<a name="Solution-Kafka-CloudWatch-Agent"></a>

L' CloudWatch agent est un logiciel qui s'exécute de manière continue et autonome sur vos serveurs et dans des environnements conteneurisés. Il collecte des métriques, des journaux et des traces à partir de votre infrastructure et de vos applications et les envoie à CloudWatch X-Ray.

Pour plus d'informations sur l' CloudWatch agent, consultez[Collectez des métriques, des journaux et des traces à l'aide de l' CloudWatch agent](Install-CloudWatch-Agent.md).

La configuration de l’agent dans cette solution collecte les métriques fondamentales pour Kafka, JVM et EC2. L' CloudWatch agent peut être configuré pour collecter plus de métriques Kafka et JVM que ce que le tableau de bord affiche par défaut. Pour une liste de toutes les métriques Kafka que vous pouvez collecter, consultez [Collecte des métriques Kafka](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-Kafka-metrics). Pour obtenir une liste de toutes les métriques JVM que vous pouvez collecter, consultez [Collecte des métriques JVM](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-JVM-metrics). Pour obtenir une liste des métriques EC2, consultez [Métriques collectées par l' CloudWatch agent sur les instances Linux et macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

**Exposer les ports JMX pour les rôles d’agent Kafka, de producteur et de consommateur**

L' CloudWatch agent s'appuie sur JMX pour collecter les métriques relatives aux courtiers, producteurs et consommateurs de Kafka. Pour ce faire, vous devez exposer le port JMX sur vos serveurs et applications.

Pour les agents Kafka, vous devez utiliser la variable d’environnement `JMX_PORT` pour définir le port. Vous devrez redémarrer les agents après avoir défini cette variable d’environnement. Examinez les scripts de démarrage et les fichiers de configuration de votre application pour trouver le meilleur endroit où ajouter ces arguments.

Par exemple, pour les systèmes Linux et macOS, vous pouvez utiliser la commande suivante pour définir le port JMX. Veillez à spécifier un numéro de port inutilisé.

```
export JMX_PORT=port-number
```

Pour les producteurs et les consommateurs Kafka, les instructions relatives à l’exposition du port JMX dépendent du type de charge de travail que vous utilisez pour votre application JVM productrice ou consommatrice. Consultez la documentation de votre application pour trouver ces instructions.

En général, pour activer un port JMX à des fins de surveillance et de gestion, vous devez définir les propriétés système suivantes pour votre application JVM. L’exemple suivant configure JMX sans authentification. Si votre sécurité policies/requirements exige que vous activiez JMX avec authentification par mot de passe ou SSL pour l'accès à distance, reportez-vous à la [documentation JMX](https://docs.oracle.com/en/java/javase/17/management/monitoring-and-management-using-jmx-technology.html) pour définir la propriété requise.

```
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=port-number
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false
```

Pour vérifier le port JMX, exécutez `ps aux | grep jmxremote.port`. Les résultats doivent montrer que le port JMX a été défini sur les processus JVM.

**Configuration de l’agent pour cette solution**

Les métriques collectées par l’agent sont définies dans la configuration de l’agent. La solution fournit des configurations d’agent pour collecter les métriques recommandées avec des dimensions appropriées pour le tableau de bord de la solution. Chaque rôle Kafka, tel que l’agent, le producteur ou le consommateur, possède sa propre configuration d’agent qui permet la collecte des métriques Kafka et des métriques JVM et EC2 sous-jacentes.

Les étapes du déploiement de la solution sont décrites plus loin dans [Déployer l’agent pour votre solution](#Solution-Kafka-Agent-Deploy). Les informations suivantes ont pour but de vous aider à comprendre comment personnaliser la configuration de l’agent en fonction de votre environnement.

Vous devez adapter certaines parties de la configuration de l’agent à votre environnement :
+ Le numéro de port JMX est le numéro de port que vous avez configuré dans la section précédente de cette documentation. Le numéro de port se trouve dans la ligne `endpoint` de la configuration.
+ `ClusterName` : ceci est utilisé comme dimension pour les métriques des agents collectées. Fournissez un nom significatif qui représente le regroupement de clusters pour les instances qui exécutent le courtier Kafka.
+ `ProcessGroupName` : ceci est utilisé comme dimension pour les métriques JVM collectées pour les agents. Indiquez la même valeur que pour `ClusterName`. Cela permet de visualiser les métriques JVM du même groupe des agents Kafka que les métriques des agents dans le tableau de bord de la solution.
+ `ProducerGroupName` : ceci est utilisé comme dimension pour les métriques de producteur collectées. Fournissez un nom significatif qui représente le groupe d’instances de producteurs. Pour cette valeur, vous pouvez spécifier votre application ou service de producteur que vous voulez utiliser pour une vue combinée des métriques de producteur dans le tableau de bord de la solution.
+ `ConsumerGroupName` : cette valeur est utilisée comme dimension pour les métriques de consommateurs collectées. Fournissez un nom significatif qui représente le groupe d’instances de consommateurs. Ce n’est pas la même chose que le concept de groupe de consommateurs dans Kafka. Il s’agit simplement d’une dimension de regroupement où vous pouvez spécifier votre application ou service de consommateur que vous voulez utiliser pour une vue combinée des métriques de consommateur dans le tableau de bord de la solution 

Par exemple, si vous avez deux clusters Kafka fonctionnant dans le même compte, l’un pour l’application `order-processing` et l’autre pour l’application `inventory-management`, vous devez définir les dimensions `ClusterName` et `ProcessGroupName` en conséquence dans la configuration de l’agent de l’instance de l’agent.
+ Pour les instances de l’agent du cluster `order-processing`, définissez `ClusterName=order-processing` et `ProcessGroupName=order-processing`.
+ Pour les instances de l’agent du cluster `inventory-management`, définissez `ClusterName=inventory-management` et `ProcessGroupName=inventory-management`. 
+ De même, définissez `ProducerGroupName` pour les instances de producteurs et `ConsumerGroupName` pour les instances de consommateurs en fonction de leurs applications respectives.

Lorsque vous aurez correctement défini les dimensions ci-dessus, le tableau de bord de la solution regroupera automatiquement les métriques en fonction des dimensions `ClusterName`, `ProducerGroupName` et `ConsumerGroupName`. Le tableau de bord comprendra des options déroulantes permettant de sélectionner et d’afficher les métriques pour des clusters et des groupes spécifiques, ce qui vous permettra de surveiller séparément les performances de chaque cluster et de chaque groupe.

Assurez-vous de déployer la configuration d’agent appropriée sur les instances EC2 appropriées. Chaque configuration sera stockée en tant que paramètre distinct dans le magasin de paramètres de SSM, comme détaillé plus loin dans [Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager](#Solution-Kafka-Agent-Step2).

Les instructions suivantes décrivent la situation dans laquelle les rôles de producteur, de consommateur et d’agent sont déployés sur des instances EC2 distinctes, sans aucun chevauchement. Si vous utilisez plusieurs rôles Kafka sur les mêmes instances EC2, consultez [Configurer l’agent pour plusieurs rôles Kafka sur la même instance](#Kafka-Multiple-Roles) pour plus d’informations.

### Configuration des agents pour les agents de broker Kafka
<a name="Solution-Kafka-Agent-Broker"></a>

Utilisez la configuration d' CloudWatch agent suivante sur les instances EC2 sur lesquelles les agents Kafka Broker sont déployés. *ClusterName*Remplacez-le par le nom du cluster à utiliser pour regrouper ces métriques afin d'obtenir une vue unifiée. La valeur que vous spécifiez *ClusterName* est utilisée à la fois comme `ClusterName` dimension et comme `ProcessGroupName` dimension. *port-number*Remplacez-le par le port JMX de votre serveur Kafka. Si JMX a été activé avec une authentification par mot de passe ou SSL pour l’accès à distance, consultez [Collecte des métriques Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md) pour obtenir des informations sur la configuration de TLS ou de l’autorisation, le cas échéant.

Les métriques EC2 présentées dans cette configuration (configuration indiquée en dehors du bloc JMX) ne fonctionnent que pour les instances Linux et macOS. Si vous utilisez des instances Windows, vous pouvez choisir d’omettre ces métriques dans la configuration. Pour plus d’informations sur les métriques collectées sur les instances Windows, consultez [Mesures collectées par l' CloudWatch agent sur les instances Windows Server](metrics-collected-by-CloudWatch-agent.md#windows-metrics-enabled-by-CloudWatch-agent).

```
{
  "metrics": {
    "namespace": "CWAgent",
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:port-number",
          "kafka": {
            "measurement": [
              "kafka.request.time.avg",
              "kafka.request.failed",
              "kafka.request.count",
              "kafka.purgatory.size",
              "kafka.partition.under_replicated",
              "kafka.partition.offline",
              "kafka.network.io",
              "kafka.leader.election.rate",
              "kafka.isr.operation.count"
            ]
          },
          "append_dimensions": {
            "ClusterName": "ClusterName"
          }
        },
        {
          "endpoint": "localhost:port-number",
          "jvm": {
            "measurement": [
              "jvm.classes.loaded",
              "jvm.gc.collections.count",
              "jvm.gc.collections.elapsed",
              "jvm.memory.heap.committed",
              "jvm.memory.heap.max",
              "jvm.memory.heap.used",
              "jvm.memory.nonheap.committed",
              "jvm.memory.nonheap.max",
              "jvm.memory.nonheap.used",
              "jvm.threads.count"
            ]
          },
          "append_dimensions": {
            "ProcessGroupName": "ClusterName"
          }
        }
      ],
      "disk": {
        "measurement": [
          "used_percent"
        ]
      },
      "mem": {
        "measurement": [
          "used_percent"
        ]
      },
      "swap": {
        "measurement": [
          "used_percent"
        ]
      },
      "netstat": {
        "measurement": [
          "tcp_established",
          "tcp_time_wait"
        ]
      }
    }
  }
}
```

### Configuration de l’agent pour les producteurs Kafka
<a name="Solution-Kafka-Agent-Producer"></a>

Utilisez la configuration d' CloudWatch agent suivante sur les instances Amazon EC2 sur lesquelles les producteurs Kafka sont déployés. Remplacez-le *ProducerGroupName* par le nom de l'application ou du groupe que vous souhaitez utiliser pour regrouper vos métriques afin d'obtenir une vue unifiée. *port-number*Remplacez-le par le port JMX de votre application de production Kafka.

 La solution n’active pas les métriques JVM pour les producteurs Kafka car le tableau de bord de la solution n’affiche pas les métriques liées à la JVM pour les producteurs. Vous pouvez personnaliser la configuration de l’agent pour émettre également des métriques JVM, cependant, les métriques JVM liées aux producteurs ne sont pas visibles sur le tableau de bord de la solution.

```
{
  "metrics": {
    "namespace": "CWAgent",
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:port-number",
          "kafka-producer": {
            "measurement": [
              "kafka.producer.request-rate",
              "kafka.producer.byte-rate",
              "kafka.producer.request-latency-avg",
              "kafka.producer.response-rate",
              "kafka.producer.record-error-rate",
              "kafka.producer.record-send-rate"
            ]
          },
          "append_dimensions": {
            "ProducerGroupName": "ProducerGroupName"
          }
        }
      ]
    }
  }
}
```

### Configuration de l’agent pour les consommateurs Kafka
<a name="Solution-Kafka-Agent-Consumer"></a>

Utilisez la configuration d' CloudWatch agent suivante sur les instances EC2 sur lesquelles les clients Kafka s'exécutent. *ConsumerGroupName*Remplacez-le par le nom de l'application ou du groupe à utiliser pour regrouper ces mesures afin d'obtenir une vue unifiée. *port-number*Remplacez-le par le port JMX de votre application Kafka destinée aux consommateurs.

La solution n’active pas les métriques JVM pour les consommateurs Kafka car le tableau de bord de la solution n’affiche pas les métriques liées à la JVM pour les consommateurs. Vous pouvez personnaliser la configuration de l’agent pour émettre également des métriques JVM, mais les métriques JVM liées au consommateur ne sont pas visibles sur le tableau de bord de la solution.

```
{
  "metrics": {
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:port-number",
          "kafka-consumer": {
            "measurement": [
              "kafka.consumer.fetch-rate",
              "kafka.consumer.total.bytes-consumed-rate",
              "kafka.consumer.records-consumed-rate",
              "kafka.consumer.bytes-consumed-rate",
              "kafka.consumer.records-lag-max"
            ]
          },
          "append_dimensions": {
            "ConsumerGroupName": "ConsumerGroupName"
          }
        }
      ]
    }
  }
}
```

## Déployer l’agent pour votre solution
<a name="Solution-Kafka-Agent-Deploy"></a>

Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous vous recommandons d’utiliser Systems Manager pour cette solution. Il fournit une expérience de console et simplifie la gestion d'un parc de serveurs gérés au sein d'un seul AWS compte. Les instructions de cette section utilisent Systems Manager et sont destinées aux situations où l' CloudWatch agent n'est pas exécuté avec des configurations existantes. Vous pouvez vérifier si l' CloudWatch agent est en cours d'exécution en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running).

Si vous exécutez déjà l' CloudWatch agent sur les hôtes EC2 sur lesquels la charge de travail est déployée et que vous gérez les configurations de l'agent, vous pouvez ignorer les instructions de cette section et suivre votre mécanisme de déploiement existant pour mettre à jour la configuration. Veillez à fusionner la configuration de l’agent en fonction du rôle (agent, producteur ou consommateur) avec votre configuration d’agent existante, puis déployez la configuration fusionnée. Si vous utilisez Systems Manager pour stocker et gérer la configuration de l' CloudWatch agent, vous pouvez fusionner la configuration avec la valeur de paramètre existante. Pour plus d'informations, consultez [la section Gestion des fichiers de configuration des CloudWatch agents](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Note**  
L'utilisation de Systems Manager pour déployer les configurations d' CloudWatch agent suivantes remplacera ou remplacera toute configuration d' CloudWatch agent existante sur vos instances EC2. Vous pouvez modifier cette configuration pour l’adapter à votre environnement unique ou à votre cas d’utilisation. Les métriques définies dans cette solution sont le minimum requis pour le tableau de bord recommandé. 

Le processus de déploiement comprend les étapes suivantes :
+ Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
+ Étape 2 : stockez le fichier de configuration de l’agent recommandé dans le magasin de paramètres de Systems Manager.
+ Étape 3 : installez l' CloudWatch agent sur une ou plusieurs instances EC2 à l'aide d'une CloudFormation pile.
+ Étape 4 : vérifiez que l’installation de l’agent est configurée correctement.

Vous devez répéter ces étapes selon que votre agent, votre producteur et votre consommateur sont déployés sur la même instance EC2 ou sur des instances différentes. Par exemple, si l’agent Kafka, le producteur et les consommateurs sont déployés sur des instances séparées sans chevauchement, vous devez répéter ces étapes trois fois avec les configurations d’agent appropriées pour les instances EC2 de l’agent, du producteur et du consommateur.

### Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
<a name="Solution-Kafka-Agent-Step1"></a>

Vous devez autoriser Systems Manager à installer et configurer l' CloudWatch agent. Vous devez également autoriser l' CloudWatch agent à publier des données télémétriques depuis votre instance EC2 vers. CloudWatch Assurez-vous que le rôle IAM associé à l'instance est associé aux politiques **Amazon SSMManaged InstanceCore IAM **CloudWatchAgentServerPolicy**et Amazon**.
+ Une fois le rôle créé, attachez-le à vos instances EC2. Suivez les étapes de la section [Lancer une instance avec un rôle IAM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) pour attacher un rôle lors du lancement d’une nouvelle instance EC2. Pour attacher un rôle à une instance EC2 existante, suivez les étapes de la section [Attacher un rôle IAM à une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).

### Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager
<a name="Solution-Kafka-Agent-Step2"></a>

Parameter Store simplifie l'installation de l' CloudWatch agent sur une instance EC2 en stockant et en gérant de manière sécurisée les paramètres de configuration, éliminant ainsi le besoin de valeurs codées en dur. Cela garantit un processus de déploiement plus sûr et plus flexible, permettant une gestion centralisée et des mises à jour plus faciles des configurations sur plusieurs instances.

Procédez comme suit pour enregistrer le fichier de configuration d' CloudWatch agent recommandé en tant que paramètre dans Parameter Store.

**Pour créer le fichier de configuration de CloudWatch l'agent en tant que paramètre**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le volet de navigation, sélectionnez **Gestion des applications**, **Magasin de paramètres**.

1. Suivez ces étapes pour créer un nouveau paramètre pour la configuration.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

   1. Donnez un nom au paramètre qui stockera la configuration de votre CloudWatch agent, par exemple **AmazonCloudWatch-Kafka-Producer-Configuration** pour les producteurs, **AmazonCloudWatch-Kafka-Consumer-Configuration** les consommateurs ou **AmazonCloudWatch-Kafka-Broker-Configuration** les courtiers. Si vous avez plusieurs rôles Kafka sur un seul EC2, nommez les rôles en conséquence pour faciliter l’identification. Cette valeur sera utilisée ultérieurement pour distribuer cette configuration à l’agent s’exécutant sur votre instance EC2.

   1. Pour **Niveau de paramètre**, choisissez **Standard**. 

   1. Pour **Type**, choisissez **String** (Chaîne).

   1. Pour **Type de données**, choisissez **texte**.

   1. Dans le champ **Valeur**, collez le texte complet de la configuration de l' CloudWatch agent. Veillez à sélectionner le bloc JSON pour le rôle Kafka que cette instance héberge. Reportez-vous à la configuration fournie dans [Configuration des agents pour les agents de broker Kafka](#Solution-Kafka-Agent-Broker), [Configuration de l’agent pour les producteurs Kafka](#Solution-Kafka-Agent-Producer) et [Configuration de l’agent pour les consommateurs Kafka](#Solution-Kafka-Agent-Consumer) lorsque vous stockez la configuration pour l’agent, le producteur et le consommateur respectivement. Si vous exécutez plusieurs rôles Kafka sur la même instance EC2, assurez-vous de fusionner la configuration si nécessaire comme décrit dans [Configurer l’agent pour plusieurs rôles Kafka sur la même instance](#Kafka-Multiple-Roles) sur la même instance

   1. Sélectionnez **Create parameter** (Créer un paramètre). 

### Étape 3 : Installation de l' CloudWatch agent et application de la configuration à l'aide d'un CloudFormation modèle
<a name="Solution-Kafka-Agent-Step3"></a>

Vous pouvez l'utiliser AWS CloudFormation pour installer l'agent et le configurer de manière à utiliser la configuration d' CloudWatch agent que vous avez créée lors des étapes précédentes.

**Pour installer et configurer l' CloudWatch agent pour cette solution**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template -1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail Kafka s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **CWAgentInstallationStack**.

1. Dans la section **Paramètres**, indiquez les éléments suivants :

   1. Pour **CloudWatchAgentConfigSSM**, entrez le nom du paramètre Systems Manager pour la configuration d'agent que vous avez créée précédemment, par exemple **AmazonCloudWatch-Kafka-Broker-Configuration** pour les courtiers, **AmazonCloudWatch-Kafka-Producer-Configuration** les producteurs et **AmazonCloudWatch-Kafka-Consumer-Configuration** les consommateurs.

   1. Pour sélectionner les instances cibles, vous avez deux options.

      1. Pour **InstanceIds**, spécifiez une liste séparée par IDs des virgules d'instances IDs où vous souhaitez installer l' CloudWatch agent avec cette configuration. Vous pouvez répertorier une seule instance ou plusieurs instances.

      1. Si vous déployez à grande échelle, vous pouvez spécifier le **TagKey**et le correspondant **TagValue**pour cibler toutes les instances EC2 avec cette balise et cette valeur. Si vous spécifiez un **TagKey**, vous devez spécifier un correspondant **TagValue**. (Pour un groupe Auto Scaling, spécifiez **aws:autoscaling:groupName** le **TagKey**et spécifiez le nom du groupe Auto Scaling **TagValue**à déployer sur toutes les instances du groupe Auto Scaling.)

         Si vous spécifiez à la fois les **TagKeys**paramètres **InstanceIds**et, **InstanceIds**ils seront prioritaires et les balises seront ignorées.

1. Examinez les paramètres, puis choisissez **Créer la pile**. 

Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser le lien suivant pour télécharger le modèle : [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template -1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

**Note**  
Une fois cette étape terminée, ce paramètre Systems Manager sera associé aux CloudWatch agents exécutés dans les instances ciblées. Cela signifie que :  
Si le paramètre Systems Manager est supprimé, l’agent s’arrêtera.
Si le paramètre Systems Manager est modifié, les modifications de configuration s’appliqueront automatiquement à l’agent à la fréquence planifiée qui est de 30 jours par défaut.
Si vous voulez appliquer immédiatement les modifications apportées à ce paramètre Systems Manager, vous devez exécuter à nouveau cette étape. Pour plus d’informations sur les associations, consultez [Travailler avec des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Étape 4 : vérifiez que la configuration de l’agent est correcte
<a name="Solution-Kafka-Agent-Step4"></a>

Vous pouvez vérifier si l' CloudWatch agent est installé en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running). Si l' CloudWatch agent n'est pas installé et n'est pas en cours d'exécution, assurez-vous que tout est correctement configuré.
+ Assurez-vous d’avoir attaché un rôle avec les autorisations correctes pour l’instance EC2, comme décrit dans [Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.](Solution-Tomcat-On-EC2.md#Solution-Tomcat-Agent-Step1).
+ Assurez-vous d’avoir correctement configuré le fichier JSON pour le paramètre Systems Manager. Suivez les étapes de [Résolution des problèmes liés à l'installation de CloudWatch l'agent avec CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting).

Si tout est correctement configuré, vous devriez voir les métriques de Kafka publiées sur CloudWatch. Vous pouvez consulter la CloudWatch console pour vérifier qu'ils sont publiés.

**Pour vérifier que les métriques de Kafka sont publiées sur CloudWatch**

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

1. Choisissez **Métriques**, **Toutes les métriques**.

1. Assurez-vous d'avoir sélectionné la région dans laquelle vous avez déployé la solution, puis choisissez **Espaces de noms personnalisés**. **CWAgent**

1. Recherchez les métriques mentionnées dans la section de configuration de l’agent de ce document, telles que `kafka.partition.offline` pour les agents, `kafka.consumer.fetch.rate` pour les consommateurs ou `kafka.producer.request-rate` pour les producteurs. Si vous obtenez des résultats pour ces mesures, celles-ci sont publiées sur CloudWatch.

## Créer le tableau de bord de la solution Kafka
<a name="Solution-Kafka-Dashboard"></a>

Ce tableau de bord affiche les métriques nouvellement émises à la fois pour Kafka et pour la JVM sous-jacente. Ce tableau de bord fournit une vue des principaux contributeurs pour l’état de votre charge de travail Kafka, parmi les producteurs, les agents et les consommateurs. La vue des principaux contributeurs affiche les 10 premiers par widget de métrique. Cela vous permet d’identifier les valeurs aberrantes en un coup d’œil. 

Le tableau de bord de la solution n’affiche pas les métriques EC2. Pour consulter les métriques EC2, vous devez utiliser le tableau de bord automatique EC2 pour voir les métriques EC2 vendues et utiliser le tableau de bord de la console EC2 pour voir les métriques EC2 collectées par l'agent. CloudWatch Pour plus d'informations sur les tableaux de bord automatiques pour les AWS services, consultez[Afficher un CloudWatch tableau de bord pour un seul AWS service](CloudWatch_Automatic_Dashboards_Focus_Service.md).

Pour créer le tableau de bord, vous pouvez utiliser les options suivantes :
+ Utilisez CloudWatch la console pour créer le tableau de bord.
+ Utilisez AWS CloudFormation la console pour déployer le tableau de bord.
+ Téléchargez l' AWS CloudFormation infrastructure sous forme de code et intégrez-la dans le cadre de votre automatisation d'intégration continue (CI).

En utilisant la CloudWatch console pour créer un tableau de bord, vous pouvez prévisualiser le tableau de bord avant de le créer et de le débiter.

**Note**  
Le tableau de bord créé avec CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la CloudFormation pile dans la région où vos métriques JVM et Kafka sont publiées.  
Si vous avez spécifié un espace de noms personnalisé autre que `CWAgent` dans la configuration de l' CloudWatch agent, vous devrez modifier le CloudFormation modèle du tableau de bord pour le `CWAgent` remplacer par l'espace de noms personnalisé que vous utilisez.

**Pour créer le tableau de bord via CloudWatch la console**
**Note**  
Les tableaux de bord de la solution affichent actuellement les métriques liées à la récupération de mémoire uniquement pour le récupérateur de mémoire G1, qui est le récupérateur par défaut pour les dernières versions de Java. Si vous utilisez un algorithme de récupération de mémoire différent, les widgets relatifs à la récupération de mémoire sont vides. Cependant, vous pouvez personnaliser ces widgets en modifiant le CloudFormation modèle de tableau de bord et en appliquant le type de collecte de déchets approprié à la dimension de nom des métriques relatives à la collecte de déchets. Par exemple, si vous utilisez la récupération de mémoire parallèle, changez le **name=\$1"G1 Young Generation\$1"** en **name=\$1"Parallel GC\$1"** de la métrique de comptage de la récupération de mémoire `jvm.gc.collections.count`.

1. Ouvrez la CloudWatch console **Create Dashboard** en utilisant ce lien : [ https://console.aws.amazon.com/cloudwatch/home ? \$1dashboards ? Modèle de tableau de bord = 2&referrer=os-catalog. ApacheKafkaOnEc](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=ApacheKafkaOnEc2&referrer=os-catalog) 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail Kafka s’exécute.

1. Saisissez le nom du tableau de bord, puis choisissez **Créer le tableau de bord**.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **KafkaDashboard-us-east-1**.

1. Prévisualisez le tableau de bord et cliquez sur **Enregistrer** pour créer le tableau de bord.

**Pour créer le tableau de bord via CloudFormation**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Kafka\$1EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Kafka_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail Kafka s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **KafkaDashboardStack**.

1. Dans la section **Paramètres**, spécifiez le nom du tableau de bord sous le **DashboardName**paramètre.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **KafkaDashboard-us-east-1**.

1. Validez les capacités d’accès pour les transformateurs sous **Capacités et transformateurs**. Notez que CloudFormation cela n'ajoute aucune ressource IAM.

1. Examinez les paramètres, puis choisissez **Créer la pile**. 

1. Une fois que le statut de la pile est **CREATE\$1COMPLETE**, sélectionnez l’onglet **Ressources** sous la pile créée, puis cliquez sur le lien sous **ID physique** pour accéder au tableau de bord. Vous pouvez également accéder au tableau de bord dans la CloudWatch console en choisissant **Tableaux** de bord dans le volet de navigation gauche de la console et en recherchant le nom du tableau de bord sous **Tableaux de bord personnalisés**.

Si vous voulez modifier le fichier modèle pour l’adapter à vos besoins, vous pouvez utiliser l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser ce lien pour télécharger le modèle : [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Kafka\$1EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Kafka_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

**Note**  
Les tableaux de bord de la solution affichent actuellement les métriques liées à la récupération de mémoire uniquement pour le récupérateur de mémoire G1, qui est le récupérateur par défaut pour les dernières versions de Java. Si vous utilisez un algorithme de récupération de mémoire différent, les widgets relatifs à la récupération de mémoire sont vides. Cependant, vous pouvez personnaliser ces widgets en modifiant le CloudFormation modèle de tableau de bord et en appliquant le type de collecte de déchets approprié à la dimension de nom des métriques relatives à la collecte de déchets. Par exemple, si vous utilisez la récupération de mémoire parallèle, changez le **name=\$1"G1 Young Generation\$1"** en **name=\$1"Parallel GC\$1"** de la métrique de comptage de la récupération de mémoire `jvm.gc.collections.count`. 

### Démarrer avec le tableau de bord Kafka
<a name="Solution-Kafka-Dashboard-GetStarted"></a>

Voici quelques tâches que vous pouvez essayer avec le nouveau tableau de bord Kafka. Ces tâches vous permettent de valider que le tableau de bord fonctionne correctement et vous offrent une certaine expérience pratique en l’utilisant pour surveiller un cluster Kafka. Au fur et à mesure de vos essais, vous vous familiariserez avec la navigation dans le tableau de bord et l’interprétation des métriques visualisées.

**Utilisation des listes déroulantes**

Le tableau de bord fournit des listes déroulantes en haut que vous pouvez utiliser pour filtrer et sélectionner le cluster Kafka spécifique, le producteur et les groupes de consommateurs que vous voulez surveiller.
+ Pour afficher les métriques d’un cluster Kafka spécifique, sélectionnez le nom de ce cluster dans la liste déroulante **Cluster Kafka**. 
+ Pour afficher les métriques d’un groupe de producteurs Kafka spécifique, sélectionnez le nom de ce groupe de producteurs dans la liste déroulante **Producteur Kafka**. 
+ Pour afficher les métriques d’un groupe de consommateurs Kafka spécifique, sélectionnez le nom de ce groupe de consommateurs dans la liste déroulante **Groupe de consommateurs Kafka**. 

**Vérifier l’état du cluster**

Dans la section **Vue d’ensemble du cluster**, trouvez les widgets **Partitions sous-répliquées** et **Répliques synchronisées**. Dans l’idéal, ces valeurs devraient être égales à zéro ou à un petit nombre. Une valeur élevée pour l’une de ces métriques pourrait indiquer des problèmes avec le cluster Kafka qui doivent être examinés. 

**Examiner les performances des agents**

Dans la section **Agents**, trouvez les widgets **Requêtes de récupération échouées** et **Requêtes de producteur échouées**. Ceux-ci indiquent le nombre de requêtes ayant échoué pour les opérations de récupération (fetch) et de production (produce), respectivement. Des taux d’échec élevés peuvent indiquer des problèmes avec les agents ou la connectivité réseau qui nécessitent une enquête plus approfondie.

**Surveiller les performances des producteurs**

Dans la section **Présentation du groupe de producteurs**, recherchez les widgets **Taux de demande moyen**, **Latence moyenne des demandes** et ** Send/Error Taux d'enregistrement moyen**. Ils vous donneront un aperçu des performances des producteurs du groupe sélectionné. Vous pouvez également effectuer une analyse approfondie pour afficher les métriques de producteurs et de rubriques spécifiques dans la section **Producteurs**.

**Surveiller le retard des consommateurs**

Dans la section **Vue d’ensemble du groupe de consommateurs**, vous trouverez le widget **Retard des consommateurs**. Il indique le retard pris par les consommateurs dans le traitement des messages provenant des derniers décalages dans les partitions auxquelles ils sont abonnés. Idéalement, le retard des consommateurs devrait être faible ou nul. Un retard élevé peut indiquer que les consommateurs ne sont pas en mesure de suivre le rythme de production des données, ce qui peut entraîner des pertes de données ou des retards de traitement. Vous pouvez également effectuer une analyse descendante pour afficher les métriques pour des consommateurs et des rubriques spécifiques dans la section **Consommateurs**.

## Configurer l’agent pour plusieurs rôles Kafka sur la même instance
<a name="Kafka-Multiple-Roles"></a>

Les configurations individuelles pour les rôles Kafka répertoriés dans [CloudWatch configuration de l'agent pour cette solution](#Solution-Kafka-CloudWatch-Agent) s’appliquent uniquement lorsque les rôles de producteur, de consommateur et d’agent sont déployés sur des instances EC2 distinctes, sans aucun chevauchement. Si vous exécutez plusieurs rôles Kafka sur les mêmes instances Amazon EC2, vous avez deux options :
+ Créer un fichier de configuration d’agent unique qui répertorie et configure toutes les métriques pour tous les rôles Kafka déployés sur cette instance. Si vous comptez utiliser Systems Manager pour gérer la configuration des agents, il s’agit de l’option à privilégier.

  Si vous choisissez cette option et que les multiples rôles Kafka font partie du même processus JVM, vous devez spécifier le même point de terminaison pour chaque rôle Kafka dans la configuration de l’agent. Si les multiples rôles Kafka font partie de différents processus JVM, le point de terminaison pour chaque rôle peut être différent en fonction du port JMX défini pour ce processus.
+ Créer des fichiers de configuration d’agent distincts pour chaque rôle Kafka et configurer l’agent pour qu’il applique les deux fichiers de configuration. Pour obtenir des instructions sur l’application de plusieurs fichiers de configuration, consultez [Création de plusieurs fichiers de configuration d' CloudWatch agents](create-cloudwatch-agent-configuration-file.md#CloudWatch-Agent-multiple-config-files).

L'exemple suivant montre une configuration d' CloudWatch agent dans laquelle les rôles producteur et consommateur sont exécutés sur une instance dans le cadre du même processus JVM. Dans ce cas, le numéro de port doit être le même dans les parties producteur et consommateur de la configuration ci-dessous. Si au contraire les deux rôles s’exécutent dans le cadre de processus JVM différents, vous pouvez spécifier des numéros de port différents pour chacun, en fonction du port JMX de chaque processus JVM individuel.

```
{
  "metrics": {
    "namespace": "CWAgent",
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:port-number",
          "kafka-producer": {
            "measurement": [
              "kafka.producer.request-rate",
              "kafka.producer.byte-rate",
              "kafka.producer.request-latency-avg",
              "kafka.producer.response-rate",
              "kafka.producer.record-error-rate",
              "kafka.producer.record-send-rate"
            ]
          },
          "append_dimensions": {
            "ProducerGroupName": "ProducerGroupName"
          }
        },
        {
          "endpoint": "localhost:port-number",
          "kafka-consumer": {
            "measurement": [
              "kafka.consumer.fetch-rate",
              "kafka.consumer.total.bytes-consumed-rate",
              "kafka.consumer.records-consumed-rate",
              "kafka.consumer.bytes-consumed-rate",
              "kafka.consumer.records-lag-max"
            ]
          },
          "append_dimensions": {
            "ConsumerGroupName": "ConsumerGroupName"
          }
        }
      ]
    }
  }
}
```

# CloudWatch solution : charge de travail Tomcat sur Amazon EC2
<a name="Solution-Tomcat-On-EC2"></a>

Cette solution vous permet de configurer la collecte de out-of-the-box métriques à l'aide d' CloudWatch agents pour le serveur Tomcat exécuté sur des instances EC2. En outre, il vous aide à configurer un tableau de CloudWatch bord préconfiguré. Pour des informations générales sur toutes les solutions CloudWatch d'observabilité, consultez[CloudWatch solutions d'observabilité](Monitoring-Solutions.md).

**Topics**
+ [Exigences](#Solution-Tomcat-On-EC2-Requirements)
+ [Avantages](#Solution-Tomcat-On-EC2-Benefits)
+ [Coûts](#Solution-Tomcat-On-EC2-Costs)
+ [CloudWatch configuration de l'agent pour cette solution](#Solution-Tomcat-CloudWatch-Agent)
+ [Déployer l’agent pour votre solution](#Solution-Tomcat-Agent-Deploy)
+ [Créer le tableau de bord de la solution Tomcat](#Solution-Tomcat-Dashboard)

## Exigences
<a name="Solution-Tomcat-On-EC2-Requirements"></a>

Cette solution est pertinente pour les conditions suivantes :
+ Versions prises en charge : Tomcat versions 9, 10.1 et 11 (bêta)
+ Calcul : Amazon EC2
+ Prend en charge jusqu'à 500 instances EC2 pour toutes les charges de travail Tomcat dans un même environnement Région AWS
+ Dernière version de l' CloudWatch agent
+ Agent SSM installé sur l’instance EC2
**Note**  
AWS Systems Manager (agent SSM) est préinstallé sur certaines [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) fournies par des tiers AWS de confiance. Si l’agent n’est pas installé, vous pouvez l’installer manuellement à l’aide de la procédure correspondant à votre type de système d’exploitation.  
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## Avantages
<a name="Solution-Tomcat-On-EC2-Benefits"></a>

La solution assure la surveillance du serveur Tomcat et fournit des informations précieuses pour les cas d’utilisation suivants :
+ Détecter les erreurs et les problèmes de performance du serveur Tomcat.
+ Surveiller le trafic réseau pour détecter les problèmes de transfert de données.
+ Suivre l’utilisation des threads et les sessions d’utilisateurs actifs.
+ Analyser les performances de la JVM sous-jacente pour le serveur Tomcat.

Vous trouverez ci-dessous les principaux avantages de la solution :
+ Automatise la collecte de métriques pour Apache Tomcat et la machine virtuelle Java sous-jacente à l'aide de la configuration de l' CloudWatch agent, éliminant ainsi l'instrumentation manuelle.
+ Fournit un tableau de CloudWatch bord consolidé préconfiguré pour les métriques d'Apache Tomcat et de JVM. Le tableau de bord traitera automatiquement les métriques des nouvelles instances EC2 Tomcat configurées à l’aide de la solution, même si ces métriques n’existent pas lorsque vous créez le tableau de bord pour la première fois. Il vous permet également de regrouper les métriques en applications logiques pour faciliter la mise au point et la gestion.

L’image suivante est un exemple de tableau de bord pour cette solution.

![\[Exemple de tableau de bord pour la solution Apache Tomcat.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/TomcatDashboard.png)


## Coûts
<a name="Solution-Tomcat-On-EC2-Costs"></a>

Cette solution crée et utilise des ressources dans votre compte. Les coûts d’utilisation standard vous sont facturés, y compris les éléments suivants :
+ Toutes les mesures collectées par l' CloudWatch agent sont facturées en tant que mesures personnalisées. Le nombre de métriques utilisées par cette solution dépend du nombre d’hôtes EC2.
  + Chaque hôte Tomcat configuré pour la solution publie un total de 27 métriques plus une métrique (`disk_used_percent`) pour laquelle le nombre de métriques dépend du nombre de chemins d’accès au disque pour cet hôte.
+ Un tableau de bord personnalisé.
+ Opérations d'API demandées par l' CloudWatch agent pour publier les métriques. Avec la configuration par défaut de cette solution, l' CloudWatch agent appelle le **PutMetricData**une fois par minute. Cela signifie que l'**PutMetricData**API sera appelée `30*24*60=43,200` dans un délai de 30 jours par mois pour chaque hôte EC2.

Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

Le calculateur de prix peut vous aider à estimer les coûts mensuels approximatifs de l’utilisation de cette solution. 

**Pour utiliser le calculateur de prix afin d’estimer les coûts mensuels de votre solution**

1. Ouvrez le [calculateur CloudWatch de prix Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. Dans la section **Métriques**, pour **Nombre de métriques**, entrez **(27 \$1 average number of disk paths per EC2 host) \$1 number of EC2 instances configured for this solution**.

1. Dans la **APIs**section, pour **Nombre de demandes d'API**, entrez**43200 \$1 number of EC2 instances configured for this solution**.

   Par défaut, la solution effectue une **PutMetricData**opération par minute pour chaque hôte EC2.

1. Dans la section **Tableaux de bord et alarmes**, pour **Nombre de tableaux de bord**, entrez **1**.

1. Vous pouvez voir vos coûts mensuels estimés en bas du calculateur de prix.

## CloudWatch configuration de l'agent pour cette solution
<a name="Solution-Tomcat-CloudWatch-Agent"></a>

L' CloudWatch agent est un logiciel qui s'exécute de manière continue et autonome sur vos serveurs et dans des environnements conteneurisés. Il collecte des métriques, des journaux et des traces à partir de votre infrastructure et de vos applications et les envoie à CloudWatch X-Ray.

Pour plus d'informations sur l' CloudWatch agent, consultez[Collectez des métriques, des journaux et des traces à l'aide de l' CloudWatch agent](Install-CloudWatch-Agent.md).

La configuration de l’agent dans cette solution collecte les métriques fondamentales pour Tomcat, la JVM et EC2. L' CloudWatch agent peut être configuré pour collecter plus de métriques JVM que ce que le tableau de bord affiche par défaut. Pour obtenir une liste de toutes les métriques Tomcat que vous pouvez collecter, consultez [Collecte des métriques Tomcat](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-Tomcat-metrics). Pour obtenir une liste de toutes les métriques JVM que vous pouvez collecter, consultez [Collecte des métriques JVM](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-JVM-metrics). Pour obtenir une liste des métriques Amazon EC2, consultez [Métriques collectées par l' CloudWatch agent sur les instances Linux et macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

**Exposer les ports JMX pour le serveur Tomcat**

L' CloudWatch agent s'appuie sur JMX pour collecter les métriques relatives au serveur Tomcat et au processus JVM. Pour que cela soit possible, vous devez exposer le port JMX de vos serveurs. Pour activer un port JMX pour la surveillance et la gestion, vous devriez définir les propriétés du système pour vos serveurs Tomcat. Vous pouvez utiliser la variable d’environnement `CATALINA_OPTS ` pour définir les propriétés système requises pour Tomcat. Examinez les scripts de démarrage et les fichiers de configuration de votre serveur Tomcat afin de déterminer le meilleur endroit pour définir la variable d’environnement. Veillez à spécifier un numéro de port inutilisé. Vous devrez redémarrer le serveur après la modification. 

```
export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=<<port-number>> -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
```

Cet exemple configure un JMX non authentifié. Si votre sécurité policies/requirements exige que vous activiez JMX avec authentification par mot de passe ou SSL pour l'accès à distance, reportez-vous à la [documentation JMX](https://docs.oracle.com/en/java/javase/17/management/monitoring-and-management-using-jmx-technology.html) pour définir la propriété requise.

Pour vérifier le port JMX, exécutez `ps aux | grep jmxremote.port`. Les résultats doivent montrer que le port JMX a été défini sur les processus JVM.

### Agent pour la solution Tomcat
<a name="Solution-Agent-Configuration-Tomcat-Solution"></a>

Les métriques collectées par l’agent sont définies dans la configuration de l’agent. La solution fournit des configurations d’agent pour collecter les métriques recommandées avec des dimensions appropriées pour le tableau de bord de la solution.

Les étapes du déploiement de la solution sont décrites plus loin dans [Déployer l’agent pour votre solution](#Solution-Tomcat-Agent-Deploy). Les informations suivantes ont pour but de vous aider à comprendre comment personnaliser la configuration de l’agent en fonction de votre environnement.

Vous devez adapter certaines parties de la configuration de l’agent à votre environnement :
+ Le numéro de port JMX est le numéro de port que vous avez configuré dans la section précédente de cette documentation. Le numéro de port se trouve dans la ligne `endpoint` de la configuration.
+ `AppName` : ceci est utilisé comme dimension pour les métriques de l’application Tomcat collectées. Fournissez un nom significatif qui représente le regroupement des instances qui exécutent l’application Tomcat.
+ `ProcessGroupName` : cette dimension est utilisée pour les métriques JVM collectées pour les hôtes Tomcat. Indiquez la même valeur que `AppName` ci-dessus. Cela permet d’afficher les métriques JVM du même groupe d’applications Tomcat en tant que métriques de serveur dans le tableau de bord de la solution.

Par exemple, si deux applications Tomcat s'exécutent simultanément Compte AWS, l'une pour l'`billing-system`application et l'autre pour l'`order-system`application, vous pouvez définir les `ProcessGroupName` dimensions `AppName` et en conséquence dans la configuration de l'agent de chaque instance.
+ Pour les instances de l’application `billing-system`, définissez `AppName=billing-system` et `ProcessGroupName=billing-system`.
+ Pour les instances de l’application `order-system`, définissez `AppName=order-system` et `ProcessGroupName=order-system`.

Lorsque vous suivez ces directives, la solution regroupera automatiquement les métriques en fonction des dimensions `AppName` et `ProcessGroupName`. Le tableau de bord comprendra des options déroulantes pour sélectionner et afficher les métriques d’une application Tomcat spécifique, ce qui vous permettra de surveiller séparément les performances des différentes applications.

### Configuration de l’agent pour les hôtes Tomcat
<a name="Solution-Agent-Configuration-Tomcat-Host"></a>

Utilisez la configuration d' CloudWatch agent suivante sur les instances EC2 sur lesquelles vos applications Tomcat sont déployées. La configuration sera stockée en tant que paramètre dans le magasin de paramètres de SSM, comme détaillé plus loin dans [Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager](#Solution-Tomcat-Agent-Step2).

*AppName*Remplacez-le par un nom significatif qui représente l'application Tomcat dont font partie les instances. *port-number*Remplacez-le par le port JMX de votre serveur Tomcat. Si JMX a été activé avec une authentification par mot de passe ou SSL pour l’accès à distance, consultez [Collecte des métriques Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md) pour obtenir des informations sur le paramétrage de TLS ou de l’autorisation dans la configuration de l’agent, le cas échéant.

Les métriques EC2 présentées dans cette configuration (configuration indiquée en dehors du bloc JMX) ne fonctionnent que pour les instances Linux et macOS. Si vous utilisez des instances Windows, vous pouvez choisir d’omettre ces métriques dans la configuration. Pour plus d’informations sur les métriques collectées sur les instances Windows, consultez [Mesures collectées par l' CloudWatch agent sur les instances Windows Server](metrics-collected-by-CloudWatch-agent.md#windows-metrics-enabled-by-CloudWatch-agent).

```
{
  "metrics": {
    "namespace": "CWAgent",
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:port-number",
          "tomcat": {
            "measurement": [
              "tomcat.sessions",
              "tomcat.errors",
              "tomcat.processing_time",
              "tomcat.traffic",
              "tomcat.max_time",
              "tomcat.request_count",
              "tomcat.threads"
            ]
          },
          "append_dimensions": {
            "AppName": "AppName"
          }
        },
        {
          "endpoint": "localhost:port-number",
          "jvm": {
            "measurement": [
              "jvm.classes.loaded",
              "jvm.gc.collections.count",
              "jvm.gc.collections.elapsed",
              "jvm.memory.heap.committed",
              "jvm.memory.heap.max",
              "jvm.memory.heap.used",
              "jvm.memory.nonheap.committed",
              "jvm.memory.nonheap.max",
              "jvm.memory.nonheap.used",
              "jvm.threads.count"
            ]
          },
          "append_dimensions": {
            "ProcessGroupName": "AppName"
          }
        }
      ],
      "disk": {
        "measurement": [
          "used_percent"
        ]
      },
      "mem": {
        "measurement": [
          "used_percent"
        ]
      },
      "swap": {
        "measurement": [
          "used_percent"
        ]
      },
      "netstat": {
        "measurement": [
          "tcp_established",
          "tcp_time_wait"
        ]
      }
    }
  }
}
```

## Déployer l’agent pour votre solution
<a name="Solution-Tomcat-Agent-Deploy"></a>

Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous vous recommandons d’utiliser Systems Manager pour cette solution. Il fournit une expérience de console et simplifie la gestion d'un parc de serveurs gérés au sein d'un seul AWS compte. Les instructions de cette section utilisent Systems Manager et sont destinées aux situations où l' CloudWatch agent n'est pas exécuté avec des configurations existantes. Vous pouvez vérifier si l' CloudWatch agent est en cours d'exécution en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running).

Si vous exécutez déjà l' CloudWatch agent sur les hôtes EC2 sur lesquels l'application JVM est déployée et que vous gérez les configurations de l'agent, vous pouvez ignorer les instructions de cette section et suivre votre mécanisme de déploiement existant pour mettre à jour la configuration. Veillez à fusionner la configuration de l’agent de la JVM avec votre configuration d’agent existante, puis déployez la configuration fusionnée. Si vous utilisez Systems Manager pour stocker et gérer la configuration de l' CloudWatch agent, vous pouvez fusionner la configuration avec la valeur de paramètre existante. Pour plus d'informations, consultez [la section Gestion des fichiers de configuration des CloudWatch agents](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Note**  
L'utilisation de Systems Manager pour déployer les configurations d' CloudWatch agent suivantes remplacera ou remplacera toute configuration d' CloudWatch agent existante sur vos instances EC2. Vous pouvez modifier cette configuration pour l’adapter à votre environnement unique ou à votre cas d’utilisation. Les métriques définies dans cette solution sont le minimum requis pour le tableau de bord recommandé. 

Le processus de déploiement comprend les étapes suivantes :
+ Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
+ Étape 2 : stockez le fichier de configuration de l’agent recommandé dans le magasin de paramètres de Systems Manager.
+ Étape 3 : installez l' CloudWatch agent sur une ou plusieurs instances EC2 à l'aide d'une CloudFormation pile.
+ Étape 4 : vérifiez que l’installation de l’agent est configurée correctement.

### Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
<a name="Solution-Tomcat-Agent-Step1"></a>

Vous devez autoriser Systems Manager à installer et configurer l' CloudWatch agent. Vous devez également autoriser l' CloudWatch agent à publier des données télémétriques depuis votre instance EC2 vers. CloudWatch Assurez-vous que le rôle IAM associé à l'instance est associé aux politiques **Amazon SSMManaged InstanceCore IAM **CloudWatchAgentServerPolicy**et Amazon**.
+ Une fois le rôle créé, attachez-le à vos instances EC2. Suivez les étapes de la section [Lancer une instance avec un rôle IAM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) pour attacher un rôle lors du lancement d’une nouvelle instance EC2. Pour attacher un rôle à une instance EC2 existante, suivez les étapes de la section [Attacher un rôle IAM à une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).

### Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager
<a name="Solution-Tomcat-Agent-Step2"></a>

Parameter Store simplifie l'installation de l' CloudWatch agent sur une instance EC2 en stockant et en gérant de manière sécurisée les paramètres de configuration, éliminant ainsi le besoin de valeurs codées en dur. Cela garantit un processus de déploiement plus sûr et plus flexible, permettant une gestion centralisée et des mises à jour plus faciles des configurations sur plusieurs instances.

Procédez comme suit pour enregistrer le fichier de configuration d' CloudWatch agent recommandé en tant que paramètre dans Parameter Store.

**Pour créer le fichier de configuration de CloudWatch l'agent en tant que paramètre**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dans le volet de navigation, sélectionnez **Gestion des applications**, **Magasin de paramètres**.

1. Suivez ces étapes pour créer un nouveau paramètre pour la configuration.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

   1. Dans le champ **Nom**, entrez un nom que vous utiliserez pour référencer le fichier de configuration de l' CloudWatch agent lors des étapes ultérieures. Par exemple, **AmazonCloudWatch-Tomcat-Configuration**.

   1. (Facultatif) Dans la zone **Description**, saisissez une description pour le paramètre.

   1. Pour **Niveau de paramètre**, choisissez **Standard**. 

   1. Pour **Type**, choisissez **String** (Chaîne).

   1. Pour **Type de données**, choisissez **texte**.

   1. Dans la case **Valeur**, collez le bloc JSON correspondant qui a été répertorié dans [Configuration de l’agent pour les hôtes Tomcat](#Solution-Agent-Configuration-Tomcat-Host). Veillez à personnaliser la valeur de la dimension de regroupement et le numéro de port comme indiqué.

   1. Sélectionnez **Create parameter** (Créer un paramètre). 

### Étape 3 : Installation de l' CloudWatch agent et application de la configuration à l'aide d'un CloudFormation modèle
<a name="Solution-Tomcat-Agent-Step3"></a>

Vous pouvez l'utiliser AWS CloudFormation pour installer l'agent et le configurer de manière à utiliser la configuration d' CloudWatch agent que vous avez créée lors des étapes précédentes.

**Pour installer et configurer l' CloudWatch agent pour cette solution**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template -1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail Tomcat s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **CWAgentInstallationStack**.

1. Dans la section **Paramètres**, indiquez les éléments suivants :

   1. Pour **CloudWatchAgentConfigSSM**, entrez le nom du paramètre Systems Manager pour la configuration de l'agent que vous avez créée précédemment, par exemple**AmazonCloudWatch-Tomcat-Configuration**.

   1. Pour sélectionner les instances cibles, vous avez deux options.

      1. Pour **InstanceIds**, spécifiez une liste séparée par IDs des virgules d'instances IDs où vous souhaitez installer l' CloudWatch agent avec cette configuration. Vous pouvez répertorier une seule instance ou plusieurs instances.

      1. Si vous déployez à grande échelle, vous pouvez spécifier le **TagKey**et le correspondant **TagValue**pour cibler toutes les instances EC2 avec cette balise et cette valeur. Si vous spécifiez un **TagKey**, vous devez spécifier un correspondant **TagValue**. (Pour un groupe Auto Scaling, spécifiez **aws:autoscaling:groupName** le **TagKey**et spécifiez le nom du groupe Auto Scaling **TagValue**à déployer sur toutes les instances du groupe Auto Scaling.)

         Si vous spécifiez à la fois les **TagKeys**paramètres **InstanceIds**et, **InstanceIds**ils seront prioritaires et les balises seront ignorées.

1. Examinez les paramètres, puis choisissez **Créer la pile**. 

Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser le lien suivant pour télécharger le modèle : [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template -1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

**Note**  
Une fois cette étape terminée, ce paramètre Systems Manager sera associé aux CloudWatch agents exécutés dans les instances ciblées. Cela signifie que :  
Si le paramètre Systems Manager est supprimé, l’agent s’arrêtera.
Si le paramètre Systems Manager est modifié, les modifications de configuration s’appliqueront automatiquement à l’agent à la fréquence planifiée qui est de 30 jours par défaut.
Si vous voulez appliquer immédiatement les modifications apportées à ce paramètre Systems Manager, vous devez exécuter à nouveau cette étape. Pour plus d’informations sur les associations, consultez [Travailler avec des associations dans Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Étape 4 : vérifiez que la configuration de l’agent est correcte
<a name="Solution-Tomcat-Agent-Step4"></a>

Vous pouvez vérifier si l' CloudWatch agent est installé en suivant les étapes décrites dans[Vérifiez que l' CloudWatch agent est en cours d'exécution](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running). Si l' CloudWatch agent n'est pas installé et n'est pas en cours d'exécution, assurez-vous que tout est correctement configuré.
+ Assurez-vous d’avoir attaché un rôle avec les autorisations correctes pour l’instance EC2, comme décrit dans [Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.](#Solution-Tomcat-Agent-Step1).
+ Assurez-vous d’avoir correctement configuré le fichier JSON pour le paramètre Systems Manager. Suivez les étapes de [Résolution des problèmes liés à l'installation de CloudWatch l'agent avec CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting).

Si tout est correctement configuré, vous devriez voir les métriques Tomcat publiées sur CloudWatch. Vous pouvez consulter la CloudWatch console pour vérifier qu'ils sont publiés.

**Pour vérifier que les métriques Tomcat sont publiées sur CloudWatch**

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

1. Choisissez **Métriques**, **Toutes les métriques**.

1. Assurez-vous d'avoir sélectionné la région dans laquelle vous avez déployé la solution, puis choisissez **Espaces de noms personnalisés**. **CWAgent**

1. Recherchez les métriques mentionnées dans la section de configuration de l’agent de ce document, telles que `tomcat.errors`. Si vous obtenez des résultats pour ces mesures, celles-ci sont publiées sur CloudWatch.

## Créer le tableau de bord de la solution Tomcat
<a name="Solution-Tomcat-Dashboard"></a>

Ce tableau de bord affiche les métriques nouvellement émises, montrant à la fois le serveur d’application Tomcat et la JVM sous-jacente. Ce tableau de bord fournit une vue d’ensemble de l’état de votre charge de travail Tomcat. La vue des principaux contributeurs affiche les 10 premiers par widget de métrique. Cela vous permet d’identifier les valeurs aberrantes en un coup d’œil. Le tableau de bord comprend également une vue d’ensemble du cluster en regroupant et en présentant les métriques de toutes les instances, fournissant ainsi un résumé de haut niveau de l’état général et opérationnel du cluster.

Le tableau de bord de la solution n’affiche pas les métriques EC2. Pour consulter les métriques EC2, vous devez utiliser le tableau de bord automatique EC2 pour voir les métriques EC2 vendues et utiliser le tableau de bord de la console EC2 pour voir les métriques EC2 collectées par l'agent. CloudWatch Pour plus d'informations sur les tableaux de bord automatiques pour Services AWS, consultez[Afficher un CloudWatch tableau de bord pour un seul AWS service](CloudWatch_Automatic_Dashboards_Focus_Service.md).

Pour créer le tableau de bord, vous pouvez utiliser les options suivantes :
+ Utilisez CloudWatch la console pour créer le tableau de bord.
+ Utilisez AWS CloudFormation la console pour déployer le tableau de bord.
+ Téléchargez l' AWS CloudFormation infrastructure sous forme de code et intégrez-la dans le cadre de votre automatisation d'intégration continue (CI).

En utilisant la CloudWatch console pour créer un tableau de bord, vous pouvez prévisualiser le tableau de bord avant de le créer et de le débiter.

**Note**  
Le tableau de bord créé avec CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la CloudFormation pile dans la région où vos métriques Tomcat sont publiées.  
Si vous avez spécifié un espace de noms personnalisé autre que `CWAgent` dans la configuration de l' CloudWatch agent, vous devrez modifier le CloudFormation modèle du tableau de bord pour le `CWAgent` remplacer par l'espace de noms personnalisé que vous utilisez.

**Pour créer le tableau de bord via CloudWatch la console**
**Note**  
Les tableaux de bord de la solution affichent actuellement les métriques liées à la récupération de mémoire uniquement pour le récupérateur de mémoire G1, qui est le récupérateur par défaut pour les dernières versions de Java. Si vous utilisez un algorithme de récupération de mémoire différent, les widgets relatifs à la récupération de mémoire sont vides. Cependant, vous pouvez personnaliser ces widgets en modifiant le CloudFormation modèle de tableau de bord et en appliquant le type de collecte de déchets approprié à la dimension de nom des métriques relatives à la collecte de déchets. Par exemple, si vous utilisez la récupération de mémoire parallèle, changez le **name=\$1"G1 Young Generation\$1"** en **name=\$1"Parallel GC\$1"** de la métrique de comptage de la récupération de mémoire `jvm.gc.collections.count`.

1. Ouvrez la CloudWatch console **Create Dashboard** en utilisant ce lien : [ https://console.aws.amazon.com/cloudwatch/home ? \$1dashboards ? Modèle de tableau de bord = 2&referrer=os-catalog. ApacheTomcatOnEc](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=ApacheTomcatOnEc2&referrer=os-catalog) 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail Tomcat s’exécute.

1. Saisissez le nom du tableau de bord, puis choisissez **Créer le tableau de bord**.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **TomcatDashboard-us-east-1**.

1. Prévisualisez le tableau de bord et cliquez sur **Enregistrer** pour créer le tableau de bord.

**Pour créer le tableau de bord via CloudFormation**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat\$1EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

1. Vérifiez que la région sélectionnée sur la console est la région où la charge de travail Tomcat s’exécute.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **TomcatDashboard-us-east-1**.

1. Dans la section **Paramètres**, spécifiez le nom du tableau de bord sous le **DashboardName**paramètre.

1. Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **TomcatDashboard-us-east-1**.

1. Validez les capacités d’accès pour les transformateurs sous **Capacités et transformateurs**. Notez que CloudFormation cela n'ajoute aucune ressource IAM.

1. Examinez les paramètres, puis choisissez **Créer la pile**. 

1. Une fois que le statut de la pile est **CREATE\$1COMPLETE**, sélectionnez l’onglet **Ressources** sous la pile créée, puis cliquez sur le lien sous **ID physique** pour accéder au tableau de bord. Vous pouvez également accéder au tableau de bord dans la CloudWatch console en choisissant **Tableaux** de bord dans le volet de navigation gauche de la console et en recherchant le nom du tableau de bord sous **Tableaux de bord personnalisés**.

Si vous voulez modifier le fichier modèle pour l’adapter à vos besoins, vous pouvez utiliser l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser ce lien pour télécharger le modèle : [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat\$1EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

**Note**  
Les tableaux de bord de la solution affichent actuellement les métriques liées à la récupération de mémoire uniquement pour le récupérateur de mémoire G1, qui est le récupérateur par défaut pour les dernières versions de Java. Si vous utilisez un algorithme de récupération de mémoire différent, les widgets relatifs à la récupération de mémoire sont vides. Cependant, vous pouvez personnaliser ces widgets en modifiant le CloudFormation modèle de tableau de bord et en appliquant le type de collecte de déchets approprié à la dimension de nom des métriques relatives à la collecte de déchets. Par exemple, si vous utilisez la récupération de mémoire parallèle, changez le **name=\$1"G1 Young Generation\$1"** en **name=\$1"Parallel GC\$1"** de la métrique de comptage de la récupération de mémoire `jvm.gc.collections.count`. 

### Commencez à utiliser le tableau de bord de surveillance de Tomcat
<a name="Solution-Tomcat-GetStarted"></a>

Voici quelques tâches que vous pouvez essayer avec le nouveau tableau de bord Tomcat. Ces tâches vous permettent de valider le bon fonctionnement du tableau de bord et vous donnent une expérience pratique de son utilisation pour surveiller une application Tomcat. Au fur et à mesure de vos essais, vous vous familiariserez avec la navigation dans le tableau de bord et l’interprétation des métriques visualisées.

**Utilisation de la liste déroulante**

Le tableau de bord comporte une liste déroulante en haut, que vous pouvez utiliser pour filtrer et sélectionner l’application Tomcat spécifique que vous voulez surveiller. Pour afficher les métriques d’une application Tomcat spécifique, sélectionnez le nom de cette application dans la liste déroulante **Applications Tomcat**. 

**Vérifier l’état de l’application**

Dans la section **Vue d’ensemble de l’application**, trouvez les widgets **Requêtes**, **Erreurs** et **Taux d’erreur**. Ceux-ci fournissent un résumé de haut niveau des performances de l’application en matière de traitement des requêtes. Recherchez tout nombre ou taux d’erreur anormalement élevé, qui pourrait indiquer des problèmes à résoudre.

**Surveiller le traitement des requêtes**

Dans la section **Temps de traitement des requêtes**, vous trouverez les widgets **Temps maximum** et **Temps total de traitement de toutes les requêtes**. Ces métriques vous aident à identifier les goulets d’étranglement potentiels dans le traitement des requêtes. Recherchez les serveurs dont le temps de traitement maximal est nettement plus élevé que celui des autres serveurs. 

**Analyser le trafic réseau**

Dans la section **Trafic réseau**, vous trouverez les widgets **Trafic envoyé** et **Trafic reçu**. Ils indiquent la quantité de données envoyées et reçues par l’application sur le réseau. Des niveaux de trafic élevés et inattendus peuvent indiquer des problèmes potentiels de saturation du réseau ou de transfert de données inefficace.

**Examiner l’utilisation des threads**

Dans la section **Sessions et threads**, vous trouverez les widgets **Nombre de threads occupés**, **Nombre de threads** et **Sessions**. Ces métriques donnent un aperçu de la gestion des threads de l’application et des sessions utilisateur actives. Recherchez les serveurs présentant un nombre anormalement élevé de threads ou de sessions occupés, ce qui pourrait indiquer des contraintes de ressources potentielles.

# CloudWatch solution : Amazon EC2 Health
<a name="Solution-EC2-Health"></a>

Cette solution vous permet de configurer la collecte de out-of-the-box métriques à l'aide d' CloudWatch agents pour les charges de travail exécutées sur des instances EC2. En outre, il vous aide à configurer un tableau de CloudWatch bord préconfiguré.

**Topics**
+ [Exigences](#Solution-EC2-Health-Requirements)
+ [Avantages](#Solution-EC2-Health-Benefits)
+ [Coûts](#Solution-EC2-Health-Costs)
+ [CloudWatch configuration de l'agent pour cette solution](#Solution-EC2-Health-Agent-Config)
+ [Déployer l’agent pour votre solution](#Solution-EC2-Health-Deploy)
+ [Créer le tableau de bord de la solution d’état EC2](#Solution-EC2-Health-Dashboard)
+ [Démarrer avec le tableau de bord de la solution d’état EC2](#Solution-EC2-Health-Dashboard-Usage)

## Exigences
<a name="Solution-EC2-Health-Requirements"></a>

Cette solution est pertinente pour les conditions suivantes :
+ Calcul : Amazon EC2
+ Plateforme : Linux et macOS
+ Prend en charge jusqu'à 500 instances EC2 dans un même environnement Région AWS
+ Dernière version de l' CloudWatch agent
+ Agent SSM installé sur l’instance EC2
**Note**  
AWS Systems Manager (agent SSM) est préinstallé sur certaines [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) fournies par des tiers AWS de confiance. Si l’agent n’est pas installé, vous pouvez l’installer manuellement à l’aide de la procédure correspondant à votre type de système d’exploitation.  
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[Installation et désinstallation manuelles de l’agent SSM sur les instances EC2 pour Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## Avantages
<a name="Solution-EC2-Health-Benefits"></a>

La solution assure la surveillance du serveur EC2 à l'aide de l' CloudWatch agent, en fournissant des métriques supplémentaires au niveau du système en plus des métriques d'espace de noms EC2 standard pour les cas d'utilisation suivants :
+ Détecter les problèmes de performance de l’UC et les contraintes de ressources.
+ Surveiller l’utilisation des disques et la capacité de stockage sur différents disques dans l’ensemble de vos instances EC2.
+ Suivre les schémas d’utilisation de la mémoire et les fuites de mémoire potentielles.
+ Analysez I/O les opérations et leur impact sur les performances globales.
+ Observer les modèles de trafic réseau et les anomalies potentielles.

Vous trouverez ci-dessous les principaux avantages de la solution :
+ Automatise la collecte des métriques pour les instances EC2 en éliminant l’instrumentation manuelle.
+ Fournit un tableau de CloudWatch bord consolidé préconfiguré pour les métriques des instances EC2. Le tableau de bord traitera automatiquement les métriques des nouvelles instances EC2 configurées à l’aide de la solution, même si ces métriques n’existent pas lorsque vous créez le tableau de bord pour la première fois. Il vous permet également d’observer les instances EC2 gérées via des groupes Auto Scaling.

L’image suivante est un exemple de tableau de bord pour cette solution.

![\[Exemple de tableau de bord de l’état EC2\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/EC2HealthDashboard.png)


## Coûts
<a name="Solution-EC2-Health-Costs"></a>

Cette solution crée et utilise des ressources dans votre compte. Les coûts d’utilisation standard vous sont facturés, y compris les éléments suivants :
+ Toutes les mesures collectées par l' CloudWatch agent sont facturées en tant que mesures personnalisées. Le nombre de métriques utilisées par cette solution dépend du nombre d’hôtes EC2.

  Le nombre total de métriques d' CloudWatch agents dépend de la configuration des disques. Si l’on exclut les métriques de disque et de diskio, la solution diffuse six métriques. Le nombre de métriques de disque (`disk_used_percent`, `disk_inodes_free`) dépend du décompte des dimensions `device/fstype/path`. La métrique diskio (`diskio_io_time`) dépend du nombre de dimensions `name`. Par exemple, un seul t2.micro avec des paramètres par défaut conformes à l'expérience de la console EC2 produit un total de 22 métriques d' CloudWatch agent (4 CPU, 12 disques, 4 diskio, 1 mémoire et 1 swap). Les métriques fournies à la demande, comme `AWS/EC2`, le sont gratuitement.
+ Un tableau de bord personnalisé.
+ Opérations d'API demandées par l' CloudWatch agent pour publier les métriques. Avec la configuration par défaut de cette solution, l' CloudWatch agent appelle le **PutMetricData**une fois par minute. Cela signifie que l'**PutMetricData**API sera appelée `30*24*60=43,200` dans un délai de 30 jours par mois pour chaque hôte EC2.

Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

Le calculateur de prix peut vous aider à estimer les coûts mensuels approximatifs de l’utilisation de cette solution.

**Pour utiliser le calculateur de prix afin d’estimer les coûts mensuels de votre solution**

1. Ouvrez le [calculateur CloudWatch de prix Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. Dans la section **Métriques**, pour **Nombre de métriques**, entrez **(6 \$1 total count of disk and diskio metrics per EC2 host as described above) \$1 number of EC2 instances configured for this solution**.

1. Dans la **APIs**section, pour **Nombre de demandes d'API**, entrez**43200 \$1 number of EC2 instances configured for this solution**.

1. Par défaut, la solution effectue une **PutMetricData**opération par minute pour chaque hôte EC2.

1. Dans la section **Tableaux de bord et alarmes**, pour **Nombre de tableaux de bord**, entrez **1**.

1. Vous pouvez voir vos coûts mensuels estimés en bas du calculateur de prix.

## CloudWatch configuration de l'agent pour cette solution
<a name="Solution-EC2-Health-Agent-Config"></a>

L' CloudWatch agent est un logiciel qui s'exécute de manière continue et autonome sur vos serveurs et dans des environnements conteneurisés. Il collecte des métriques, des journaux et des traces à partir de votre infrastructure et de vos applications et les envoie à CloudWatch X-Ray.

Pour plus d'informations sur l' CloudWatch agent, consultez la section [Collecter les métriques, les journaux et les traces avec l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html).

La configuration de l’agent dans cette solution collecte un ensemble de métriques pour vous aider à démarrer la surveillance et l’observation de vos instances EC2. L' CloudWatch agent peut être configuré pour collecter plus de métriques EC2 que ce que le tableau de bord affiche par défaut. Pour obtenir la liste des métriques Amazon EC2, consultez la section [Mesures collectées par l' CloudWatch agent sur les instances Linux et macOS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent). Pour plus d'informations sur les mesures collectées sur les instances Windows, consultez la section [Mesures collectées par l' CloudWatch agent sur les instances Windows Server](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#windows-metrics-enabled-by-CloudWatch-agent).

### Configuration de l’agent pour la solution d’état EC2
<a name="Solution-EC2-Health-Agent-Config-Details"></a>

Les métriques collectées par l’agent sont définies dans la configuration de l’agent. La solution fournit des configurations d’agent pour collecter les métriques recommandées avec des dimensions appropriées pour le tableau de bord de la solution.

Les étapes du déploiement de la solution sont décrites plus loin dans [Déployer l’agent pour votre solution](#Solution-EC2-Health-Deploy). Les informations suivantes ont pour but de vous aider à comprendre comment personnaliser la configuration de l’agent en fonction de votre environnement.

**Note**  
Si une instance EC2 ne fait pas partie d'un groupe Auto Scaling, l' CloudWatch agent supprime complètement la `AutoScalingGroupName` dimension. Ce comportement permet d'empêcher les noms de dimension contenant des null/empty valeurs. Chaque widget de métrique inclus dans le tableau de bord de la solution recherche les métriques qui incluent et excluent la dimension `AutoScalingGroup`. Cela permet de s’assurer que toutes les instances EC2 où la solution est appliquée sont prises en charge par le même tableau de bord.

Si vous souhaitez modifier la configuration de l’agent, vous devez appliquer les mêmes modifications au tableau de bord de la solution. Par exemple, si vous décidez d'omettre la ImageId dimension, celle-ci doit être supprimée de l'expression de recherche métrique utilisée dans les widgets du tableau de bord.

### Configuration de l’agent pour les instances EC2
<a name="Solution-EC2-Health-Agent-Config-Instance"></a>

Utilisez la configuration d' CloudWatch agent suivante sur les instances Amazon EC2 sur lesquelles vos charges de travail sont déployées.

```
{
    "agent": {
      "metrics_collection_interval": 60,
      "run_as_user": "cwagent"
    },
    "metrics": {
      "append_dimensions": {
        "InstanceId": "${aws:InstanceId}",
        "InstanceType": "${aws:InstanceType}",
        "ImageId": "${aws:ImageId}",
        "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
      },
      "metrics_collected": {
        "cpu": {
          "measurement": [
            "cpu_usage_idle",
             "cpu_usage_iowait",
             "cpu_usage_user",
             "cpu_usage_system"
          ],
          "totalcpu": true
        },
        "disk": {
          "measurement": [
            "used_percent",
            "inodes_free"
          ],
          "resources": [
            "*"
          ],
          "dimensions": [
            ["device", "fstype", "path"]
          ]
        },
        "diskio": {
           "measurement": [
             "io_time"
           ],
           "resources": [
             "*"
           ]
          },
        "mem": {
          "measurement": [
            "used_percent"
          ]
        },
        "swap": {
          "measurement": [
            "used_percent"
          ]
        }
      }
    }
  }
```

## Déployer l’agent pour votre solution
<a name="Solution-EC2-Health-Deploy"></a>

Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous vous recommandons d’utiliser Systems Manager pour cette solution. Il fournit une expérience de console et simplifie la gestion d'un parc de serveurs gérés au sein d'un seul AWS compte. Les instructions de cette section utilisent Systems Manager et sont destinées aux situations où l' CloudWatch agent n'est pas exécuté avec des configurations existantes. Vous pouvez vérifier si l' CloudWatch agent est en cours d'exécution en suivant les étapes décrites dans [Vérifier que l' CloudWatch agent est en cours d'exécution](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-verify-running).

Si vous exécutez déjà l' CloudWatch agent sur les hôtes EC2 et que vous gérez les configurations de l'agent, vous pouvez ignorer les instructions de cette section et suivre votre mécanisme de déploiement existant pour mettre à jour la configuration. Veillez à fusionner la configuration d’agent de l’état EC2 avec votre configuration d’agent existante, puis déployez la configuration fusionnée. Si vous utilisez Systems Manager pour stocker et gérer la configuration de l' CloudWatch agent, vous pouvez fusionner la configuration avec la valeur de paramètre existante. Pour plus d'informations, consultez [la section Gestion des fichiers de configuration des CloudWatch agents](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Note**  
L'utilisation de Systems Manager pour déployer les configurations d' CloudWatch agent suivantes remplacera ou remplacera toute configuration d' CloudWatch agent existante sur vos instances EC2. Vous pouvez modifier cette configuration pour l’adapter à votre environnement unique ou à votre cas d’utilisation. Les métriques définies dans la configuration sont le minimum requis pour le tableau de bord fourni la solution.

Le processus de déploiement comprend les étapes suivantes :
+ Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
+ Étape 2 : stockez le fichier de configuration de l’agent recommandé dans le magasin de paramètres de Systems Manager.
+ Étape 3 : installez l' CloudWatch agent sur une ou plusieurs instances EC2 à l'aide d'une CloudFormation pile.
+ Étape 4 : vérifiez que l’installation de l’agent est configurée correctement.

### Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.
<a name="Solution-EC2-Health-Deploy-Step1"></a>

Vous devez autoriser Systems Manager à installer et configurer l' CloudWatch agent. Vous devez également autoriser l' CloudWatch agent à publier des données télémétriques depuis votre instance EC2 vers. CloudWatch Assurez-vous que le rôle IAM associé à l'instance est associé aux politiques **Amazon SSMManaged InstanceCore IAM **CloudWatchAgentServerPolicy**et Amazon**.
+ Une fois le rôle créé, attachez-le à vos instances EC2. Pour attacher un rôle à une instance EC2, suivez les étapes de la section [Attacher un rôle IAM à une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attach-iam-role.html).

### Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager
<a name="Solution-EC2-Health-Deploy-Step2"></a>

Parameter Store simplifie l'installation de l' CloudWatch agent sur une instance EC2 en stockant et en gérant de manière sécurisée les paramètres de configuration, éliminant ainsi le besoin de valeurs codées en dur. Cela garantit un processus de déploiement plus sûr et plus flexible, permettant une gestion centralisée et des mises à jour plus faciles des configurations sur plusieurs instances.

Procédez comme suit pour enregistrer le fichier de configuration d' CloudWatch agent recommandé en tant que paramètre dans Parameter Store. 

**Pour créer le fichier de configuration de CloudWatch l'agent en tant que paramètre**

1. Ouvrez la AWS Systems Manager console à l'adresse [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Vérifiez que la région sélectionnée sur la console est la région où les instances EC2 sont exécutées.

1. Dans le volet de navigation, sélectionnez **Gestion des applications**, **Magasin de paramètres**.

1. Suivez ces étapes pour créer un nouveau paramètre pour la configuration.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

   1. Dans le champ **Nom**, entrez un nom que vous utiliserez pour référencer le fichier de configuration de l' CloudWatch agent lors des étapes ultérieures. Par exemple, **AmazonCloudWatch-EC2Health-Configuration**.

   1. (Facultatif) Dans la zone **Description**, saisissez une description pour le paramètre.

   1. Pour **Niveau de paramètre**, choisissez **Standard**.

   1. Pour **Type**, choisissez **String** (Chaîne).

   1. Pour **Type de données**, choisissez **texte**.

   1. Dans le champ **Valeur**, collez le JSON de la configuration de l’agent fourni plus tôt dans ce document.

   1. Sélectionnez **Create parameter** (Créer un paramètre).

### Étape 3 : Installation de l' CloudWatch agent et application de la configuration à l'aide d'un CloudFormation modèle
<a name="Solution-EC2-Health-Deploy-Step3"></a>

Vous pouvez l'utiliser CloudFormation pour installer l'agent et le configurer de manière à utiliser la configuration d' CloudWatch agent que vous avez créée lors des étapes précédentes.

**Pour installer et configurer l' CloudWatch agent pour cette solution**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template -1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json).

1. Vérifiez que la région sélectionnée sur la console est la région où les instances EC2 sont exécutées.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple **CWAgentInstallationStack**.

1. Dans la section **Paramètres**, indiquez les éléments suivants :

   1. Pour **CloudWatchAgentConfigSSM**, entrez le nom du paramètre Systems Manager pour la configuration de l'agent que vous avez créée précédemment, par exemple**AmazonCloudWatch-EC2Health-Configuration**.

   1. Pour sélectionner les instances cibles, vous avez deux options.

      1. Pour **InstanceIds**, spécifiez une liste séparée par IDs des virgules d'instances IDs où vous souhaitez installer l' CloudWatch agent avec cette configuration. Vous pouvez répertorier une seule instance ou plusieurs instances.

      1. Si vous déployez à grande échelle, vous pouvez spécifier le **TagKey**et le correspondant **TagValue**pour cibler toutes les instances EC2 avec cette balise et cette valeur. Si vous spécifiez un **TagKey**, vous devez spécifier un correspondant **TagValue**. (Pour un groupe Auto Scaling, spécifiez **aws:autoscaling:groupName** le **TagKey**et spécifiez le nom du groupe Auto Scaling **TagValue**à déployer sur toutes les instances du groupe Auto Scaling.)

      Si vous spécifiez à la fois les **TagKeys**paramètres **InstanceIds**et, **InstanceIds**ils seront prioritaires et les balises seront ignorées.

1. Examinez les paramètres, puis choisissez **Créer la pile**.

Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option **Charger un fichier modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser le lien suivant pour télécharger le modèle : [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template -1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json).

**Note**  
Une fois cette étape terminée, ce paramètre Systems Manager sera associé aux CloudWatch agents exécutés dans les instances ciblées. Cela signifie que :  
Si le paramètre Systems Manager est supprimé, l’agent s’arrêtera.
Si le paramètre Systems Manager est modifié, les modifications de configuration s’appliqueront automatiquement à l’agent à la fréquence planifiée qui est de 30 jours par défaut.
Si vous voulez appliquer immédiatement les modifications apportées à ce paramètre Systems Manager, vous devez exécuter à nouveau cette étape. Pour plus d’informations sur les associations, consultez [Travailler avec des associations dans AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Étape 4 : vérifiez que la configuration de l’agent est correcte
<a name="Solution-EC2-Health-Deploy-Step4"></a>

Vous pouvez vérifier si l' CloudWatch agent est installé en suivant les étapes décrites dans [Vérifier que l' CloudWatch agent est en cours d'exécution](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-verify-running). Si l' CloudWatch agent n'est pas installé et n'est pas en cours d'exécution, assurez-vous que tout est correctement configuré.
+ Assurez-vous d’avoir attaché un rôle avec les autorisations correctes pour l’instance EC2, comme décrit dans [Étape 1 : assurez-vous que les instances EC2 cibles disposent des autorisations IAM requises.](#Solution-EC2-Health-Deploy-Step1).
+ Assurez-vous d’avoir correctement configuré le fichier JSON pour le paramètre Systems Manager. Suivez les étapes décrites dans la [section Résolution des problèmes d'installation de l' CloudWatch agent avec CloudFormation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent-New-Instances-CloudFormation.html#CloudWatch-Agent-CloudFormation-troubleshooting).

**Pour vérifier que les indicateurs de santé EC2 sont publiés sur CloudWatch**

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

1. Choisissez **Métriques**, **Toutes les métriques**.

1. Assurez-vous d'avoir sélectionné la région dans laquelle vous avez déployé la solution, puis choisissez **Espaces de noms personnalisés**. **CWAgent**

1. Recherchez les métriques mentionnées dans la section de configuration de l’agent de ce document, telles que `mem_used_percent`. Si vous obtenez des résultats pour ces mesures, celles-ci sont publiées sur CloudWatch.

## Créer le tableau de bord de la solution d’état EC2
<a name="Solution-EC2-Health-Dashboard"></a>

Ce tableau de bord affiche les métriques nouvellement émises, montrant les métriques de l’état EC2. Ce tableau de bord fournit une vue de contributeur supérieur pour l’état de vos instances EC2 dans une seule région. La vue des principaux contributeurs affiche les 10 premiers par widget de métrique. Cela vous permet d’identifier les valeurs aberrantes en un coup d’œil.

Pour créer le tableau de bord, vous pouvez utiliser les options suivantes :
+ Utilisez CloudWatch la console pour créer le tableau de bord.
+ Utilisez AWS CloudFormation la console pour déployer le tableau de bord.
+ Téléchargez l' AWS CloudFormation infrastructure sous forme de code et intégrez-la dans le cadre de votre automatisation d'intégration continue (CI).

En utilisant la CloudWatch console pour créer un tableau de bord, vous pouvez prévisualiser le tableau de bord avant de le créer et de le débiter.

**Note**  
Le tableau de bord créé avec CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la CloudFormation pile dans la région où vos métriques EC2 sont publiées.  
Si vous avez spécifié un espace de noms personnalisé autre que `CWAgent` dans la configuration de l' CloudWatch agent, vous devrez modifier le CloudFormation modèle du tableau de bord pour le `CWAgent` remplacer par l'espace de noms personnalisé que vous utilisez.

**Pour créer le tableau de bord via CloudWatch la console**

1. Ouvrez la CloudWatch console **Create Dashboard** en utilisant ce lien : [ https://console.aws.amazon.com/cloudwatch/home ? \$1dashboards ? LinuxMacOsHealthDashboardTemplate=EC2](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=Ec2LinuxMacOsHealth&referrer=os-catalog) &referrer=os-catalog. 

1. Vérifiez que la région sélectionnée sur la console est la région où les instances EC2 sont exécutées.

1. Saisissez le nom du tableau de bord, puis choisissez **Créer le tableau de bord**.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **EC2HealthDashboard-us-east-1**.

1. Prévisualisez le tableau de bord et cliquez sur **Enregistrer** pour créer le tableau de bord.

**Pour créer le tableau de bord via CloudFormation**

1. Ouvrez l'assistant de **création CloudFormation rapide d'une pile** en utilisant ce lien : [ https://console.aws.amazon.com/cloudformation/accueil ? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2\$1Health/CloudWatch/CFN/v1.0.0/dashboard - template-linux-macos -1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json). 

1. Vérifiez que la région sélectionnée sur la console est la région où les instances EC2 sont exécutées.

1. Pour **Nom de la pile**, entrez un nom pour identifier cette pile, par exemple `EC2HealthDashboardStack`.

1. Dans la section **Paramètres**, spécifiez le nom du tableau de bord sous le **DashboardName**paramètre.

   Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple **EC2HealthDashboard-us-east-1**.

1. Validez les capacités d’accès pour les transformateurs sous **Capacités et transformateurs**. Notez que CloudFormation cela n'ajoute aucune ressource IAM.

1. Examinez les paramètres, puis choisissez **Créer la pile**.

1. Une fois que le statut de la pile est **CREATE\$1COMPLETE**, sélectionnez l’onglet **Ressources** sous la pile créée, puis cliquez sur le lien sous **ID physique** pour accéder au tableau de bord. Vous pouvez également accéder au tableau de bord dans la CloudWatch console en choisissant **Tableaux** de bord dans le volet de navigation gauche de la console et en recherchant le nom du tableau de bord sous **Tableaux de bord personnalisés**.

Si vous voulez modifier le fichier de modèle pour le personnaliser à des fins quelconques, vous pouvez utiliser l’option **Charger un fichier de modèle** sous **Assistant de création de pile** pour charger le modèle modifié. Pour plus d'informations, consultez [Création d'une pile sur CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Vous pouvez utiliser ce lien pour télécharger le modèle : [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2\$1Health/CloudWatch/CFN/v1.0.0/dashboard- template-linux-macos -1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard-template-linux-macos-1.0.0.json) 

## Démarrer avec le tableau de bord de la solution d’état EC2
<a name="Solution-EC2-Health-Dashboard-Usage"></a>

Voici quelques tâches que vous pouvez essayer avec le nouveau tableau de bord de surveillance EC2. Ces tâches vous permettent de vérifier que le tableau de bord fonctionne correctement et vous donnent une expérience pratique de son utilisation pour surveiller les instances EC2. Au fur et à mesure de vos essais, vous vous familiariserez avec la navigation dans le tableau de bord et l’interprétation des métriques visualisées.

Surveiller les différentes métriques d’utilisation de l’UC  
C Dans la section **UC**, examinez l’ensemble des métriques d’utilisation de l’UC. Ils fournissent un aperçu de la manière dont les ressources du processeur sont utilisées dans le cadre de différentes activités telles que les processus utilisateur, les tâches système et I/O les opérations. Recherchez les instances dont l’utilisation est constamment élevée ou qui présentent des comportements inhabituels, ce qui pourrait indiquer la nécessité d’une mise à l’échelle ou d’une optimisation.

Analyser l’utilisation des disques sur différents appareils  
Accédez à la section **Disque** pour trouver les métriques d’utilisation du stockage et de disponibilité des inodes. Celles-ci vous aident à identifier les instances qui manquent d’espace de stockage ou de ressources de système de fichiers. Soyez attentif à toutes les instances qui approchent des niveaux élevés d’utilisation du disque, car cela pourrait entraîner des problèmes de performance ou des interruptions de service.

Examiner les schémas d’utilisation de la mémoire  
Dans la section **Mémoire**, observez le graphique qui représente l’utilisation de la mémoire au fil du temps. Il indique la quantité de mémoire disponible utilisée par chaque instance. Recherchez des schémas ou des pics d’utilisation de la mémoire qui pourraient correspondre à des moments ou à des événements spécifiques. Une utilisation élevée de la mémoire peut indiquer la nécessité de redimensionner l’instance ou d’optimiser l’application.

Établir des corrélations entre les métriques d’utilisation de base  
Comparez et surveillez les schémas d’utilisation connexes. Par exemple, une charge de travail exécutant un processus de rotation des journaux pourrait présenter des augmentations régulières de l’utilisation du **processeur** et de la **mémoire**, suivies d’une diminution de l’utilisation du **disque**.

Examiner l’activité du réseau  
Dans la section **Réseau**, examinez les métriques du trafic réseau entrant et sortant, en termes de volume de données et de nombre de paquets. Ces mesures vous donnent un aperçu de l’activité réseau de vos instances EC2. Soyez attentif aux pics réguliers ou anormaux du trafic réseau, ou aux déséquilibres entre les données entrantes et sortantes.