

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Surveillance de l’infrastructure
<a name="CloudWatch-Insights-Sections"></a>

Les rubriques de cette section décrivent les CloudWatch fonctionnalités qui peuvent vous aider à obtenir une visibilité opérationnelle sur vos AWS ressources.

**Topics**
+ [Container Insights](ContainerInsights.md)
+ [Aperçu Lambda](Lambda-Insights.md)
+ [CloudWatch Aperçu des bases de données](Database-Insights.md)
+ [Utiliser Contributor Insights pour analyser des données à cardinalité élevée](ContributorInsights.md)
+ [Détectez les problèmes courants liés aux applications grâce à CloudWatch Application Insights](cloudwatch-application-insights.md)
+ [Utilisation de l'affichage de l'état des ressources dans la CloudWatch console](servicelens_resource_health.md)

# Container Insights
<a name="ContainerInsights"></a>

Utilisez CloudWatch Container Insights pour collecter, agréger et résumer les métriques et les journaux de vos applications conteneurisées et de vos microservices. Container Insights est disponible pour les plateformes Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon AWS EKS), on (ROSA) et Kubernetes sur RedHat OpenShift Amazon EC2. Container Insights prend en charge la collecte de métriques à partir AWS Fargate de clusters déployés sur Amazon ECS et Amazon EKS.

CloudWatch collecte automatiquement des métriques pour de nombreuses ressources, telles que le processeur, la mémoire, le disque et le réseau. Conteneur Insights fournit également des informations de diagnostic (par exemple sur les échecs de redémarrage des conteneurs) pour vous aider à isoler les problèmes et à les résoudre rapidement. Vous pouvez également définir des CloudWatch alarmes sur les métriques collectées par Container Insights.

Container Insights collecte des données en tant qu'*événements du journal des performances* utilisant le [format de métrique intégrée](CloudWatch_Embedded_Metric_Format.md). Ces évènements du journal des performances sont des entrées qui utilisent un schéma JSON structuré qui permet aux données à haute cardinalité d'être intégrées et stockées à grande échelle. À partir de ces données, CloudWatch crée des métriques agrégées au niveau du cluster, du nœud, du pod, de la tâche et du service sous forme de CloudWatch métriques. Les métriques collectées par Container Insights sont disponibles dans des tableaux de bord CloudWatch automatiques et peuvent également être consultées dans la section **Metrics** de la CloudWatch console. Les métriques ne sont pas visibles tant que les tâches du conteneur ne sont pas en cours d'exécution depuis un certain temps.

Lorsque vous déployez Container Insights, il crée automatiquement un groupe de journaux pour les événements du journal des performances. Il n'est pas nécessaire de créer ce groupe de journaux vous-même.

Pour vous aider à gérer vos coûts, Container Insights CloudWatch ne crée pas automatiquement tous les indicateurs possibles à partir des données du journal. Cependant, vous pouvez consulter des mesures supplémentaires et des niveaux de granularité supplémentaires en utilisant CloudWatch Logs Insights pour analyser les événements bruts du journal des performances.

Dans la version originale de Container Insights, les métriques collectées et les logs ingérés sont facturés en tant que métriques personnalisées. Grâce à Container Insights avec observabilité améliorée pour Amazon EKS, les métriques et les journaux de Container Insights sont facturés par observation au lieu d'être facturés par métrique stockée ou par journal ingéré. Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

**[Aperçu]** Pour Amazon EKS, Container Insights OpenTelemetry propose un mode métrique supplémentaire qui collecte les métriques à l'aide du OpenTelemetry protocole (OTLP) et prend en charge les requêtes ProMQL. Chaque métrique est enrichie d'un maximum de 150 étiquettes, y compris des attributs de convention OpenTelemetry sémantique et des étiquettes de pods et de nœuds Kubernetes. Pour de plus amples informations, veuillez consulter [Container Insights avec OpenTelemetry métriques pour Amazon EKS](container-insights-otel-metrics.md).

Dans Amazon EKS AWS, RedHatOpenshift on et Kubernetes, Container Insights utilise une version conteneurisée de l' CloudWatch agent pour découvrir tous les conteneurs en cours d'exécution dans un cluster. Il collecte ensuite les données de performance à chaque couche de la pile de performances.

Container Insights prend en charge le AWS KMS key chiffrement grâce aux journaux et aux métriques qu'il collecte. Pour activer ce chiffrement, vous devez activer manuellement le AWS KMS chiffrement pour le groupe de journaux qui reçoit les données Container Insights. Container Insight chiffre alors ces données à l'aide de la clé KMS fournie. Seules les clés symétriques sont prises en charge. N'utilisez pas de clés KMS asymétriques pour chiffrer vos groupes de journaux.

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

## Plateformes prises en charge
<a name="container-insights-platforms"></a>

Container Insights est disponible pour les plateformes Amazon Elastic Container Service, Amazon Elastic Kubernetes Service RedHat OpenShift , AWS sur, et Kubernetes sur les instances Amazon EC2.
+ Pour Amazon ECS, Container Insights collecte des métriques au niveau du cluster, des tâches et des services sur les instances Linux et Windows Server. Container Insights collecte des métriques au niveau des instances uniquement sur les instances Linux. Les métriques réseau sont disponibles pour les conteneurs qui utilisent les modes réseau `bridge` et `awsvpc`, mais ne sont pas disponibles pour les conteneurs qui utilisent le mode réseau `host`.
+ Pour Amazon Elastic Kubernetes Service et les plateformes Kubernetes sur les instances Amazon EC2, Container Insights est pris en charge à la fois sur les instances Linux et Windows.
+ **[Aperçu]** Container Insights avec OpenTelemetry métriques est disponible pour Amazon EKS. Pour de plus amples informations, veuillez consulter [Container Insights avec OpenTelemetry métriques pour Amazon EKS](container-insights-otel-metrics.md).

# Container Insights avec observabilité améliorée pour Amazon ECS
<a name="container-insights-detailed-ecs-metrics"></a>

Le 2 décembre 2024, AWS a publié Container Insights avec une observabilité améliorée pour Amazon ECS. Cette version prend en charge une observabilité améliorée pour les clusters Amazon ECS utilisant les types de lancement Amazon EC2 et Fargate. Une fois que vous avez configuré Container Insights avec une observabilité améliorée sur Amazon ECS, Container Insights collecte automatiquement la télémétrie détaillée sur l’infrastructure, du niveau du cluster jusqu’au niveau des conteneurs dans votre environnement, et affiche ces données de performances critiques dans des tableaux de bord organisés, ce qui vous évite d’avoir à effectuer des tâches fastidieuses pour configurer l’observabilité. Pour plus d’informations sur la configuration de Container Insights avec une observabilité améliorée, consultez [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS-cluster.md).

Container Insights avec observabilité améliorée fournit toutes les métriques Container Insights, ainsi que des métriques supplémentaires sur les tâches et les conteneurs. Pour de plus amples informations, veuillez consulter [Amazon ECS Container Insights avec des métriques d’observabilité améliorées](Container-Insights-enhanced-observability-metrics-ECS.md).

Container Insights, doté d'une observabilité améliorée, prend également en charge l'observabilité CloudWatch entre comptes. Vous pouvez utiliser un seul compte de surveillance pour surveiller et dépanner les applications qui couvrent plusieurs AWS comptes au sein d'une même région. Pour plus d'informations, consultez la section [Observabilité inter-comptes de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html) (français non garanti).

# Container Insights avec observabilité améliorée pour Amazon EKS
<a name="container-insights-detailed-metrics"></a>

Le 6 novembre 2023, une nouvelle version de Container Insights a été publiée. Cette version prend en charge une observabilité améliorée pour les clusters Amazon EKS s'exécutant sur Amazon EC2 et peut collecter des métriques plus détaillées à partir de ces clusters. Après l'installation, il collecte automatiquement des données télémétriques détaillées sur l'infrastructure et des journaux de conteneurs pour vos clusters Amazon EKS. Vous pouvez ensuite utiliser des tableaux de bord élaborés et immédiatement exploitables pour approfondir la télémétrie des applications et des infrastructures. 

Container Insights avec observabilité améliorée pour Amazon EKS collecte des métriques de santé, de performance et d'état granulaires jusqu'au niveau du conteneur, ainsi que des métriques du plan de contrôle. Pour plus d'informations sur les métriques et dimensions supplémentaires collectées, veuillez consulter [Amazon EKS et Kubernetes Container Insights avec des métriques d’observabilité améliorées](Container-Insights-metrics-enhanced-EKS.md).

Si vous avez installé Container Insights en utilisant l' CloudWatch agent sur un cluster Amazon EKS sur Amazon EC2 après le 6 novembre 2023, vous disposez de Container Insights avec une observabilité améliorée pour Amazon EKS. Sinon, vous pouvez mettre à niveau un cluster Amazon EKS vers cette nouvelle version en suivant les instructions figurant dans [Mise à niveau vers Container Insights avec une meilleure observabilité pour Amazon EKS dans CloudWatch](Container-Insights-upgrade-enhanced.md).

Container Insights favorise l' CloudWatch observabilité entre comptes. Vous utilisez un seul compte de surveillance pour surveiller et dépanner vos applications qui couvrent plusieurs AWS comptes au sein d'une même région. Pour de plus amples informations, veuillez consulter [CloudWatch observabilité entre comptes](CloudWatch-Unified-Cross-Account.md).

Container Insights avec observabilité améliorée pour Amazon EKS prend également en charge les nœuds de travail Windows.

Container Insights avec observabilité améliorée pour Amazon EKS n'est pas pris en charge sur Fargate.

**Note**  
Pour savoir si vos clusters peuvent être mis à niveau vers Container Insights avec observabilité améliorée pour Amazon EKS, accédez à la console Container Insights. Pour ce faire, choisissez **Insights**, **Container Insights** dans le volet de navigation de la CloudWatch console. Dans la console Container Insights, une bannière vous indique si des clusters Amazon EKS peuvent être mis à niveau, ainsi que des liens vers la page de mise à niveau.

# Container Insights avec OpenTelemetry métriques pour Amazon EKS
<a name="container-insights-otel-metrics"></a>

**Version préliminaire**  
Container Insights avec OpenTelemetry métriques fournit une visibilité sur l'état de fonctionnement de votre infrastructure de cluster Amazon EKS. Il est disponible en avant-première publique sans frais supplémentaires aux États-Unis Est (Virginie du Nord), à l'Ouest des États-Unis (Oregon), en Europe (Irlande), en Asie-Pacifique (Singapour) et en Asie-Pacifique (Sydney).

Le module complémentaire Amazon CloudWatch Observability EKS collecte des métriques open source à partir de vos clusters Amazon EKS et les envoie à CloudWatch l'aide du OpenTelemetry protocole (OTLP) avec une granularité de 30 secondes. Ces métriques utilisent des noms de métriques issus de leurs sources d'origine, notamment cAdvisor, Prometheus Node Exporter, NVIDIA DCGM, Kube State Metrics et Neuron Monitor. AWS Vous pouvez interroger ces métriques à l'aide de ProMQL dans CloudWatch Query Studio ou via l'API de requête compatible Prometheus.

Chaque métrique est automatiquement enrichie avec jusqu'à 150 étiquettes, y compris des attributs de convention OpenTelemetry sémantique et des étiquettes de pods et de nœuds Kubernetes. ProMQL gère l'agrégation au moment de la requête, de sorte que chaque métrique est publiée une fois par ressource plutôt qu'à plusieurs niveaux d'agrégation. Le module complémentaire met également en corrélation les métriques d'accélérateur de AWS Neuron et d' AWS Elastic Fabric Adapter avec les pods et conteneurs spécifiques qui les utilisent, offrant ainsi une visibilité qui n'est pas disponible uniquement à partir des sources métriques.

Pour activer OTel Container Insights sur un cluster Amazon EKS, installez la version complémentaire Amazon CloudWatch Observability EKS `v6.0.1-eksbuild.1` ou une version ultérieure via la console Amazon EKS ou via l'infrastructure sous forme de code.

Pour plus d'informations sur la configuration de OTel Container Insights, consultez[Configuration de Container Insights](deploy-container-insights.md).

Pour plus d'informations sur l'interrogation de ces métriques avec ProMQL, consultez. [Requête ProMAL](CloudWatch-PromQL-Querying.md)

## Comparaison entre OTel Container Insights et Container Insights (amélioré)
<a name="container-insights-otel-comparison"></a>

Le tableau suivant résume les différences entre Container Insights (amélioré) et OTel Container Insights.


| Fonctionnalité | Container Insights (amélioré) | OTel Informations sur les conteneurs | 
| --- | --- | --- | 
| Noms des métriques | CloudWatch-format les métriques (par exemple,pod\$1cpu\$1utilization) | Natif open source (par exemple,container\$1cpu\$1usage\$1seconds\$1total) | 
| Étiquettes par métrique | 3 à 6 dimensions prédéfinies par métrique | Jusqu'à 150 étiquettes, y compris toutes les étiquettes des pods et des nœuds Kubernetes | 
| Agrégation | Préagrégé à plusieurs niveaux (cluster, espace de noms, charge de travail, pod) | Métriques brutes par ressource ; agrégées au moment de la requête avec ProMQL | 
| Langage de requête | CloudWatch API de métriques | ProMQL (compatible avec Prometheus) | 
| Ingestion métrique | CloudWatch Logs au format EMF | Point de terminaison OTLP | 

## Comment les métriques sont étiquetées
<a name="container-insights-otel-labels"></a>

Chaque métrique collectée par OTel Container Insights comporte des étiquettes provenant de trois sources.

Libellés natifs des sources de télémétrie  
Étiquettes issues de la source métrique d'origine (par exemple, cAdvisor fournit des étiquettes telles que `pod``namespace`, et`container`). Ils sont conservés sous forme d'attributs de point de données.

OpenTelemetry attributs de ressources  
Le module complémentaire ajoute des attributs de ressources conformément aux conventions OpenTelemetry sémantiques pour [Kubernetes](https://opentelemetry.io/docs/specs/semconv/resource/k8s/), [Host](https://opentelemetry.io/docs/specs/semconv/resource/host/) et [Cloud](https://opentelemetry.io/docs/specs/semconv/resource/cloud/), telles que`k8s.pod.name`,,, et. `k8s.namespace.name` `k8s.node.name` `host.name` `cloud.region` Ces attributs sont cohérents dans toutes les sources métriques.

Étiquettes des pods et des nœuds Kubernetes  
Toutes les étiquettes de pod et de nœud découvertes à partir de l'API Kubernetes sont ajoutées sous forme d'attributs de ressource avec les préfixes et. `k8s.pod.label` `k8s.node.label`

Pour plus d'informations sur la façon d'interroger ces attributs à l'aide de ProMQL, consultez. [Requête ProMAL](CloudWatch-PromQL-Querying.md)

## Métriques prises en charge
<a name="container-insights-otel-supported-metrics"></a>

Le tableau suivant répertorie les sources et catégories de métriques collectées par OTel Container Insights.


| Source de la métrique | Catégorie de la métrique | Conditions préalables | 
| --- | --- | --- | 
| cViseur | Métriques de processeur | - | 
| cViseur | Métrique de mémoire | - | 
| cViseur | Métriques de réseau | - | 
| cViseur | Métriques relatives aux disques et aux systèmes de fichiers | - | 
| Exportateur de nœuds Prometheus | Métriques de processeur | - | 
| Exportateur de nœuds Prometheus | Métrique de mémoire | - | 
| Exportateur de nœuds Prometheus | Métriques de disque | - | 
| Exportateur de nœuds Prometheus | Métriques du système de fichiers | - | 
| Exportateur de nœuds Prometheus | Métriques de réseau | - | 
| Exportateur de nœuds Prometheus | Métriques du système | - | 
| Exportateur de nœuds Prometheus | VMStat métriques | - | 
| Exportateur de nœuds Prometheus | Netstat et métriques des sockets | - | 
| NVIDIA DCGM | Indicateurs de performance et d'utilisation du GPU | [Le plug-in pour appareil NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) [et le kit d'outils de conteneur NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doivent être installés. | 
| NVIDIA DCGM | Métriques de mémoire du GPU | [Le plug-in pour appareil NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) [et le kit d'outils de conteneur NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doivent être installés. | 
| NVIDIA DCGM | Indicateurs de puissance et de température du GPU | [Le plug-in pour appareil NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) [et le kit d'outils de conteneur NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doivent être installés. | 
| NVIDIA DCGM | Métriques de régulation du GPU | [Le plug-in pour appareil NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) [et le kit d'outils de conteneur NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doivent être installés. | 
| NVIDIA DCGM | Indicateurs d'erreur et de fiabilité du GPU | [Le plug-in pour appareil NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) [et le kit d'outils de conteneur NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doivent être installés. | 
| NVIDIA DCGM |  NVLink Métriques du GPU | [Le plug-in pour appareil NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) [et le kit d'outils de conteneur NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doivent être installés. | 
| NVIDIA DCGM | Métriques informatives du GPU | [Le plug-in pour appareil NVIDIA](https://github.com/NVIDIA/k8s-device-plugin) [et le kit d'outils de conteneur NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doivent être installés. | 
| AWS Moniteur Neuron | NeuronCore métriques | [Le pilote Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html) et le [plug-in du périphérique Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html) doivent être installés. | 
| AWS Moniteur Neuron | NeuronDevice métriques | [Le pilote Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html) et le [plug-in du périphérique Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html) doivent être installés. | 
| AWS Moniteur Neuron | Métriques du système neuronal | [Le pilote Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html) et le [plug-in du périphérique Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html) doivent être installés. | 
| AWS Adaptateur en tissu élastique | Métriques EFA | [Le plug-in pour appareil EFA](https://github.com/aws/eks-charts/tree/master/stable/aws-efa-k8s-device-plugin) doit être installé. | 
| NVMe | NVMe Métriques SMART | - | 
| Métriques de l'état de Kube | Pod, node, Deployment DaemonSet StatefulSet, ReplicaSet,, Job CronJob,, Service, Namespace PersistentVolume, métriques PersistentVolumeClaim  | - | 
| Serveur d'API Kubernetes | Serveur API et métriques etcd | - | 

## CloudWatch image du conteneur de l'agent
<a name="container-insights-download-limit"></a>

Amazon fournit une image de conteneur d' CloudWatch agent sur Amazon Elastic Container Registry. Pour plus d’informations, consultez [cloudwatch-agent](https://gallery.ecr.aws/cloudwatch-agent/cloudwatch-agent) sur Amazon ECR.

# Configuration de Container Insights
<a name="deploy-container-insights"></a>

Le processus d'installation de Container Insights est différent pour Amazon ECS, Amazon EKS et Kubernetes. 
+ [Configuration de Container Insights sur Amazon EKS et Kubernetes](deploy-container-insights-EKS.md)
+ [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS.md)

**Topics**
+ [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS.md)
+ [Configuration de Container Insights sur Amazon EKS et Kubernetes](deploy-container-insights-EKS.md)
+ [Configuration de Container Insights RedHat OpenShift sur on AWS (ROSA)](deploy-container-insights-RedHatOpenShift.md)

# Configuration de Container Insights sur Amazon ECS
<a name="deploy-container-insights-ECS"></a>

Vous pouvez utiliser l'une des options suivantes ou les deux pour activer Container Insights sur les clusters Amazon ECS :
+ Utilisez le AWS Management Console ou AWS CLI pour commencer à collecter des métriques au niveau du cluster, au niveau des tâches et au niveau du service.
+ Déployez l' CloudWatch agent en tant que service daemon pour commencer à collecter des métriques au niveau de l'instance sur les clusters hébergés sur des instances Amazon EC2.

**Topics**
+ [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS-cluster.md)
+ [Configuration de Container Insights sur Amazon ECS à l'aide de AWS Distro pour OpenTelemetry](deploy-container-insights-ECS-adot.md)
+ [Déploiement de l' CloudWatch agent pour collecter des métriques au niveau de l'instance EC2 sur Amazon ECS](deploy-container-insights-ECS-instancelevel.md)
+ [Déploiement de la AWS distribution pour collecter des métriques OpenTelemetry au niveau de l'instance EC2 sur des clusters Amazon ECS](deploy-container-insights-ECS-OTEL.md)
+ [Configurer FireLens pour envoyer des journaux à CloudWatch Logs](deploy-container-insights-ECS-logs.md)

# Configuration de Container Insights sur Amazon ECS
<a name="deploy-container-insights-ECS-cluster"></a>

Vous pouvez configurer Container Insights avec observabilité améliorée ou Container Insights sur des clusters Amazon ECS nouveaux et existants à l’aide de la console Amazon ECS ou de l’ AWS CLI. Container Insights collecte des métriques au niveau du cluster, des tâches et des services. Container Insights avec observabilité améliorée fournit des dimensions et des métriques supplémentaires, vous permettant d’approfondir la visibilité au niveau des conteneurs. 

Si vous utilisez Amazon ECS sur une instance Amazon EC2, veuillez lancer cette instance à l’aide d’une AMI qui inclut l’agent Amazon ECS version 1.29 ou ultérieure. Pour plus d’informations sur la mise à jour de la version de votre agent, consultez [Mise à jour de l’agent du conteneur Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html).

**Note**  
Si la AWS KMS clé gérée par le client que vous utilisez pour vos métriques Amazon ECS Container Insights n'est pas déjà configurée pour fonctionner CloudWatch, vous devez mettre à jour la politique relative aux clés pour autoriser les journaux chiffrés dans CloudWatch les journaux. Vous devez également associer votre propre AWS KMS clé au groupe de connexion`/aws/ecs/containerinsights/ClusterName/performance`. Pour plus d'informations, voir [Chiffrer les données des journaux dans les CloudWatch journaux à l'aide AWS Key Management Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html) de.

Nous vous recommandons d’utiliser Container Insights avec observabilité améliorée à la place de Container Insights, car il fournit une visibilité détaillée de votre environnement de conteneurs, réduisant ainsi le délai moyen de résolution.

## Configurer Container Insights avec une observabilité améliorée
<a name="set-container-insights-ECS-cluster-enhanced"></a>

Vous pouvez activer Container Insights avec une observabilité améliorée à l’aide de la console Amazon ECS ou d’ AWS CLI. 

------
#### [ AWS CLI ]

Utilisez la commande suivante pour activer Container Insights avec observabilité améliorée.

 Définissez le paramètre de compte `containerInsights` sur `enhanced`

```
aws ecs put-account-setting --name containerInsights --value enhanced
```

Exemple de sortie

```
{
    "setting": {
        "name": "containerInsights",
        "value": "enhanced",
        "principalArn": "arn:aws:iam::123456789012:johndoe",
         "type": user
    }
}
```

**Note**  
Par défaut, `put-account-setting` s’applique uniquement à l’utilisateur actuellement authentifié. Pour activer le paramètre à l’échelle du compte pour tous les utilisateurs et tous les rôles, utilisez l’utilisateur racine comme dans l’exemple suivant.  

```
aws ecs put-account-setting --name containerInsights --value enhanced --principal-arn arn:aws:iam::accountID:root
```

Une fois que vous avez défini ce paramètre de compte, tous les nouveaux clusters utilisent automatiquement Container Insights avec observabilité améliorée. Utilisez la commande `update-cluster-settings` pour ajouter Container Insights avec une observabilité améliorée au cluster existant ou pour mettre à niveau les clusters qui utilisent actuellement Container Insights vers Container Insights avec une observabilité améliorée.

```
aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enhanced
```

------
#### [ Amazon ECS console ]

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

1. Dans la barre de navigation en haut de l'écran, sélectionnez la région pour laquelle vous souhaitez afficher vos paramètres de compte. 

1. Dans la page de navigation, choisissez **Account Settings** (Paramètres du compte).

1. Choisissez **Mettre à jour**.

1. Pour utiliser Container Insights avec observabilité améliorée, sélectionnez **Container Insights avec observabilité améliorée**.

1. Sélectionnez **Enregistrer les modifications**.

1. Dans l'écran de confirmation, choisissez **Confirm** (Confirmer) pour enregistrer la sélection.

Une fois ce paramètre défini, tous les nouveaux clusters utilisent automatiquement Container Insights avec une observabilité améliorée. Vous pouvez ajouter Container Insights avec une observabilité améliorée aux clusters existants ou mettre à niveau les clusters qui utilisent actuellement Container Insights vers Container Insights avec une observabilité améliorée. Pour plus d’informations, consultez [Mise à jour d’un cluster Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-cluster-v2.html) dans le *Guide du développeur Amazon Elastic Container Service*.

------

## Configurer Container Insights
<a name="set-container-insights-ECS-cluster"></a>

Vous pouvez activer Container Insights à l’aide de la console Amazon ECS ou de l’ AWS CLI. 

------
#### [ AWS CLI ]

Pour utiliser Container Insights, définissez le paramètre du compte `container Insights` sur `enabled`. Utilisez la commande suivante pour activer Container Insights.

```
aws ecs put-account-setting --name containerInsights --value enabled
```

Exemple de sortie

```
{
    "setting": {
        "name": "container Insights",
        "value": "enabled",
        "principalArn": "arn:aws:iam::123456789012:johndoe",
         "type": user
    }
}
```

Lorsque vous définissez le paramètre de compte `container Insights` sur `enabled`, tous les nouveaux clusters ont Container Insights activé par défaut. Utilisez la commande `update-cluster-settings` pour ajouter Container Insights à un cluster existant.

```
aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enabled
```

------
#### [ Amazon ECS console ]

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

1. Dans la barre de navigation en haut de l'écran, sélectionnez la région pour laquelle vous souhaitez afficher vos paramètres de compte. 

1. Dans la page de navigation, choisissez **Account Settings** (Paramètres du compte).

1. Choisissez **Mettre à jour**.

1. Pour utiliser Container Insights, choisissez **Container Insights**.

1. Sélectionnez **Enregistrer les modifications**.

1. Dans l'écran de confirmation, choisissez **Confirm** (Confirmer) pour enregistrer la sélection.

Une fois cette configuration effectuée, tous les nouveaux clusters utilisent automatiquement Container Insights. Mettez à jour les clusters existants pour ajouter Container Insights. Pour plus d’informations, consultez [Mise à jour d’un cluster Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-cluster-v2.html) dans le *Guide du développeur Amazon Elastic Container Service*.

------

# Configuration de Container Insights sur Amazon ECS à l'aide de AWS Distro pour OpenTelemetry
<a name="deploy-container-insights-ECS-adot"></a>

Utilisez cette section si vous souhaitez utiliser AWS Distro pour OpenTelemetry configurer CloudWatch Container Insights sur un cluster Amazon ECS. [Pour plus d'informations sur AWS Distro for Open Telemetry, voir AWS Distro for. OpenTelemetry](https://aws.amazon.com/otel/) 

Cette procédure suppose que vous avez déjà un cluster exécutant Amazon ECS. Pour plus d'informations sur l'utilisation de AWS Distro pour la télémétrie ouverte avec Amazon ECS et sur la configuration d'un cluster Amazon ECS à cette fin, consultez [Configuration de AWS Distro pour Collector OpenTelemetry dans Amazon](https://aws-otel.github.io/docs/setup/ecs) Elastic Container Service.

## Étape 1 : Création d'un rôle de tâche
<a name="deploy-container-insights-ECS-adot-CreateTaskRole"></a>

La première étape consiste à créer un rôle de tâche dans le cluster que le AWS OpenTelemetry Collector utilisera.

**Pour créer un rôle de tâche pour AWS Distro for OpenTelemetry**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, choisissez **Politiques**, puis **Créer une politique**.

1. Choisissez l'onglet **JSON** et copiez la politique suivante :

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

****  

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

------

1. Choisissez **Examiner une politique**.

1. Pour Name (Nom), saisissez **AWSDistroOpenTelemetryPolicy**, puis choisissez **Create policy (Créer une politique)**.

1. Dans le panneau de navigation, choisissez **Roles (Rôles)**, puis **Create role (Créer un rôle)**.

1. Dans la liste des services, choisissez **Elastic Container Service**.

1. Plus bas sur la page, choisissez **Elastic Container Service Task (Tâche Elastic Container Service)**, puis choisissez **Next: Permissions (Suivant : Autorisations)**.

1. Dans la liste des politiques, recherchez **AWSDistroOpenTelemetryPolicy**.

1. Cochez la case à côté de **AWSDistroOpenTelemetryPolicy**.

1. Sélectionnez **Next: Tags (Suivant : Balises)**, puis **Next: Review (Suivant : Vérification).**

1. Pour **Role name (Nom du rôle)**, saisissez **AWSOpenTelemetryTaskRole**, puis choisissez **Create role (Créer un rôle)**.

## Étape 2 : Créer un rôle d'exécution de tâche
<a name="deploy-container-insights-ECS-adot-CreateTaskExecutionRole"></a>

L'étape suivante consiste à créer un rôle d'exécution de tâche pour le AWS OpenTelemetry collecteur.

**Pour créer un rôle d'exécution de tâches pour AWS Distro for OpenTelemetry**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, choisissez **Roles (Rôles)**, puis **Create role (Créer un rôle)**.

1. Dans la liste des services, choisissez **Elastic Container Service**.

1. Plus bas sur la page, choisissez **Elastic Container Service Task (Tâche Elastic Container Service)**, puis choisissez **Next: Permissions (Suivant : Autorisations)**.

1. Dans la liste des politiques, recherchez **Amazon**, ECSTask ExecutionRolePolicy puis cochez la case à côté d'**Amazon ECSTask ExecutionRolePolicy**.

1. Dans la liste des politiques, recherchez **CloudWatchLogsFullAccess**puis cochez la case à côté de **CloudWatchLogsFullAccess**.

1. Dans la liste des politiques, recherchez **Amazon**, SSMRead OnlyAccess puis cochez la case à côté d'**Amazon SSMRead OnlyAccess**.

1. Sélectionnez **Next: Tags (Suivant : Balises)**, puis **Next: Review (Suivant : Vérification).**

1. Pour **Role name (Nom du rôle)**, saisissez **AWSOpenTelemetryTaskExecutionRole**, puis choisissez **Create role (Créer un rôle)**.

## Étape 3 : Créer une définition de tâche
<a name="deploy-container-insights-ECS-adot-CreateTaskDefinition"></a>

L'étape suivante consiste à créer une définition de tâche.

**Pour créer une définition de tâche pour AWS Distro for OpenTelemetry**

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

1. Dans le panneau de navigation, choisissez **Task definitions** (Définition des tâches)

1. Choisissez **Create new task definition** (Créer une nouvelle définition de tâche), puis **Create new task definition** (Créer une nouvelle définition de tâche).

1. Pour **Task definition family** (Famille de définition de tâche), spécifiez un nom unique pour la définition de tâche.

1. Configurez vos conteneurs, puis choisissez **Suivant**.

1. Sous **Métriques et journalisation**, sélectionnez **Utiliser la collecte de métriques**.

1. Choisissez **Suivant**.

1. Choisissez **Créer**.

Pour plus d'informations sur l'utilisation du AWS OpenTelemetry collecteur avec Amazon ECS, consultez [Configuration de AWS Distro pour OpenTelemetry Collector dans Amazon Elastic Container Service](https://aws-otel.github.io/docs/setup/ecs).

## Étape 4 : Exécuter la tâche
<a name="deploy-container-insights-ECS-adot-CreateTaskDefinition"></a>

La dernière étape consiste à exécuter la tâche que vous avez créée.

**Pour exécuter la tâche pour AWS Distro for OpenTelemetry**

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

1. Dans le panneau de navigation de gauche, choisissez **Task Definitions (Définitions de tâche)** puis sélectionnez la tâche que vous venez de créer.

1. Choisissez **Actions**, **Déployer**, **Exécuter la tâche**. 

1. Choisissez **Deploy** (Déploiement), **Run task** (Exécution de tâche).

1. Dans la section **Options de calcul**, dans **Cluster existant**, sélectionnez le cluster.

1. Choisissez **Créer**.

1. Ensuite, vous pouvez vérifier les nouvelles mesures dans la CloudWatch console.

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

1. Dans le volet de navigation de gauche, choisissez **Métriques**.

   Vous devriez voir un espace de ContainerInsights noms **ECS/**. Choisissez cet espace de noms, vous devriez voir huit métriques.

# Déploiement de l' CloudWatch agent pour collecter des métriques au niveau de l'instance EC2 sur Amazon ECS
<a name="deploy-container-insights-ECS-instancelevel"></a>

Pour déployer l' CloudWatch agent afin de collecter des métriques au niveau de l'instance à partir de clusters Amazon ECS hébergés sur une instance EC2, utilisez une configuration de démarrage rapide avec une configuration par défaut ou installez l'agent manuellement pour pouvoir le personnaliser.

Les deux méthodes nécessitent que vous disposiez déjà d'au moins un cluster Amazon ECS déployé avec un type de lancement EC2 et que le conteneur de l' CloudWatch agent ait accès au service de métadonnées d'instance Amazon EC2 (IMDS). Pour plus d'informations sur IMDS, consultez [Métadonnées d'instance et données utilisateur](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).

Ces méthodes supposent également que vous avez AWS CLI installé le. En outre, pour exécuter les commandes décrites dans les procédures suivantes, vous devez être connecté à un compte ou à un rôle soumis aux politiques **IAMFullAccess** et **AmazonECS\$1 FullAccess**.

**Important**  
Lorsque vous définissez le conteneur d' CloudWatch agents dans votre définition de tâche, définissez`essential: false`. Cela empêche l'arrêt de l'ensemble du service Amazon ECS en cas de défaillance du conteneur d' CloudWatch agents. Les autres conteneurs d’applications critiques continueront de fonctionner même si l’agent est temporairement indisponible.

**Topics**
+ [Configuration rapide à l'aide de CloudFormation](#deploy-container-insights-ECS-instancelevel-quickstart)
+ [Configuration manuelle et personnalisée](#deploy-container-insights-ECS-instancelevel-manual)

## Configuration rapide à l'aide de CloudFormation
<a name="deploy-container-insights-ECS-instancelevel-quickstart"></a>

Pour utiliser la configuration rapide, entrez la commande suivante à utiliser CloudFormation pour installer l'agent. Remplacez *cluster-name* et *cluster-region* par le nom et la région de votre cluster Amazon ECS.

**Cette commande crée les rôles Role et **CWAgentECSTaskCWAgentECSExecutionRole** IAM.** Si ces rôles existent déjà dans votre compte, utilisez `ParameterKey=CreateIAMRoles,ParameterValue=False` plutôt que `ParameterKey=CreateIAMRoles,ParameterValue=True` lorsque vous entrez la commande. Sinon, la commande échouera.

```
ClusterName=cluster-name
Region=cluster-region
curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cloudformation-quickstart/cwagent-ecs-instance-metric-cfn.json
aws cloudformation create-stack --stack-name CWAgentECS-${ClusterName}-${Region} \
    --template-body file://cwagent-ecs-instance-metric-cfn.json \
    --parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \
                 ParameterKey=CreateIAMRoles,ParameterValue=True \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${Region}
```

**(Alternative) Utilisation de vos propres rôles IAM**

Si vous souhaitez utiliser votre propre rôle de tâche ECS personnalisé et votre rôle d'exécution de tâche ECS au lieu des rôles **CWAgentECSTaskCWAgentECSExecutionRôle** **et Rôle**, assurez-vous d'abord que le rôle à utiliser en tant que rôle de tâche ECS est **CloudWatchAgentServerPolicy**attaché. Assurez-vous également que le rôle à utiliser comme rôle d'exécution de tâches ECS est associé à la fois aux ECSTask ExecutionRolePolicy politiques **Amazon **CloudWatchAgentServerPolicy**et aux politiques Amazon**. Entrez ensuite la commande suivante. Dans la commande, remplacez *task-role-arn* par l'ARN de votre rôle de tâche ECS personnalisé et remplacez *execution-role-arn* par l'ARN de votre rôle d'exécution de tâche ECS personnalisé.

```
ClusterName=cluster-name
Region=cluster-region
TaskRoleArn=task-role-arn
ExecutionRoleArn=execution-role-arn
curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cloudformation-quickstart/cwagent-ecs-instance-metric-cfn.json
aws cloudformation create-stack --stack-name CWAgentECS-${ClusterName}-${Region} \
    --template-body file://cwagent-ecs-instance-metric-cfn.json \
    --parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \
                 ParameterKey=TaskRoleArn,ParameterValue=${TaskRoleArn} \
                 ParameterKey=ExecutionRoleArn,ParameterValue=${ExecutionRoleArn} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${Region}
```

**Dépannage de la configuration rapide**

Pour vérifier l'état de la CloudFormation pile, entrez la commande suivante.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stacks --stack-name CWAgentECS-$ClusterName-$Region --region $Region
```

Si le `StackStatus` ne correspond pas à `CREATE_COMPLETE` ou `CREATE_IN_PROGRESS`, vérifiez les événements de la pile pour trouver l'erreur. Entrez la commande suivante.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stack-events --stack-name CWAgentECS-$ClusterName-$Region --region $Region
```

Pour vérifier l'état du service de démon `cwagent`, saisissez la commande suivante. Dans la sortie, vous devriez voir que `runningCount` est égal à `desiredCount` dans la section `deployment`. Si elle n'est pas égale, vérifiez la section `failures` dans la sortie.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs describe-services --services cwagent-daemon-service --cluster $ClusterName --region $Region
```

Vous pouvez également utiliser la console CloudWatch Logs pour consulter le journal de l'agent. Recherchez le groupe de ecs-cwagent-daemon-service journaux **/ecs/**.

**Supprimer la CloudFormation pile pour l' CloudWatch agent**

Si vous devez supprimer la CloudFormation pile, entrez la commande suivante.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation delete-stack --stack-name CWAgentECS-${ClusterName}-${Region} --region ${Region}
```

## Configuration manuelle et personnalisée
<a name="deploy-container-insights-ECS-instancelevel-manual"></a>

Suivez les étapes décrites dans cette section pour déployer manuellement l' CloudWatch agent afin de collecter des métriques au niveau de l'instance à partir de vos clusters Amazon ECS hébergés sur des instances EC2.

### Rôles et politiques IAM nécessaires
<a name="deploy-container-insights-ECS-instancelevel-IAMRoles"></a>

Deux rôles IAM sont requis. Vous devez les créer s'ils n'existent pas déjà. Pour plus d'informations sur ces rôles, consultez [Rôles IAM des tâches](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) et [Rôle d'exécution des tâches Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html).
+ *Rôle de tâche ECS*, utilisé par l' CloudWatch agent pour publier des métriques. Si ce rôle existe déjà, vous devez vous assurer que la politique `CloudWatchAgentServerPolicy` est attachée.
+ *Rôle d'exécution de tâche ECS*, utilisé par l'agent Amazon ECS pour lancer l' CloudWatch agent. Si ce rôle existe déjà, vous devez vous assurer que les politiques `AmazonECSTaskExecutionRolePolicy` et `CloudWatchAgentServerPolicy` sont attachées.

Si vous ne disposez pas déjà de ces rôles, vous pouvez utiliser les commandes suivantes pour les créer et joindre les politiques nécessaires. Cette première commande crée le rôle de tâches ECS.

```
aws iam create-role --role-name CWAgentECSTaskRole \
    --assume-role-policy-document "{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Sid\": \"\",\"Effect\": \"Allow\",\"Principal\": {\"Service\": \"ecs-tasks.amazonaws.com\"},\"Action\": \"sts:AssumeRole\"}]}"
```

Après avoir saisi la commande précédente, notez que la valeur `Arn` de la sortie de commande est « TaskRoleArn ». Vous devrez l'utiliser plus tard lorsque vous utiliserez la définition de tâche. Ensuite, entrez la commande suivante pour joindre les politiques nécessaires.

```
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
    --role-name CWAgentECSTaskRole
```

Cette commande suivante crée le rôle d'exécution de tâche ECS.

```
aws iam create-role --role-name CWAgentECSExecutionRole \
    --assume-role-policy-document "{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Sid\": \"\",\"Effect\": \"Allow\",\"Principal\": {\"Service\": \"ecs-tasks.amazonaws.com\"},\"Action\": \"sts:AssumeRole\"}]}"
```

Après avoir saisi la commande précédente, notez que la valeur `Arn` de la sortie de commande est « ExecutionRoleArn ». Vous devrez l'utiliser plus tard lorsque vous utiliserez la définition de tâche. Ensuite, entrez les commandes suivantes pour joindre les politiques nécessaires.

```
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
    --role-name CWAgentECSExecutionRole
          
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy \
    --role-name CWAgentECSExecutionRole
```

### Créer la définition de tâche et lancer le service de démon
<a name="deploy-container-insights-ECS-instancelevel-taskdefinition"></a>

Créez une définition de tâche et utilisez-la pour lancer l' CloudWatch agent en tant que service daemon. Pour créer la définition de tâche, entrez la commande suivante. Dans les premières lignes, remplacez les espaces réservés par les valeurs réelles de votre déploiement. *logs-region*est la région dans laquelle se trouve CloudWatch Logs et *cluster-region* la région dans laquelle se trouve votre cluster. *task-role-arn*est l'Arn du rôle de tâche ECS que vous utilisez et *execution-role-arn* l'Arn du rôle d'exécution de tâche ECS.

```
TaskRoleArn=task-role-arn
ExecutionRoleArn=execution-role-arn
AWSLogsRegion=logs-region
Region=cluster-region
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cwagent-ecs-instance-metric.json \
    | sed "s|{{task-role-arn}}|${TaskRoleArn}|;s|{{execution-role-arn}}|${ExecutionRoleArn}|;s|{{awslogs-region}}|${AWSLogsRegion}|" \
    | xargs -0 aws ecs register-task-definition --region ${Region} --cli-input-json
```

Ensuite, exécutez la commande suivante pour lancer le service de démon. Remplacez *cluster-name* et *cluster-region* par le nom et la région de votre cluster Amazon ECS.

**Important**  
Supprimez toutes les stratégies de fournisseur de capacité avant d’exécuter cette commande. Sinon, la commande ne fonctionnera pas.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs create-service \
    --cluster ${ClusterName} \
    --service-name cwagent-daemon-service \
    --task-definition ecs-cwagent-daemon-service \
    --scheduling-strategy DAEMON \
    --region ${Region}
```

Si vous voyez le message d'erreur `An error occurred (InvalidParameterException) when calling the CreateService operation: Creation of service was not idempotent`, cela signifie que vous avez déjà créé un service de démon nommé `cwagent-daemon-service`. Vous devez d'abord supprimer ce service, en utilisant la commande suivante comme exemple.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs delete-service \
    --cluster ${ClusterName} \
    --service cwagent-daemon-service \
    --region ${Region} \
    --force
```

### (En option) Configuration avancée
<a name="deploy-container-insights-ECS-instancelevel-advanced"></a>

Vous pouvez éventuellement utiliser SSM pour spécifier d'autres options de configuration pour l' CloudWatchagent dans vos clusters Amazon ECS hébergés sur des instances EC2. Les options sont les suivantes :
+ `metrics_collection_interval`— Fréquence en secondes à laquelle l' CloudWatch agent collecte des métriques. La valeur par défaut est 60. La plage est comprise entre 1 et 172 000.
+ `endpoint_override` – (En option) Spécifie un point de terminaison différent vers lequel envoyer les journaux. Vous pouvez effectuer cette opération si vous publiez à partir d'un cluster dans un VPC et souhaitez que les données des journaux soient transmises à un point de terminaison d'un VPC.

  La valeur de `endpoint_override` doit être une chaîne qui est une URL.
+ `force_flush_interval` – Spécifie en secondes la durée maximale pendant laquelle les journaux demeurent dans la mémoire tampon avant d'être envoyés au serveur. Quelle que soit la configuration de ce champ, si la taille des journaux dans la mémoire tampon atteint 1 Mo, les journaux sont immédiatement envoyés au serveur. La valeur par défaut est de 5 secondes.
+ `region` – Par défaut, l'agent publie des métriques dans la même région que celle où se trouve l'instance de conteneur Amazon ECS. Pour remplacer cela, vous pouvez spécifier une autre région ici. Par exemple, `"region" : "us-east-1"`

Voici un exemple de configuration personnalisée :

```
{
    "agent": {
        "region": "us-east-1"
    },
    "logs": {
        "metrics_collected": {
            "ecs": {
                "metrics_collection_interval": 30
            }
        },
        "force_flush_interval": 5
    }
}
```

**Pour personnaliser la configuration de votre CloudWatch agent dans vos conteneurs Amazon ECS**

1. Assurez-vous que la SSMRead OnlyAccess politique **Amazon** est attachée à votre rôle d'exécution de tâches Amazon ECS. Vous pouvez entrer la commande suivante pour ce faire. Cet exemple suppose que votre rôle d'exécution de tâches Amazon ECS est CWAgent ECSExecution Role. Si vous utilisez un rôle différent, remplacez ce nom dans la commande suivante.

   ```
   aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess \
           --role-name CWAgentECSExecutionRole
   ```

1. Créez le fichier de configuration personnalisé similaire à l'exemple précédent. Renommez le fichier `/tmp/ecs-cwagent-daemon-config.json`.

1. Exécutez la commande suivante pour placer cette configuration dans le Parameter Store. Remplacez *cluster-region* par la région de votre cluster Amazon ECS. Pour exécuter cette commande, vous devez être connecté à un utilisateur ou à un rôle soumis à la politique **Amazon SSMFull Access**.

   ```
   Region=cluster-region
   aws ssm put-parameter \
       --name "ecs-cwagent-daemon-service" \
       --type "String" \
       --value "`cat /tmp/ecs-cwagent-daemon-config.json`" \
       --region $Region
   ```

1. Téléchargez le fichier de définition de tâche dans un fichier local, tel que `/tmp/cwagent-ecs-instance-metric.json`

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric/cwagent-ecs-instance-metric.json -o /tmp/cwagent-ecs-instance-metric.json
   ```

1. Modifiez le fichier de définition de tâche. Supprimez la section suivante :

   ```
   "environment": [
                   {
                       "name": "USE_DEFAULT_CONFIG",
                       "value": "True"
                   }
               ],
   ```

   Remplacer cette section par ce qui suit :

   ```
   "secrets": [
                   {
                       "name": "CW_CONFIG_CONTENT",
                       "valueFrom": "ecs-cwagent-daemon-service"
                   }
               ],
   ```

1. Redémarrez l'agent en tant que service de démon en procédant comme suit :

   1. Exécutez la commande suivante.

      ```
      TaskRoleArn=task-role-arn
      ExecutionRoleArn=execution-role-arn
      AWSLogsRegion=logs-region
      Region=cluster-region
      cat /tmp/cwagent-ecs-instance-metric.json \
          | sed "s|{{task-role-arn}}|${TaskRoleArn}|;s|{{execution-role-arn}}|${ExecutionRoleArn}|;s|{{awslogs-region}}|${AWSLogsRegion}|" \
          | xargs -0 aws ecs register-task-definition --region ${Region} --cli-input-json
      ```

   1. Exécutez la commande suivante pour lancer le service de démon. Remplacez *cluster-name* et *cluster-region* par le nom et la région de votre cluster Amazon ECS.

      ```
      ClusterName=cluster-name
      Region=cluster-region
      aws ecs create-service \
          --cluster ${ClusterName} \
          --service-name cwagent-daemon-service \
          --task-definition ecs-cwagent-daemon-service \
          --scheduling-strategy DAEMON \
          --region ${Region}
      ```

      Si vous voyez le message d'erreur `An error occurred (InvalidParameterException) when calling the CreateService operation: Creation of service was not idempotent`, cela signifie que vous avez déjà créé un service de démon nommé `cwagent-daemon-service`. Vous devez d'abord supprimer ce service, en utilisant la commande suivante comme exemple.

      ```
      ClusterName=cluster-name
      Region=Region
      aws ecs delete-service \
          --cluster ${ClusterName} \
          --service cwagent-daemon-service \
          --region ${Region} \
          --force
      ```

# Déploiement de la AWS distribution pour collecter des métriques OpenTelemetry au niveau de l'instance EC2 sur des clusters Amazon ECS
<a name="deploy-container-insights-ECS-OTEL"></a>

Suivez les étapes décrites dans cette section pour utiliser AWS Distro pour collecter des métriques OpenTelemetry au niveau de l'instance EC2 sur un cluster Amazon ECS. Pour plus d'informations sur le AWS Distro for OpenTelemetry, voir [AWS Distro](https://aws.amazon.com/otel/) for. OpenTelemetry

Cette procédure suppose que vous avez déjà un cluster exécutant Amazon ECS. Ce cluster doit être déployé avec le type de lancement EC2. Pour plus d'informations sur l'utilisation de AWS Distro pour la télémétrie ouverte avec Amazon ECS et sur la configuration d'un cluster Amazon ECS à cette fin, consultez [Configuration de AWS Distro pour Collector OpenTelemetry dans Amazon Elastic Container Service pour les métriques au niveau des instances ECS EC2](https://aws-otel.github.io/docs/setup/ecs#3-setup-the-aws-otel-collector-for-ecs-ec2-instance-metrics). 

**Topics**
+ [Configuration rapide à l'aide de CloudFormation](#container-insights-ECS-OTEL-quicksetup)
+ [Configuration manuelle et personnalisée](#container-insights-ECS-OTEL-custom)

## Configuration rapide à l'aide de CloudFormation
<a name="container-insights-ECS-OTEL-quicksetup"></a>

Téléchargez le fichier CloudFormation modèle pour installer AWS Distro for OpenTelemetry Collector pour Amazon ECS sur EC2. Exécutez la commande curl suivante.

```
curl -O https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/ecs/aws-otel-ec2-instance-metrics-daemon-deployment-cfn.yaml
```

Après avoir téléchargé le fichier modèle, ouvrez-le et remplacez-le *PATH\$1TO\$1CloudFormation\$1TEMPLATE* par le chemin dans lequel vous l'avez enregistré. Exportez ensuite les paramètres suivants et exécutez la CloudFormation commande, comme indiqué dans la commande suivante.
+ **Cluster\$1Name**– Nom du cluster Amazon ECS
+ **AWS\$1RRégion** — La région où les données seront envoyées
+ **PATH\$1TO\$1 CloudFormation \$1TEMPLATE** — Le chemin dans lequel vous avez enregistré le fichier modèle. CloudFormation 
+ **commande** — Pour permettre au OpenTelemetry collecteur AWS Distro for de collecter les métriques au niveau de l'instance pour Amazon ECS sur Amazon EC2, vous devez spécifier ce paramètre. `--config=/etc/ecs/otel-instance-metrics-config.yaml`

```
ClusterName=Cluster_Name
Region=AWS_Region
command=--config=/etc/ecs/otel-instance-metrics-config.yaml
aws cloudformation create-stack --stack-name AOCECS-${ClusterName}-${Region} \
--template-body file://PATH_TO_CloudFormation_TEMPLATE \
--parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \
ParameterKey=CreateIAMRoles,ParameterValue=True \
ParameterKey=command,ParameterValue=${command} \
--capabilities CAPABILITY_NAMED_IAM \
--region ${Region}
```

Après avoir exécuté cette commande, utilisez la console Amazon ECS pour voir si la tâche est en cours d'exécution.

### Dépannage de la configuration rapide
<a name="container-insights-ECS-OTEL-quicksetup-troubleshooting"></a>

Pour vérifier l'état de la CloudFormation pile, entrez la commande suivante.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stack --stack-name AOCECS-$ClusterName-$Region --region $Region
```

Si la valeur de `StackStatus` ne correspond pas à `CREATE_COMPLETE` ou `CREATE_IN_PROGRESS`, vérifiez les événements de la pile pour trouver l'erreur. Entrez la commande suivante.

```
ClusterName=cluster-name
Region=cluster-region
aws cloudformation describe-stack-events --stack-name AOCECS-$ClusterName-$Region --region $Region
```

Pour vérifier l'état du service de démon `AOCECS`, saisissez la commande suivante. Dans la sortie, vous devriez voir que `runningCount` est égal au `desiredCount` dans la section « deployment » (déploiement). Si ce n'est pas égal, vérifiez la section « failures » (échecs) dans la sortie.

```
ClusterName=cluster-name
Region=cluster-region
aws ecs describe-services --services AOCECS-daemon-service --cluster $ClusterName --region $Region
```

Vous pouvez également utiliser la console CloudWatch Logs pour consulter le journal de l'agent. Recherchez le groupe**/aws/ecs/containerinsights/\$1ClusterName\$1/performance**log.

## Configuration manuelle et personnalisée
<a name="container-insights-ECS-OTEL-custom"></a>

Suivez les étapes décrites dans cette section pour déployer manuellement le AWS Distro afin de collecter des métriques OpenTelemetry au niveau de l'instance à partir de vos clusters Amazon ECS hébergés sur des instances Amazon EC2.

### Étape 1 : Rôles et politiques nécessaires
<a name="container-insights-ECS-OTEL-custom-iam"></a>

Deux rôles IAM sont requis. Vous devez les créer s'ils n'existent pas déjà. Pour plus d'informations sur les rôles, consultez [Créer une politique IAM](https://aws-otel.github.io/docs/setup/ecs/create-iam-policy) et [Créer un rôle IAM](https://aws-otel.github.io/docs/setup/ecs/create-iam-role).

### Étape 2 : Créer la définition de tâche
<a name="container-insights-ECS-OTEL-custom-task"></a>

Créez une définition de tâche et utilisez-la pour lancer la AWS distribution en OpenTelemetry tant que service daemon.

Pour utiliser le modèle de définition de tâche afin de créer la définition de tâche, suivez les instructions de la section [Créer une définition de tâche ECS EC2 pour une instance EC2 avec AWS OTel Collector](https://aws-otel.github.io/docs/setup/ecs/task-definition-for-ecs-ec2-instance).

Pour utiliser la console Amazon ECS afin de créer la définition de tâche, suivez les instructions de la section [Install AWS OTel Collector en créant une définition de tâche via AWS la console pour les métriques d'instance Amazon ECS EC2](https://aws-otel.github.io/docs/setup/ecs/create-task-definition-instance-console).

### Étape 3 : Lancer le service de démon
<a name="container-insights-ECS-OTEL-custom-launch"></a>

Pour lancer la AWS distribution en OpenTelemetry tant que service daemon, suivez les instructions de la section [Exécutez votre tâche sur l'Amazon Elastic Container Service (Amazon ECS) à l'aide du](https://aws-otel.github.io/docs/setup/ecs/run-daemon-service) service daemon.

### (En option) Configuration avancée
<a name="container-insights-ECS-OTEL-custom-advancdeconfig"></a>

Vous pouvez éventuellement utiliser SSM pour spécifier d'autres options de configuration pour la AWS distribution OpenTelemetry dans vos clusters Amazon ECS hébergés sur des instances Amazon EC2. Pour plus d'informations sur la création d'un fichier de configuration, voir [ OpenTelemetry Configuration personnalisée](https://aws-otel.github.io/docs/setup/ecs#5-custom-opentelemetry-configuration). Pour plus d'informations sur les options que vous pouvez utiliser dans le fichier de configuration, consultez [Récepteur Container Insights AWS](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/awscontainerinsightreceiver/README.md).

# Configurer FireLens pour envoyer des journaux à CloudWatch Logs
<a name="deploy-container-insights-ECS-logs"></a>

FireLens pour Amazon ECS vous permet d'utiliser les paramètres de définition des tâches pour acheminer les journaux vers Amazon Logs à CloudWatch des fins de stockage et d'analyse des journaux. FireLens fonctionne avec [Fluent Bit](https://fluentbit.io/) et [Fluentd](https://www.fluentd.org/). Nous fournissons une image AWS pour Fluent Bit, ou vous pouvez utiliser votre propre image Fluent Bit ou Fluentd. La création de définitions de tâches Amazon ECS avec une FireLens configuration est prise en charge à l' AWS SDKsaide des AWS CLI AWS Management Console Pour plus d'informations sur CloudWatch les journaux, voir [Qu'est-ce que CloudWatch les journaux ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) .

Certaines considérations clés doivent être prises en compte lors de FireLens l'utilisation d'Amazon ECS. Pour plus d'informations, consultez [Éléments](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-considerations).

Pour trouver les images AWS pour Fluent Bit, voir [Utilisation de l'image AWS pour Fluent Bit](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/firelens-using-fluentbit.html).

Pour créer une définition de tâche utilisant une FireLens configuration, voir [Création d'une définition de tâche utilisant une FireLens configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/firelens-taskdef.html).

**Exemple**

L'exemple de définition de tâche suivant montre comment spécifier une configuration de journal qui transfère les journaux à un groupe de CloudWatch journaux de journaux. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) dans le *guide de l'utilisateur d'Amazon CloudWatch Logs*.

Dans les options de configuration du journal, spécifiez le nom du groupe de journaux et la région dans laquelle il existe. Pour que Fluent Bit crée le groupe de journaux en votre nom, spécifiez `"auto_create_group":"true"`. Vous pouvez également spécifier l'ID de tâche comme préfixe de flux de journaux, qui facilite le filtrage. Pour plus d'informations, voir [Plug-in Fluent Bit pour CloudWatch les journaux](https://github.com/aws/amazon-cloudwatch-logs-for-fluent-bit/blob/mainline/README.md).

```
{
	"family": "firelens-example-cloudwatch",
	"taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role",
	"containerDefinitions": [
		{
			"essential": true,
			"image": "906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:latest",
			"name": "log_router",
			"firelensConfiguration": {
				"type": "fluentbit"
			},
			"logConfiguration": {
				"logDriver": "awslogs",
				"options": {
					"awslogs-group": "firelens-container",
					"awslogs-region": "us-west-2",
					"awslogs-create-group": "true",
					"awslogs-stream-prefix": "firelens"
				}
			},
			"memoryReservation": 50
		 },
		 {
			 "essential": true,
			 "image": "nginx",
			 "name": "app",
			 "logConfiguration": {
				 "logDriver":"awsfirelens",
				 "options": {
					"Name": "cloudwatch_logs",
					"region": "us-west-2",
					"log_key": "log",
                                 "log_group_name": "/aws/ecs/containerinsights/my-cluster/application",
					"auto_create_group": "true",
					"log_stream_name": "my-task-id"
				}
			},
			"memoryReservation": 100
		}
	]
}
```

# Configuration de Container Insights sur Amazon EKS et Kubernetes
<a name="deploy-container-insights-EKS"></a>

Container Insights est pris en charge sur les versions 1.23 et ultérieures d'Amazon EKS. La méthode d'installation rapide n'est prise en charge que sur les versions 1.24 et ultérieures.

Le processus général de configuration de Container Insights sur Amazon EKS ou Kubernetes est le suivant :

1. Vérifiez que vous disposez des prérequis nécessaires.

1. Configurez le module complémentaire Amazon CloudWatch Observability EKS, l' CloudWatch agent ou AWS Distro pour OpenTelemetry votre cluster auquel envoyer des métriques. CloudWatch 
**Note**  
Pour utiliser Container Insights avec une observabilité améliorée pour Amazon EKS, vous devez utiliser le module complémentaire Amazon CloudWatch Observability EKS ou l' CloudWatch agent. Pour plus d'informations sur cette version de Container Insights, veuillez consulter [Container Insights avec observabilité améliorée pour Amazon EKS](container-insights-detailed-metrics.md).  
Pour utiliser Container Insights avec Fargate, vous devez AWS utiliser Distro pour. OpenTelemetry Container Insights avec observabilité améliorée pour Amazon EKS n'est pas pris en charge sur Fargate.
**Note**  
Container Insights prend désormais en charge les nœuds de travail Windows dans un cluster Amazon EKS. Container Insights avec observabilité améliorée pour Amazon EKS est également pris en charge sur Windows. Pour plus d’informations sur l’activation de Container Insights sur Windows, consultez [Utilisation de l' CloudWatch agent avec l'observabilité améliorée de Container Insights activée](Container-Insights-EKS-agent.md).

   Pour utiliser Container Insights avec OpenTelemetry des métriques, installez la version complémentaire Amazon CloudWatch Observability EKS `v6.0.1-eksbuild.1` ou une version ultérieure. Pour de plus amples informations, veuillez consulter [Container Insights avec OpenTelemetry métriques pour Amazon EKS](container-insights-otel-metrics.md).

   Configurez Fluent Bit ou Fluentd pour envoyer les journaux à CloudWatch Logs. (Ceci est activé par défaut si vous installez le module complémentaire Amazon CloudWatch Observability EKS.)

   Vous pouvez effectuer ces étapes simultanément dans le cadre de la configuration de démarrage rapide si vous utilisez l' CloudWatch agent, ou les effectuer séparément.

1. (En option) Configurez la journalisation de plan de contrôle Amazon EKS.

1. (Facultatif) Configurez l' CloudWatch agent en tant que point de terminaison StatsD sur le cluster auquel envoyer les métriques StatsD. CloudWatch

1. (En option) Activez les journaux d'accès App Mesh Envoy.

Dans la version originale de Container Insights, les métriques collectées et les logs ingérés sont facturés en tant que métriques personnalisées. Grâce à Container Insights avec observabilité améliorée pour Amazon EKS, les métriques et les journaux de Container Insights sont facturés par observation au lieu d'être facturés par métrique stockée ou par journal ingéré. Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

**Topics**
+ [Vérification des conditions requises pour Container Insights dans CloudWatch](Container-Insights-prerequisites.md)
+ [Utilisation de l' CloudWatch agent avec l'observabilité améliorée de Container Insights activée](Container-Insights-EKS-agent.md)
+ [Utiliser AWS Distro pour OpenTelemetry](Container-Insights-EKS-otel.md)
+ [Envoyer des journaux à CloudWatch Logs](Container-Insights-EKS-logs.md)
+ [Mise à jour ou suppression de Container Insights sur Amazon EKS et Kubernetes](ContainerInsights-update-delete.md)

# Vérification des conditions requises pour Container Insights dans CloudWatch
<a name="Container-Insights-prerequisites"></a>

Avant d'installer Container Insights sur Amazon EKS ou Kubernetes, vérifiez les points suivants. Ces prérequis s'appliquent que vous utilisiez l' CloudWatch agent ou AWS Distro pour OpenTelemetry configurer Container Insights sur des clusters Amazon EKS.
+ Vous disposez d'un cluster Amazon EKS ou Kubernetes fonctionnel avec des nœuds attachés dans l'une des régions prenant en charge Container Insights pour Amazon EKS et Kubernetes. Pour obtenir la liste des régions prises en charge, consultez [Container Insights](ContainerInsights.md).
+ `kubectl` est installé et en cours d'exécution. Pour plus d'informations, consultez [Installation de `kubectl`](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) dans le *Guide de l'utilisateur Amazon EKS*.
+ Si vous utilisez Kubernetes en cours d'exécution au AWS lieu d'Amazon EKS, les conditions préalables suivantes sont également nécessaires :
  + Assurez-vous que votre cluster Kubernetes a activé le contrôle d'accès basé sur les rôles (RBAC). Pour plus d'informations, consultez [Using RBAC Authorization (Utilisation des autorisations de contrôle d'accès basé sur les rôle)](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) dans la documentation Reference de Kubernetes. 
  + Votre Kubelet a activé le mode d'autorisation Webhook. Pour plus d'informations, consultez [Kubelet authentication/authorization (Authentification/autorisation Kubelet)](https://kubernetes.io/docs/reference/access-authn-authz/kubelet-authn-authz/) dans la documentation Reference de Kubernetes.

Vous devez également accorder des autorisations IAM pour permettre à vos nœuds de travail Amazon EKS d'envoyer des métriques et des journaux à CloudWatch. Il existe deux façons de procéder :
+ Attachez une politique au rôle IAM de vos composants master. Cela fonctionne pour les clusters Amazon EKS et autres clusters Kubernetes.
+ Utilisez un rôle IAM pour les comptes de service pour le cluster et attachez la politique à ce rôle. Cela ne fonctionne que pour les clusters Amazon EKS.

La première option accorde des autorisations CloudWatch pour l'ensemble du nœud, tandis que l'utilisation d'un rôle IAM pour le compte de service donne CloudWatch accès uniquement aux pods daemonset appropriés.

**Attacher une politique au rôle IAM de vos composants master**

Procédez comme suit pour attacher la politique au rôle IAM de vos composants master. Cela fonctionne à la fois pour les clusters Amazon EKS et les clusters Kubernetes en dehors d'Amazon EKS. 

**Pour ajouter la politique nécessaire au rôle IAM pour vos composants master**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Sélectionnez l'une des instances de composant master, puis choisissez le rôle IAM dans la description.

1. Sur la page du rôle IAM, choisissez **Attach policies (Attacher des politiques)**.

1. Dans la liste des politiques, cochez la case située à côté de **CloudWatchAgentServerPolicy**. Si nécessaire, utilisez la zone de recherche pour trouver cette politique.

1. Choisissez **Attacher des politiques**.

Si vous exécutez un cluster Kubernetes à l'extérieur d'Amazon EKS, il est possible que vous n'ayez pas encore de rôle IAM attaché à vos composants master. Si tel est le cas, vous devez d'abord attacher le rôle IAM à l'instance, puis ajouter la politique comme expliqué dans les étapes précédentes. Pour plus d’informations sur l’association d’un rôle à une instance, consultez [Association d’un rôle IAM à une instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role) dans le *guide de l’utilisateur Amazon EC2*.

Si vous exécutez un cluster Kubernetes en dehors d'Amazon EKS et que vous souhaitez collecter le volume EBS IDs dans les métriques, vous devez ajouter une autre politique au rôle IAM attaché à l'instance. Ajoutez les éléments suivants en tant que politique en ligne. Pour plus d'informations, consultez [Ajout et suppression d'autorisations basées sur l'identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le *Guide de l'utilisateur IAM*.

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

****  

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

------

**Utilisation d'un rôle de compte de service IAM**

Cette méthode fonctionne uniquement sur les clusters Amazon EKS.

**Pour autoriser l' CloudWatch utilisation d'un rôle de compte de service IAM**

1. Si vous ne l'avez pas déjà fait, activez les rôles IAM pour les comptes de service sur votre cluster. Pour plus d'informations, consultez [Activation des rôles IAM pour les comptes de service sur votre cluster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html). 

1. Si vous ne l'avez pas encore fait, configurez le compte de service pour utiliser un rôle IAM. Pour plus d'informations, consultez [Configuration d'un compte de service Kubernetes pour assumer un rôle IAM](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html). 

   Lorsque vous créez le rôle, associez la stratégie **CloudWatchAgentServerPolicy**IAM au rôle en plus de la stratégie que vous créez pour le rôle. En outre, le compte de service Kubernetes associé associé à ce rôle doit être créé dans l'espace de `amazon-cloudwatch` noms, où les daemonsets CloudWatch et Fluent Bit seront déployés dans les prochaines étapes

1. Si vous ne l'avez pas déjà fait, associez le rôle IAM à un compte de service de votre cluster. Pour plus d'informations, consultez [Configuration d'un compte de service Kubernetes pour assumer un rôle IAM](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html).

# Utilisation de l' CloudWatch agent avec l'observabilité améliorée de Container Insights activée
<a name="Container-Insights-EKS-agent"></a>

Suivez les instructions de l'une des sections suivantes pour configurer Container Insights sur un cluster Amazon EKS ou un cluster Kubernetes à l'aide de l'agent. CloudWatch Les instructions de démarrage rapide ne sont prises en charge que sur les versions 1.24 et ultérieures d'Amazon EKS.

**Note**  
Vous pouvez installer Container Insights en suivant les instructions de l'une des sections suivantes. Vous n'avez pas besoin de suivre les trois séries d'instructions.

**Topics**
+ [Démarrage rapide avec le module complémentaire Amazon CloudWatch Observability EKS](Container-Insights-setup-EKS-addon.md)
+ [Configuration Quick Start pour Container Insights sur Amazon EKS et Kubernetes](Container-Insights-setup-EKS-quickstart.md)
+ [Configuration de l' CloudWatch agent pour collecter les métriques du cluster](Container-Insights-setup-metrics.md)

# Démarrage rapide avec le module complémentaire Amazon CloudWatch Observability EKS
<a name="Container-Insights-setup-EKS-addon"></a>

Vous pouvez utiliser l'add-on Amazon EKS afin d'installer Container Insights avec observabilité améliorée pour Amazon EKS. Le module complémentaire installe l' CloudWatch agent pour envoyer les métriques d'infrastructure depuis le cluster, installe Fluent Bit pour envoyer les journaux des conteneurs et permet également d' CloudWatch [Application Signals](CloudWatch-Application-Monitoring-Sections.md)envoyer la télémétrie des performances des applications.

Lorsque vous utilisez le module complémentaire Amazon EKS version 1.5.0 ou ultérieure, Container Insights est activé sur les nœuds de travail Linux et Windows du cluster. La vigie applicative n’est pas prise en charge sur Windows dans Amazon EKS.

L'add-on Amazon EKS n'est pas pris en charge pour les clusters exécutant Kubernetes au lieu d'Amazon EKS.

Pour plus d'informations sur le module complémentaire Amazon CloudWatch Observability EKS, consultez[Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md).

Si vous utilisez la version 3.1.0 ou ultérieure du module complémentaire, vous pouvez utiliser l’identité du pod EKS pour accorder les autorisations requises au module complémentaire. L’identité du pod EKS est l’option recommandée, car elle offre plusieurs avantages, notamment le moindre privilège, la rotation des informations d’identification et l’auditabilité. De plus, l’utilisation de l’identité du pod EKS vous permet d’installer le module complémentaire EKS dès la création du cluster.

**Pour installer le module complémentaire Amazon CloudWatch Observability EKS**

1. Suivez les étapes d’[association d’identité du pod EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-association.html#pod-id-association-create/) pour créer le rôle IAM et configurer l’agent d’identité du pod EKS.

1. Attachez une politique IAM qui accorde les autorisations requises à votre rôle. *my-role*Remplacez-le par le nom de votre rôle IAM indiqué à l'étape précédente.

   ```
   aws iam attach-role-policy \
    --role-name my-role \
   --policy-arn=arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
   ```

1. Entrez la commande suivante, en utilisant le rôle IAM que vous avez créé à l’étape précédente :

   ```
   aws eks create-addon \
   --addon-name amazon-cloudwatch-observability \
   --cluster-name my-cluster-name \
   --pod-identity-associations serviceAccount=cloudwatch-agent,roleArn=arn:aws:iam::111122223333:role/my-role
   ```

# Configuration Quick Start pour Container Insights sur Amazon EKS et Kubernetes
<a name="Container-Insights-setup-EKS-quickstart"></a>

**Important**  
Si vous installez Container Insights sur un cluster Amazon EKS, nous vous recommandons d'utiliser le module complémentaire Amazon CloudWatch Observability EKS pour l'installation, au lieu de suivre les instructions de cette section. En outre, pour récupérer des réseaux informatiques accélérés, vous devez utiliser le module complémentaire Amazon CloudWatch Observability EKS. Pour en savoir plus et des instructions, consultez [Démarrage rapide avec le module complémentaire Amazon CloudWatch Observability EKS](Container-Insights-setup-EKS-addon.md).

Pour terminer la configuration de Container Insights, vous pouvez suivre les instructions de démarrage rapide de cette section. Si vous effectuez une installation dans un cluster Amazon EKS et que vous suivez les instructions de cette section le 6 novembre 2023 ou après cette date, vous installez Container Insights avec observabilité améliorée pour Amazon EKS dans le cluster.

**Important**  
Avant d'exécuter la procédure indiquée dans cette section, vous devez satisfaire aux prérequis, y compris les autorisations IAM. Pour plus d'informations, consultez . [Vérification des conditions requises pour Container Insights dans CloudWatch](Container-Insights-prerequisites.md). 

Sinon, vous pouvez suivre les instructions des deux sections suivantes, [Configuration de l' CloudWatch agent pour collecter les métriques du cluster](Container-Insights-setup-metrics.md) et [Envoyer des journaux à CloudWatch Logs](Container-Insights-EKS-logs.md). Ces sections fournissent des informations de configuration supplémentaires sur le fonctionnement de l' CloudWatch agent avec Amazon EKS et Kubernetes, mais vous demandent d'effectuer d'autres étapes d'installation.

Dans la version originale de Container Insights, les métriques collectées et les logs ingérés sont facturés en tant que métriques personnalisées. Grâce à Container Insights avec observabilité améliorée pour Amazon EKS, les métriques et les journaux de Container Insights sont facturés par observation au lieu d'être facturés par métrique stockée ou par journal ingéré. Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

**Note**  
Amazon a maintenant lancé Fluent Bit comme solution de journal par défaut pour Container Insights avec des gains de performances importants. Nous vous recommandons d'utiliser Fluent Bit au lieu de Fluentd.

## Démarrage rapide avec l'opérateur de l' CloudWatch agent et Fluent Bit
<a name="Container-Insights-setup-EKS-quickstart-FluentBit"></a>

Il existe deux configurations pour Fluent Bit : une version optimisée et une version qui offre une expérience plus similaire à Fluentd. La configuration Quick Start utilise la version optimisée. Pour plus d'informations sur la configuration compatible Fluentd, consultez [Configurer Fluent Bit comme un DaemonSet pour envoyer des CloudWatch journaux à Logs](Container-Insights-setup-logs-FluentBit.md).

L'opérateur de l' CloudWatch agent est un conteneur supplémentaire qui est installé sur un cluster Amazon EKS. Il est calqué sur l' OpenTelemetry opérateur pour Kubernetes. L’opérateur gère le cycle de vie des ressources Kubernetes dans un cluster. Il installe l' CloudWatchagent, DCGM Exporter (NVIDIA) et le AWS Neuron Monitor sur un cluster Amazon EKS et les gère. Fluent Bit et l' CloudWatch agent pour Windows sont installés directement sur un cluster Amazon EKS sans que l'opérateur ne les gère. 

Pour une solution d'autorité de certification plus sécurisée et riche en fonctionnalités, l'opérateur de l' CloudWatch agent a besoin de cert-manager, une solution largement adoptée pour la gestion des certificats TLS dans Kubernetes. L’utilisation de cert-manager simplifie le processus d’obtention, de renouvellement, de gestion et d’utilisation de ces certificats. Il garantit la validité et la mise à jour des certificats et tente de les renouveler à une heure définie avant leur expiration. cert-manager facilite également l'émission de certificats provenant de diverses sources prises en charge, notamment AWS Certificate Manager Private Certificate Authority.

**Pour déployer Container Insights à l’aide du démarrage rapide**

1. Veuillez installer cert-manager s’il n’est pas déjà installé dans le cluster. Pour plus d’informations, consultez [Installation de cert-manager](https://cert-manager.io/docs/installation/).

1. Veuillez installer les définitions de ressources personnalisées (CRD) en entrant la commande suivante.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl apply --server-side -f -
   ```

1. Installez l’opérateur en saisissant la commande suivante. *my-cluster-name*Remplacez-le par le nom de votre cluster Amazon EKS ou Kubernetes, puis par le nom *my-cluster-region* de la région dans laquelle les journaux sont publiés. Nous vous recommandons d'utiliser la même région que celle dans laquelle votre cluster est déployé afin de réduire les coûts de transfert de données AWS sortants.

   ```
   ClusterName=my-cluster-name
   RegionName=my-cluster-region
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -
   ```

   Par exemple, pour déployer Container Insights sur le cluster nommé `MyCluster` et publier les journaux et les métriques dans USA Ouest (Oregon), entrez la commande suivante.

   ```
   ClusterName='MyCluster'
   RegionName='us-west-2'
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -
   ```

**Migration depuis Container Insights**

Si vous avez déjà configuré Container Insights dans un cluster Amazon EKS et que vous voulez migrer vers Container Insights avec une observabilité améliorée pour Amazon EKS, consultez [Mise à niveau vers Container Insights avec une meilleure observabilité pour Amazon EKS dans CloudWatch](Container-Insights-upgrade-enhanced.md)

**Suppression de Container Insights**

Si vous souhaitez supprimer Container Insights après avoir utilisé la configuration de démarrage rapide, entrez les commandes suivantes.

```
ClusterName=my-cluster-name 
RegionName=my-cluster-region
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl delete -f -
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl delete -f -
```

# Configuration de l' CloudWatch agent pour collecter les métriques du cluster
<a name="Container-Insights-setup-metrics"></a>

**Important**  
Si vous installez Container Insights sur un cluster Amazon EKS, nous vous recommandons d'utiliser le module complémentaire Amazon CloudWatch Observability EKS pour l'installation, au lieu de suivre les instructions de cette section. Pour en savoir plus et des instructions, consultez [Démarrage rapide avec le module complémentaire Amazon CloudWatch Observability EKS](Container-Insights-setup-EKS-addon.md).

Pour configurer Container Insights afin de collecter des métriques, vous pouvez suivre les étapes de [Configuration Quick Start pour Container Insights sur Amazon EKS et Kubernetes](Container-Insights-setup-EKS-quickstart.md) ou les étapes de cette section. Dans les étapes suivantes, vous configurez l' CloudWatch agent pour qu'il soit en mesure de collecter des métriques à partir de vos clusters.

Si vous effectuez une installation dans un cluster Amazon EKS et que vous suivez les instructions de cette section le 6 novembre 2023 ou après cette date, vous installez Container Insights avec observabilité améliorée pour Amazon EKS dans le cluster.

## Étape 1 : créer un espace de noms pour CloudWatch
<a name="create-namespace-metrics"></a>

Procédez comme suit pour créer l'espace de noms Kubernetes demandé. `amazon-cloudwatch` CloudWatch Vous pouvez ignorer cette étape si vous avez déjà créé cet espace de noms.

**Pour créer un espace de noms pour CloudWatch**
+ Entrez la commande suivante.

  ```
  kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cloudwatch-namespace.yaml
  ```

## Étape 2 : Créer un compte de service dans le cluster
<a name="create-service-account"></a>

Utilisez l'une des méthodes suivantes pour créer un compte de service pour l' CloudWatch agent, si vous n'en avez pas déjà un.
+ Utilisation des `kubectl`
+ Utiliser un fichier `kubeconfig`

### Utiliser `kubectl` pour l’authentification
<a name="use-kubectl"></a>

**À utiliser `kubectl` pour créer un compte de service pour l' CloudWatch agent**
+ Entrez la commande suivante.

  ```
  kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-serviceaccount.yaml
  ```

Si vous n'avez pas suivi les étapes précédentes, mais que vous possédez déjà un compte de service pour l' CloudWatch agent que vous souhaitez utiliser, vous devez vous assurer qu'il respecte les règles suivantes. En outre, lors des autres étapes d'installation de Container Insights, vous devez utiliser le nom de ce compte de service au lieu de `cloudwatch-agent`.

```
rules:
  - apiGroups: [""]
    resources: ["pods", "nodes", "endpoints"]
    verbs: ["list", "watch"]
  - apiGroups: [ "" ]
    resources: [ "services" ]
    verbs: [ "list", "watch" ]
  - apiGroups: ["apps"]
    resources: ["replicasets", "daemonsets", "deployments", "statefulsets"]
    verbs: ["list", "watch"]
  - apiGroups: ["batch"]
    resources: ["jobs"]
    verbs: ["list", "watch"]
  - apiGroups: [""]
    resources: ["nodes/proxy"]
    verbs: ["get"]
  - apiGroups: [""]
    resources: ["nodes/stats", "configmaps", "events"]
    verbs: ["create", "get"]
  - apiGroups: [""]
    resources: ["configmaps"]
    resourceNames: ["cwagent-clusterleader"]
    verbs: ["get","update"]
  - nonResourceURLs: ["/metrics"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [ "discovery.k8s.io" ]
    resources: [ "endpointslices" ]
    verbs: [ "list", "watch", "get" ]
```

### Utiliser `kubeconfig` pour l’authentification
<a name="use-kubeconfig"></a>

Vous pouvez également utiliser un fichier `kubeconfig` pour l’authentification. Cette méthode vous permet de ne pas avoir besoin d'un compte de service en spécifiant directement le `kubeconfig` chemin dans la configuration de votre CloudWatch agent. Elle vous permet également de supprimer votre dépendance à l’API du plan de contrôle Kubernetes pour l’authentification, ce qui simplifie votre configuration et peut potentiellement renforcer la sécurité en gérant l’authentification via votre fichier kubeconfig. 

Pour utiliser cette méthode, mettez à jour le fichier de configuration de votre CloudWatch agent afin de spécifier le chemin d'accès à votre `kubeconfig` fichier, comme dans l'exemple suivant.

```
{
  "logs": {
    "metrics_collected": {
      "kubernetes": {
        "cluster_name": "YOUR_CLUSTER_NAME",
        "enhanced_container_insights": false,
        "accelerated_compute_metrics": false,
        "tag_service": false,
        "kube_config_path": "/path/to/your/kubeconfig" 
        "host_ip": "HOSTIP"
      }
    }
  }
}
```

Pour créer un fichier `kubeconfig`, créez une requête de signature de certificat (CSR) pour l’utilisateur `admin/{create_your_own_user}` avec le rôle Kubernetes `system:masters`. Signez ensuite avec l’autorité de certification (CA) du cluster Kubernetes et créez le fichier `kubeconfig`.

## Étape 3 : créer un ConfigMap pour l' CloudWatch agent
<a name="create-configmap"></a>

Suivez les étapes ci-dessous pour créer un ConfigMap pour l' CloudWatch agent.

**Pour créer un ConfigMap pour l' CloudWatch agent**

1. Téléchargez le ConfigMap fichier YAML sur votre hôte `kubectl` client en exécutant la commande suivante :

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-configmap-enhanced.yaml
   ```

1. Modifiez le fichier YAML téléchargé comme suit :
   + **cluster\$1name** – Dans la section `kubernetes`, remplacez `{{cluster_name}}` par le nom de votre cluster. Supprimez les caractères `{{}}`. Sinon, si vous utilisez un cluster Amazon EKS, vous pouvez supprimer le champ `"cluster_name"` et sa valeur. Dans ce cas, l' CloudWatch agent détecte le nom du cluster dans les balises Amazon EC2.

1. (Facultatif) Apportez d'autres modifications au ConfigMap en fonction de vos besoins en matière de surveillance, comme suit :
   + **metrics\$1collection\$1interval** – Dans la section `kubernetes`, vous pouvez spécifier à quelle fréquence l'agent collecte les métriques. Le durée par défaut est de 60 secondes. Dans kubelet, l'intervalle de collecte par défaut (via cadvisor) est de 15 secondes, vous ne devez donc pas définir cette valeur sur moins de 15 secondes.
   + **endpoint\$1override** — Dans la `logs` section, vous pouvez spécifier le point de terminaison CloudWatch Logs si vous souhaitez remplacer le point de terminaison par défaut. Vous pouvez effectuer cette opération si vous publiez à partir d'un cluster dans un VPC et souhaitez que les données soient transmises à un point de terminaison d'un VPC.
   + **force\$1flush\$1interval** — Dans `logs` cette section, vous pouvez spécifier l'intervalle de traitement par lots des événements du journal avant leur publication dans Logs. CloudWatch Le durée par défaut est 5 secondes.
   + **region** – Par défaut, l'agent a publié les métriques dans la région où se trouve le composant master. Pour contourner ce problème; vous pouvez ajouter un champ `region` dans la section `agent` : par exemple, `"region":"us-west-2"`.
   + section **statsd** — Si vous souhaitez que l'agent CloudWatch Logs s'exécute également en tant qu'écouteur StatsD dans chaque nœud de travail de votre cluster, vous pouvez ajouter `statsd` une section à `metrics` la section, comme dans l'exemple suivant. Pour plus d'informations sur les autres options StatsD pour cette section, consultez [Récupération de métriques personnalisées avec StatsD](CloudWatch-Agent-custom-metrics-statsd.md).

     ```
     "metrics": {
       "metrics_collected": {
         "statsd": {
           "service_address":":8125"
         }
       }
     }
     ```

     Voici un exemple complet de la section de code JSON. Si vous utilisez un fichier `kubeconfig` pour l’authentification, ajoutez le paramètre `kube_config_path` pour spécifier le chemin d’accès à votre fichier kubeconfig.

     ```
     {
         "agent": {
             "region": "us-east-1"
         },
         "logs": {
             "metrics_collected": {
                 "kubernetes": {
                     "cluster_name": "MyCluster",
                     "metrics_collection_interval": 60,
                     "kube_config_path": "/path/to/your/kubeconfig" //if using kubeconfig for authentication
                 }
             },
             "force_flush_interval": 5,
             "endpoint_override": "logs.us-east-1.amazonaws.com"
         },
         "metrics": {
             "metrics_collected": {
                 "statsd": {
                     "service_address": ":8125"
                 }
             }
         }
     }
     ```

1. Créez le ConfigMap dans le cluster en exécutant la commande suivante.

   ```
   kubectl apply -f cwagent-configmap-enhanced.yaml
   ```

## Étape 4 : Déployer l' CloudWatch agent en tant que DaemonSet
<a name="deploy-agent-yaml"></a>

Pour terminer l'installation de l' CloudWatch agent et commencer à collecter les métriques du conteneur, procédez comme suit.

**Pour déployer l' CloudWatch agent en tant que DaemonSet**

1. 
   + Si vous ne souhaitez pas utiliser StatsD sur le cluster, entrez la commande suivante.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-daemonset.yaml
     ```
   + Si vous souhaitez utiliser StatsD, procédez comme suit :

     1. Téléchargez le DaemonSet fichier YAML sur votre hôte `kubectl` client en exécutant la commande suivante.

        ```
        curl -O  https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-daemonset.yaml
        ```

     1. Supprimez la mise en commentaire de la section `port` dans le fichier `cwagent-daemonset.yaml` comme dans l'exemple suivant : 

        ```
        ports:
          - containerPort: 8125
            hostPort: 8125
            protocol: UDP
        ```

     1. Déployez l' CloudWatch agent dans votre cluster en exécutant la commande suivante.

        ```
        kubectl apply -f cwagent-daemonset.yaml
        ```

     1. Déployez l' CloudWatch agent sur les nœuds Windows de votre cluster en exécutant la commande suivante. L'écouteur StatsD n'est pas pris en charge par l' CloudWatch agent sous Windows.

        ```
        kubectl apply -f cwagent-daemonset-windows.yaml
        ```

1. Assurez-vous que l'agent est déployé en exécutant la commande suivante.

   ```
   kubectl get pods -n amazon-cloudwatch
   ```

Une fois terminé, l' CloudWatch agent crée un groupe de journaux nommé `/aws/containerinsights/Cluster_Name/performance` et envoie les événements du journal des performances à ce groupe de journaux. Si vous avez également configuré l'agent en tant que port d'écoute StatsD, l'agent écoute également les métriques StatsD sur le port 8125 avec l'adresse IP du nœud dans lequel le pod d'application est programmé.

### Résolution des problèmes
<a name="ContainerInsights-deploy-troubleshooting"></a>

Si l'agent ne se déploie pas correctement, essayez ce qui suit :
+ Exécutez la commande suivante pour obtenir la liste des pods.

  ```
  kubectl get pods -n amazon-cloudwatch
  ```
+ Exécutez la commande suivante et vérifiez les événements au bas de la sortie.

  ```
  kubectl describe pod pod-name -n amazon-cloudwatch
  ```
+ Exécutez la commande suivante pour vérifier les journaux.

  ```
  kubectl logs pod-name  -n amazon-cloudwatch
  ```

# Utiliser AWS Distro pour OpenTelemetry
<a name="Container-Insights-EKS-otel"></a>

Vous pouvez configurer Container Insights pour collecter des métriques à partir de clusters Amazon EKS à l'aide de AWS Distro for OpenTelemetry Collector. Pour plus d'informations sur la AWS distribution pour OpenTelemetry, consultez la section [AWS Distribution](https://aws.amazon.com/otel/) pour. OpenTelemetry 

**Important**  
Si vous effectuez l'installation à l'aide de AWS Distro for OpenTelemetry, vous installez Container Insights mais vous ne bénéficiez pas de Container Insights avec une observabilité améliorée pour Amazon EKS. Vous ne collecterez pas les métriques détaillées prises en charge dans Container Insights avec observabilité améliorée pour Amazon EKS.

La façon dont vous configurez Container Insights dépend de si le cluster est hébergé sur des instances Amazon EC2 ou sur AWS Fargate.

## Clusters Amazon EKS hébergés sur Amazon EC2
<a name="Container-Insights-EKS-otel-EC2"></a>

Si vous ne l'avez pas déjà fait, veillez à vous assurer que vous avez satisfait aux prérequis, y compris les rôles IAM nécessaires. Pour de plus amples informations, veuillez consulter [Vérification des conditions requises pour Container Insights dans CloudWatch](Container-Insights-prerequisites.md).

Amazon fournit les Charts de Helm que vous pouvez utiliser pour configurer la surveillance d'Amazon Elastic Kubernetes Service sur Amazon EC2. Cette surveillance utilise le collecteur AWS Distro for OpenTelemetry (ADOT) pour les métriques et Fluent Bit pour les journaux. Le graphique Helm est donc utile pour les clients qui utilisent Amazon EKS sur Amazon EC2 et qui souhaitent collecter des métriques et des journaux à envoyer à CloudWatch Container Insights. Pour plus d'informations sur ce graphique Helm, consultez le graphique [ADOT Helm pour EKS sur les métriques EC2 et les journaux sur Amazon CloudWatch Container Insights](https://github.com/aws-observability/aws-otel-helm-charts/tree/main/charts/adot-exporter-for-eks-on-ec2). 

Sinon, vous pouvez utiliser les instructions du reste de cette section.

Déployez d'abord le AWS Distro for OpenTelemetry Collector sous forme de DaemonSet fichier en saisissant la commande suivante. 

```
curl https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/eks/otel-container-insights-infra.yaml |
kubectl apply -f -
```

Pour vérifier que le collecteur est en cours d'exécution, saisissez la commande suivante.

```
kubectl get pods -l name=aws-otel-eks-ci -n aws-otel-eks
```

Si la sortie de cette commande inclut plusieurs pods à l'état `Running`, le collecteur est en cours d'exécution et collecte des métriques à partir du cluster. Le collecteur crée un groupe de journaux nommé `aws/containerinsights/cluster-name/performance` et lui envoie les événements de journaux des performances.

Pour plus d'informations sur la façon d'afficher vos métriques Container Insights dans CloudWatch, consultez[Affichage des métriques dans Container Insights](Container-Insights-view-metrics.md).

AWS a également fourni de la documentation sur GitHub ce scénario. Si vous souhaitez personnaliser les métriques et les journaux publiés par Container Insights, consultez [https://aws-otel.github. io/docs/getting-started/container-insights/eks-infra](https://aws-otel.github.io/docs/getting-started/container-insights/eks-infra).

## Clusters Amazon EKS hébergés sur Fargate
<a name="Container-Insights-EKS-otel-Fargate"></a>

Pour savoir comment configurer et déployer un collecteur ADOT afin de collecter les métriques du système à partir des charges de travail déployées sur un cluster Amazon EKS sur Fargate et de les envoyer à Container Insights, consultez CloudWatch Container [Insights EKS Fargate](https://aws-otel.github.io/docs/getting-started/container-insights/eks-fargate) in the Distro pour obtenir de la documentation. AWS OpenTelemetry

# Envoyer des journaux à CloudWatch Logs
<a name="Container-Insights-EKS-logs"></a>

Pour envoyer les journaux de vos conteneurs vers Amazon CloudWatch Logs, vous pouvez utiliser Fluent Bit. Pour plus d’informations, consultez [Fluent Bit](https://fluentbit.io/).

**Note**  
Depuis le 10 février 2025, AWS a cessé de prendre en charge FluentD en tant que redirecteur de journaux vers Logs. CloudWatch Nous vous recommandons d’utiliser Fluent Bit, qui est une alternative légère et économe en ressources. Les déploiements FluentD existants continueront de fonctionner. Veuillez migrer votre pipeline de journalisation vers Fluent Bit afin de garantir une prise en charge continue et des performances optimales.   
Container Insights prenait auparavant également en charge l’utilisation de FluentD pour envoyer des journaux depuis vos conteneurs. FluentD a été abandonné et n’est désormais plus pris en charge pour Container Insights. Veuillez utiliser Fluent Bit à la place.

**Topics**
+ [Configurer Fluent Bit comme un DaemonSet pour envoyer des CloudWatch journaux à Logs](Container-Insights-setup-logs-FluentBit.md)
+ [(En option) Configurez la journalisation de plan de contrôle Amazon EKS](Container-Insights-setup-control-plane-logging.md)
+ [(En option) Activez la fonction Use\$1Kubelet pour les grands clusters](ContainerInsights-use-kubelet.md)

# Configurer Fluent Bit comme un DaemonSet pour envoyer des CloudWatch journaux à Logs
<a name="Container-Insights-setup-logs-FluentBit"></a>

Les sections suivantes vous aident à déployer Fluent Bit pour envoyer des journaux depuis des conteneurs vers CloudWatch des journaux.

**Topics**
+ [Configuration de Fluent Bit](#Container-Insights-FluentBit-setup)
+ [Prise en charge des journaux multilignes](#ContainerInsights-fluentbit-multiline)
+ [(En option) Réduction du volume des journaux de Fluent Bit](#ContainerInsights-fluentbit-volume)
+ [Résolution des problèmes](#Container-Insights-FluentBit-troubleshoot)
+ [Tableau de bord](#Container-Insights-FluentBit-dashboard)

## Configuration de Fluent Bit
<a name="Container-Insights-FluentBit-setup"></a>

Pour configurer Fluent Bit afin de collecter les journaux de vos conteneurs, vous pouvez suivre les étapes de [Configuration Quick Start pour Container Insights sur Amazon EKS et Kubernetes](Container-Insights-setup-EKS-quickstart.md) ou celles de cette section.

Avec l'une ou l'autre méthode, le rôle IAM qui est attaché au nœuds du cluster doit disposer d'autorisations suffisantes. Pour plus d'informations sur les autorisations requises pour exécuter un cluster Amazon EKS, consultez [Politiques, rôles et autorisations IAM Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/IAM_policies.html) dans le *Guide de l'utilisateur Amazon EKS*.

Dans les étapes suivantes, vous allez configurer Fluent Bit en tant que DaemonSet pour envoyer des journaux à Logs. CloudWatch Une fois que vous avez terminé cette étape, Fluent Bit crée les groupes de journaux suivants, s'ils n'existent pas déjà.

**Important**  
Si FluentD est déjà configuré dans Container Insights et que le FluentD ne fonctionne pas comme prévu (cela peut se produire si vous utilisez le moteur d'exécution), vous devez `containerd` le désinstaller avant d'installer DaemonSet FluentD pour empêcher FluentD de traiter les messages du journal d'erreurs FluentD. Sinon, vous devez désinstaller Fluentd immédiatement après avoir installé Fluent Bit. La désinstallation de Fluentd après l’installation de Fluent Bit garantit la continuité de la journalisation pendant ce processus de migration. Un seul Fluent Bit ou FluentD est nécessaire pour envoyer des journaux à Logs. CloudWatch 


| Nom du groupe de journaux | Source des journaux | 
| --- | --- | 
|  `/aws/containerinsights/Cluster_Name/application`  |  Tous les fichiers journaux situés dans `/var/log/containers`  | 
|  `/aws/containerinsights/Cluster_Name/host`  |  Journaux provenant de `/var/log/dmesg`, `/var/log/secure` et `/var/log/messages`  | 
|  `/aws/containerinsights/Cluster_Name/dataplane`  |  Les journaux dans `/var/log/journal` pour `kubelet.service`, `kubeproxy.service` et `docker.service`.  | 

**Pour installer Fluent Bit pour envoyer des journaux depuis des conteneurs vers des CloudWatch journaux**

1. Si vous n'avez pas encore d'espace de noms appelé `amazon-cloudwatch`, créez-en un en saisissant la commande suivante :

   ```
   kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cloudwatch-namespace.yaml
   ```

1. Exécutez la commande suivante pour créer un ConfigMap nom `cluster-info` avec le nom du cluster et la région à laquelle envoyer les journaux. Remplacez *cluster-name* et *cluster-region* par le nom et la région de votre cluster.

   ```
   ClusterName=cluster-name
   RegionName=cluster-region
   FluentBitHttpPort='2020'
   FluentBitReadFromHead='Off'
   [[ ${FluentBitReadFromHead} = 'On' ]] && FluentBitReadFromTail='Off'|| FluentBitReadFromTail='On'
   [[ -z ${FluentBitHttpPort} ]] && FluentBitHttpServer='Off' || FluentBitHttpServer='On'
   kubectl create configmap fluent-bit-cluster-info \
   --from-literal=cluster.name=${ClusterName} \
   --from-literal=http.server=${FluentBitHttpServer} \
   --from-literal=http.port=${FluentBitHttpPort} \
   --from-literal=read.head=${FluentBitReadFromHead} \
   --from-literal=read.tail=${FluentBitReadFromTail} \
   --from-literal=logs.region=${RegionName} -n amazon-cloudwatch
   ```

   Dans cette commande, le `FluentBitHttpServer` permettant de surveiller les métriques de plugin est activé par défaut. Pour le désactiver, remplacez la troisième ligne de la commande par `FluentBitHttpPort=''` (chaîne vide) dans la commande.

   Également par défaut, Fluent Bit lit les fichiers journaux de processus, et ne capture que les nouveaux journaux après son déploiement. Si vous souhaitez faire le contraire, définissez `FluentBitReadFromHead='On'` et il va collecter tous les journaux dans le système de fichiers.

1. Téléchargez et déployez le daemonset Fluent Bit sur le cluster en exécutant l'une des commandes suivantes.
   + Si vous voulez obtenir la configuration optimisée de Fluent Bit pour les ordinateurs Linux, exécutez cette commande.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluent-bit/fluent-bit.yaml
     ```
   + Si vous voulez obtenir la configuration optimisée de Fluent Bit pour les ordinateurs Windows, exécutez cette commande.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluent-bit/fluent-bit-windows.yaml
     ```
   + Si vous utilisez des ordinateurs Linux et voulez la configuration Fluent Bit la plus similaire à Fluentd, exécutez cette commande.

     ```
     kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/fluent-bit/fluent-bit-compatible.yaml
     ```
**Important**  
La configuration du daemonset Fluent Bit définit par défaut le niveau de journalisation sur INFO, ce qui peut entraîner des coûts d'ingestion de CloudWatch logs plus élevés. Si vous souhaitez réduire le volume et les coûts d'ingestion des journaux, vous pouvez modifier le niveau de journal sur ERROR.  
Pour plus d'informations sur la réduction du volume des journaux, consultez [(En option) Réduction du volume des journaux de Fluent Bit](#ContainerInsights-fluentbit-volume)

1. Validez le déploiement en entrant la commande suivante. Chaque nœud doit avoir un pod nommé **fluent-bit-\$1**.

   ```
   kubectl get pods -n amazon-cloudwatch
   ```

Les étapes ci-dessus créent les ressources suivantes dans le cluster :
+ Un compte de service nommé `Fluent-Bit` dans l'espace de noms `amazon-cloudwatch`. Ce compte de service est utilisé pour exécuter le daemonSet Fluent Bit. Pour plus d'informations, consultez [Managing Service Accounts (Gestion des comptes de service)](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/) dans la documentation Reference de Kubernetes.
+ Un rôle de cluster rôle nommé `Fluent-Bit-role` dans l'espace de noms `amazon-cloudwatch`. Ce rôle de cluster octroie des autorisations `get`, `list` et `watch` sur les journaux de pod au compte de service `Fluent-Bit`. Pour plus d'informations, consultez [API Overview (Présentation de l'API)](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#api-overview/) dans la documentation Reference de Kubernetes.task
+ Un ConfigMap nommé `Fluent-Bit-config` dans l'espace de `amazon-cloudwatch` noms. Il ConfigMap contient la configuration à utiliser par Fluent Bit. Pour plus d'informations, consultez [Configurer un pod pour utiliser un ConfigMap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/) dans la documentation des tâches Kubernetes.

Si vous souhaitez vérifier votre configuration Fluent Bit, procédez comme suit.

**Vérifier la configuration Fluent Bit**

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

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

1. Assurez-vous que vous êtes dans la région où vous avez déployé Fluent Bit.

1. Vérifiez la liste des groupes de journaux dans la région. Vous devez voir ce qui suit :
   + `/aws/containerinsights/Cluster_Name/application`
   + `/aws/containerinsights/Cluster_Name/host`
   + `/aws/containerinsights/Cluster_Name/dataplane`

1. Accédez à l'un de ces groupes de journaux et cochez la case **Last Event Time (Heure du dernier événement)** pour les flux de journaux. S'il est récent par rapport au moment où vous avez déployé Fluent Bi , la configuration est vérifiée.

   Il peut y avoir un léger retard dans la création du groupe de journaux `/dataplane`. Ceci est normal, car ces groupes de journaux ne sont créés que lorsque Fluent Bit commence à envoyer des journaux pour ce groupe de journaux.

## Prise en charge des journaux multilignes
<a name="ContainerInsights-fluentbit-multiline"></a>

Pour plus d'informations sur l'utilisation de Fluent Bit avec des journaux multilignes, consultez les sections suivantes de la documentation Fluent Bit :
+ [Multiline Parsing](https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/multiline-parsing)
+ [Multiline and Containers (v1.8)](https://docs.fluentbit.io/manual/pipeline/inputs/tail#multiline-and-containers-v1.8)
+ [Multiline Core (v1.8)](https://docs.fluentbit.io/manual/pipeline/inputs/tail#multiline-core-v1.8)
+ [Always use multiline in the tail input](https://github.com/aws/aws-for-fluent-bit/blob/mainline/troubleshooting/debugging.md#always-use-multiline-the-tail-input)

## (En option) Réduction du volume des journaux de Fluent Bit
<a name="ContainerInsights-fluentbit-volume"></a>

Par défaut, nous envoyons les journaux des applications Fluent Bit et les métadonnées Kubernetes à. CloudWatch Si vous souhaitez réduire le volume de données à destination CloudWatch, vous pouvez arrêter l'envoi à l'une de ces sources de données ou aux deux CloudWatch. Si vous avez suivi les étapes décrites sur cette page pour configurer Fluent Bit, téléchargez le fichier YAML du manifeste Kubernetes à partir de la commande kubectl `apply` que vous avez précédemment exécutée et modifiez-le en fonction de vos changements, que vous pouvez ensuite réappliquer à votre cluster. Sinon, si vous utilisez le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm, consultez [(Facultatif) Configuration supplémentaire](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration) pour plus d'informations sur la gestion de la configuration Fluent Bit à l'aide de la configuration avancée du module complémentaire ou du graphique Helm.

Pour arrêter les journaux d'application Fluent Bit, supprimez la section suivante du fichier `Fluent Bit configuration`.

```
[INPUT]
        Name                tail
        Tag                 application.*
        Path                /var/log/containers/fluent-bit*
        Parser              docker
        DB                  /fluent-bit/state/flb_log.db
        Mem_Buf_Limit       5MB
        Skip_Long_Lines     On
        Refresh_Interval    10
```

Pour empêcher l'ajout de métadonnées Kubernetes aux événements de journal envoyés à CloudWatch, ajoutez les filtres suivants à la `application-log.conf` section de la configuration Fluent Bit. Remplacez *<Metadata\$11>* les champs similaires par les identificateurs de métadonnées réels.

```
application-log.conf: |
    [FILTER]
        Name                nest
        Match               application.*
        Operation           lift
        Nested_under        kubernetes
        Add_prefix          Kube.

    [FILTER]
        Name                modify
        Match               application.*
        Remove              Kube.<Metadata_1>
        Remove              Kube.<Metadata_2>
        Remove              Kube.<Metadata_3>
    
    [FILTER]
        Name                nest
        Match               application.*
        Operation           nest
        Wildcard            Kube.*
        Nested_under        kubernetes
        Remove_prefix       Kube.
```

## Résolution des problèmes
<a name="Container-Insights-FluentBit-troubleshoot"></a>

Si vous ne voyez pas ces groupes de journaux et si vous les cherchez dans la bonne région, vérifiez les journaux correspondant aux pods du daemonSet Fluent Bit pour identifier l'erreur.

Exécutez la commande suivante et vérifiez que l'état est `Running`.

```
kubectl get pods -n amazon-cloudwatch
```

Si les journaux contiennent des erreurs liées aux autorisations IAM, vérifiez le rôle IAM qui est attaché au nœuds du cluster. Pour plus d'informations sur les autorisations requises pour exécuter un cluster Amazon EKS, consultez [Politiques, rôles et autorisations IAM Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/IAM_policies.html) dans le *Guide de l'utilisateur Amazon EKS*.

Si l'état du pod est `CreateContainerConfigError`, exécutez la commande suivante pour obtenir l'erreur exacte.

```
kubectl describe pod pod_name -n amazon-cloudwatch
```

## Tableau de bord
<a name="Container-Insights-FluentBit-dashboard"></a>

Vous pouvez créer un tableau de bord pour surveiller les métriques de chaque plugin en cours d'exécution. Vous pouvez consulter les données relatives aux octets d'entrée et de sortie et aux taux de traitement des enregistrements, ainsi que les erreurs et les retry/failed taux de sortie. Pour consulter ces métriques, vous devez installer l' CloudWatch agent avec la collecte de métriques Prometheus pour les clusters Amazon EKS et Kubernetes. Pour plus d'informations sur la configuration du tableau de bord, consultez [Installez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon EKS et KubernetesInstallez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Setup.md).

**Note**  
Avant de pouvoir configurer ce tableau de bord, vous devez configurer Container Insights pour les métriques Prometheus. Pour plus d'informations, consultez [Surveillance des métriques Prometheus Container Insights](ContainerInsights-Prometheus.md).

**Pour créer un tableau de bord pour les métriques Prometheus de Fluent Bit**

1. Créez des variables d'environnement, en remplaçant les valeurs à droite dans les lignes suivantes pour correspondre à votre déploiement.

   ```
   DASHBOARD_NAME=your_cw_dashboard_name
   REGION_NAME=your_metric_region_such_as_us-west-1
   CLUSTER_NAME=your_kubernetes_cluster_name
   ```

1. Créez le tableau de bord en exécutant la commande suivante.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/fluent-bit/cw_dashboard_fluent_bit.json \
   | sed "s/{{YOUR_AWS_REGION}}/${REGION_NAME}/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/${CLUSTER_NAME}/g" \
   | xargs -0 aws cloudwatch put-dashboard --dashboard-name ${DASHBOARD_NAME} --dashboard-body
   ```

# (En option) Configurez la journalisation de plan de contrôle Amazon EKS
<a name="Container-Insights-setup-control-plane-logging"></a>

Si vous utilisez Amazon EKS, vous pouvez éventuellement activer la journalisation du plan de contrôle Amazon EKS, afin de fournir des journaux d'audit et de diagnostic directement depuis le plan de contrôle Amazon EKS vers CloudWatch Logs. Pour plus d'informations, consultez [Journalisation de plan de contrôle Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html).

# (En option) Activez la fonction Use\$1Kubelet pour les grands clusters
<a name="ContainerInsights-use-kubelet"></a>

Par défaut, la fonctionnalité Use\$1Kubelet est désactivée dans le plugin Kubernetes. FluentBit L'activation de cette fonction peut réduire le trafic vers le serveur API et atténuer le problème du goulot d'étranglement du serveur API. Nous vous recommandons d'activer cette fonction pour les grands clusters.

Pour activer Use\$1Kubelet, ajoutez d'abord les nœuds et les nodes/proxy autorisations à la configuration ClusterRole.

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: fluent-bit-role
rules:
  - nonResourceURLs:
      - /metrics
    verbs:
      - get
  - apiGroups: [""]
    resources:
      - namespaces
      - pods
      - pods/logs
      - nodes
      - nodes/proxy
    verbs: ["get", "list", "watch"]
```

Dans la DaemonSet configuration, cette fonctionnalité nécessite un accès au réseau hôte. La version de l'image pour `amazon/aws-for-fluent-bit` doit être 2.12.0 ou une version ultérieure, ou la version de l'image du bit fluent doit être 1.7.2 ou une version ultérieure.

```
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluent-bit
  namespace: amazon-cloudwatch
  labels:
    k8s-app: fluent-bit
    version: v1
    kubernetes.io/cluster-service: "true"
spec:
  selector:
    matchLabels:
      k8s-app: fluent-bit
  template:
    metadata:
      labels:
        k8s-app: fluent-bit
        version: v1
        kubernetes.io/cluster-service: "true"
    spec:
      containers:
      - name: fluent-bit
        image: amazon/aws-for-fluent-bit:2.19.0
        imagePullPolicy: Always
        env:
            - name: AWS_REGION
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: logs.region
            - name: CLUSTER_NAME
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: cluster.name
            - name: HTTP_SERVER
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: http.server
            - name: HTTP_PORT
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: http.port
            - name: READ_FROM_HEAD
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: read.head
            - name: READ_FROM_TAIL
              valueFrom:
                configMapKeyRef:
                  name: fluent-bit-cluster-info
                  key: read.tail
            - name: HOST_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name      
            - name: CI_VERSION
              value: "k8s/1.3.8"
        resources:
            limits:
              memory: 200Mi
            requests:
              cpu: 500m
              memory: 100Mi
        volumeMounts:
        # Please don't change below read-only permissions
        - name: fluentbitstate
          mountPath: /var/fluent-bit/state
        - name: varlog
          mountPath: /var/log
          readOnly: true
        - name: varlibdockercontainers
          mountPath: /var/lib/docker/containers
          readOnly: true
        - name: fluent-bit-config
          mountPath: /fluent-bit/etc/
        - name: runlogjournal
          mountPath: /run/log/journal
          readOnly: true
        - name: dmesg
          mountPath: /var/log/dmesg
          readOnly: true
      terminationGracePeriodSeconds: 10
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
      volumes:
      - name: fluentbitstate
        hostPath:
          path: /var/fluent-bit/state
      - name: varlog
        hostPath:
          path: /var/log
      - name: varlibdockercontainers
        hostPath:
          path: /var/lib/docker/containers
      - name: fluent-bit-config
        configMap:
          name: fluent-bit-config
      - name: runlogjournal
        hostPath:
          path: /run/log/journal
      - name: dmesg
        hostPath:
          path: /var/log/dmesg
      serviceAccountName: fluent-bit
      tolerations:
      - key: node-role.kubernetes.io/master
        operator: Exists
        effect: NoSchedule
      - operator: "Exists"
        effect: "NoExecute"
      - operator: "Exists"
        effect: "NoSchedule"
```

La configuration du plugin Kubernetes doit ressembler à ce qui suit :

```
[FILTER]
        Name                kubernetes
        Match               application.*
        Kube_URL            https://kubernetes.default.svc:443
        Kube_Tag_Prefix     application.var.log.containers.
        Merge_Log           On
        Merge_Log_Key       log_processed
        K8S-Logging.Parser  On
        K8S-Logging.Exclude Off
        Labels              Off
        Annotations         Off
        Use_Kubelet         On
        Kubelet_Port        10250 
        Buffer_Size         0
```

# Mise à jour ou suppression de Container Insights sur Amazon EKS et Kubernetes
<a name="ContainerInsights-update-delete"></a>

Suivez les étapes décrites dans ces sections pour mettre à jour l'image du conteneur de votre CloudWatch agent ou pour supprimer Container Insights d'un cluster Amazon EKS ou Kubernetes.

**Topics**
+ [Mise à niveau vers Container Insights avec une meilleure observabilité pour Amazon EKS dans CloudWatch](Container-Insights-upgrade-enhanced.md)
+ [Mise à jour de l'image du conteneur de l' CloudWatch agent](ContainerInsights-update-image.md)
+ [Suppression de l' CloudWatch agent et de Fluent Bit for Container Insights](ContainerInsights-delete-agent.md)

# Mise à niveau vers Container Insights avec une meilleure observabilité pour Amazon EKS dans CloudWatch
<a name="Container-Insights-upgrade-enhanced"></a>

**Important**  
Si vous mettez à niveau ou installez Container Insights sur un cluster Amazon EKS, nous vous recommandons d'utiliser le module complémentaire Amazon CloudWatch Observability EKS pour l'installation, au lieu de suivre les instructions de cette section. En outre, pour récupérer des métriques de calcul accéléré, vous devez utiliser le module complémentaire Amazon CloudWatch Observability EKS. Pour en savoir plus et des instructions, consultez [Démarrage rapide avec le module complémentaire Amazon CloudWatch Observability EKS](Container-Insights-setup-EKS-addon.md).

Container Insights avec observabilité améliorée pour Amazon EKS est la dernière version de Container Insights. Il collecte des métriques détaillées à partir de clusters exécutant Amazon EKS et propose des tableaux de bord élaborés et immédiatement exploitables pour approfondir la télémétrie des applications et des infrastructures. Pour plus d'informations sur cette version de Container Insights, veuillez consulter [Container Insights avec observabilité améliorée pour Amazon EKS](container-insights-detailed-metrics.md).

Si vous avez installé la version originale de Container Insights dans un cluster Amazon EKS et que vous souhaitez la mettre à niveau vers la version la plus récente avec observabilité améliorée, suivez les instructions de cette section.

**Important**  
Avant de suivre les étapes décrites dans cette section, vous devez avoir vérifié les conditions préalables, notamment cert-manager. Pour de plus amples informations, veuillez consulter [Démarrage rapide avec l'opérateur de l' CloudWatch agent et Fluent Bit](Container-Insights-setup-EKS-quickstart.md#Container-Insights-setup-EKS-quickstart-FluentBit).

**Pour mettre à niveau un cluster Amazon EKS vers Container Insights avec observabilité améliorée pour Amazon EKS**

1. Installez l'opérateur de l' CloudWatch agent en saisissant la commande suivante. *my-cluster-name*Remplacez-le par le nom de votre cluster Amazon EKS ou Kubernetes, puis par le nom *my-cluster-region* de la région dans laquelle les journaux sont publiés. Nous vous recommandons d'utiliser la même région que celle dans laquelle votre cluster est déployé afin de réduire les coûts de transfert de données AWS sortants.

   ```
   ClusterName=my-cluster-name
   RegionName=my-cluster-region
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -
   ```

   Si vous remarquez une panne due à un conflit de ressources, c'est probablement parce que l' CloudWatch agent et Fluent Bit ainsi que les composants associés tels que le ServiceAccount, le ClusterRole et le sont déjà ClusterRoleBinding installés sur le cluster. Lorsque l'opérateur de l' CloudWatch agent essaie d'installer l' CloudWatch agent et ses composants associés, s'il détecte une modification du contenu, il échoue par défaut à l'installation ou à la mise à jour pour éviter de modifier l'état des ressources du cluster. Nous vous recommandons de supprimer tout CloudWatch agent existant avec une configuration de Container Insights que vous aviez précédemment installé sur le cluster, puis d'installer l'opérateur de l' CloudWatch agent.

1. (Facultatif) Pour appliquer une configuration Fluent Bit personnalisée existante, vous devez mettre à jour le configmap associé au daemonset Fluent Bit. L'opérateur de l' CloudWatch agent fournit une configuration par défaut pour Fluent Bit, et vous pouvez remplacer ou modifier la configuration par défaut selon vos besoins. Pour appliquer une configuration personnalisée, veuillez suivre les étapes suivantes.

   1. Ouvrez la configuration existante en entrant la commande suivante.

      ```
      kubectl edit cm fluent-bit-config -n amazon-cloudwatch
      ```

   1. Apportez vos modifications dans le fichier, puis entrez `:wq` pour enregistrer le fichier et quitter le mode d’édition.

   1. Redémarrez Fluent Bit en entrant la commande suivante.

      ```
      kubectl rollout restart ds fluent-bit -n amazon-cloudwatch
      ```

# Mise à jour de l'image du conteneur de l' CloudWatch agent
<a name="ContainerInsights-update-image"></a>

**Important**  
Si vous mettez à niveau ou installez Container Insights sur un cluster Amazon EKS, nous vous recommandons d'utiliser le module complémentaire Amazon CloudWatch Observability EKS pour l'installation, au lieu de suivre les instructions de cette section. En outre, pour récupérer des métriques de calcul accéléré, vous devez utiliser le module complémentaire Amazon CloudWatch Observability EKS ou l'opérateur de l' CloudWatch agent. Pour en savoir plus et des instructions, consultez [Démarrage rapide avec le module complémentaire Amazon CloudWatch Observability EKS](Container-Insights-setup-EKS-addon.md).

Si vous avez besoin de mettre à jour votre image de conteneur vers la dernière version, suivez les étapes de cette section.

**Pour mettre à jour votre image de conteneur**

1. Vérifiez si la définition de ressource client (CRD) `amazoncloudwatchagent` existe déjà en saisissant la commande suivante.

   ```
   kubectl get crds amazoncloudwatchagents.cloudwatch.aws.amazon.com -n amazon-cloudwatch
   ```

   Si cette commande renvoie une erreur indiquant que le CRD est absent, Container Insights with Enhanced Observability for Amazon EKS n'est pas configuré avec l'opérateur de l'agent sur le CloudWatch cluster. Dans ce cas, consultez [Mise à niveau vers Container Insights avec une meilleure observabilité pour Amazon EKS dans CloudWatch](Container-Insights-upgrade-enhanced.md).

1. Appliquez le dernier fichier `cwagent-version.yaml` en entrant la commande suivante.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-version.yaml | kubectl apply -f -
   ```

# Suppression de l' CloudWatch agent et de Fluent Bit for Container Insights
<a name="ContainerInsights-delete-agent"></a>

Si vous avez installé Container Insights en installant le module complémentaire CloudWatch Observability pour Amazon EKS, vous pouvez supprimer Container Insights et l' CloudWatch agent en saisissant la commande suivante :

**Note**  
Le module complémentaire Amazon EKS prend désormais en charge Container Insights sur les nœuds de travail Windows. Si vous supprimez le module complémentaire Amazon EKS, Container Insights pour Windows est également supprimé.

```
aws eks delete-addon —cluster-name my-cluster —addon-name amazon-cloudwatch-observability
```

Sinon, pour supprimer toutes les ressources liées à l' CloudWatch agent et à Fluent Bit, entrez la commande suivante. Cette commande contient le nom de votre cluster Amazon EKS ou Kubernetes, ainsi *My\$1Region* que le nom de la région dans laquelle les journaux sont publiés. *My\$1Cluster\$1Name*

```
ClusterName=My_Cluster_Name
RegionName=My-Region
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl delete -f -
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl delete -f -
```

# Configuration de Container Insights RedHat OpenShift sur on AWS (ROSA)
<a name="deploy-container-insights-RedHatOpenShift"></a>

CloudWatch Container Insights avec observabilité améliorée prend RedHat OpenShift en charge AWS (ROSA). Cette version prend en charge l’observabilité améliorée pour les clusters ROSA. Après avoir installé le diagramme Helm de l'opérateur de l' CloudWatch agent, Container Insights collecte automatiquement les données télémétriques détaillées de l'infrastructure, du niveau du cluster au niveau du conteneur dans votre environnement. Il affiche ensuite ces données de performance dans des tableaux de bord élaborés, ce qui élimine la lourdeur de la configuration de l’observabilité. 

**Note**  
Pour RedHat for OpenShift on AWS (ROSA), lorsque vous installez l'opérateur de l' CloudWatch agent à l'aide de diagrammes de référence, l' CloudWatch agent est également activé par défaut pour recevoir à la fois des métriques et des traces de vos applications qui sont instrumentées pour les signaux d'application. Si vous souhaitez passer en option des règles de configuration personnalisées, vous pouvez le faire en passant une configuration d’agent personnalisée en utilisant les Charts de Helm, comme indiqué dans (Facultatif) [Configuration supplémentaire], comme indiqué dans [(Facultatif) Configuration supplémentaire](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).

**Pour installer Container Insights avec une observabilité améliorée RedHat OpenShift sur un cluster AWS (ROSA)**

1. Si nécessaire, installez Helm. Pour plus d’informations, consultez le [Guide de démarrage rapide](https://helm.sh/docs/intro/quickstart/) dans la documentation Helm.

1. Installez l'opérateur de l' CloudWatch agent en saisissant les commandes suivantes. Remplacez *my-cluster-name* par le nom de votre cluster et remplacez *my-cluster-region* par la région dans laquelle le cluster s'exécute.

   ```
   helm repo add aws-observability https://aws-observability.github.io/helm-charts
   helm repo update aws-observability
   helm install --wait --create-namespace \
       --namespace amazon-cloudwatch amazon-cloudwatch-observability \
       aws-observability/amazon-cloudwatch-observability \
       --set clusterName=my-cluster-name \
       --set region=my-cluster-region \
       --set k8sMode=ROSA
   ```

1. Configurez l’autorisation pour l’opérateur de l’agent en suivant les étapes de l’option 1, de l’option 2 ou de l’option 3 dans [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md).

# Affichage des métriques dans Container Insights
<a name="Container-Insights-view-metrics"></a>

Une fois que Container Insights est configuré et qu'il collecte des métriques, vous pouvez consulter ces métriques dans la CloudWatch console.

Pour que les métriques Container Insights apparaissent sur votre tableau de bord, vous devez effectuer la configuration de Container Insights. Pour plus d'informations, consultez . [Configuration de Container Insights](deploy-container-insights.md).

Cette procédure explique comment afficher les métriques générées automatiquement par Container Insights à partir des données collectées dans le journal. Le reste de cette section explique comment approfondir l'analyse de vos données et utiliser CloudWatch Logs Insights pour consulter davantage de statistiques à des niveaux de granularité plus élevés.

**Pour afficher les métriques dans Container Insights**

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

1. Dans le panneau de navigation, choisissez **Insights**, puis choisissez **Container Insights**.

1. Utilisez les listes déroulantes situées en haut pour sélectionner le type de ressource à afficher, ainsi que la ressource spécifique.

Vous pouvez définir une CloudWatch alarme pour n'importe quel indicateur collecté par Container Insights. Pour de plus amples informations, consultez [Utilisation des CloudWatch alarmes Amazon](CloudWatch_Alarms.md).

**Note**  
Si vous avez déjà configuré CloudWatch Application Insights pour surveiller vos applications conteneurisées, le tableau de bord Application Insights apparaît sous le tableau de bord Container Insights. Si vous n'avez pas encore activé Application Insights, vous pouvez le faire en choisissant**Configuration automatique de l'application Insights**sous la vue des performances dans le tableau de bord Container Insights.  
Pour plus d'informations sur Application Insight et les applications conteneurisées, consultez[Activer la surveillance des ressources Application Insights pour Amazon ECS et Amazon EKS](appinsights-setting-up-console.md#appinsights-container-insights).

## Affichage des principaux contributeurs
<a name="Container-Insights-view-metrics-topn"></a>

Pour certaines vues de la surveillance des performances de Container Insights, vous pouvez également voir les principaux contributeurs par mémoire ou processeur, ou les ressources les plus récemment actives. Cette option est disponible lorsque vous sélectionnez l'un des tableaux de bord suivants dans la liste déroulante située en haut de la page :
+ Services ECS
+ Tâches ECS
+ Espaces de noms EKS
+ Services EKS
+ Pods EKS

Lorsque vous affichez l'un de ces types de ressources, le bas de la page affiche un tableau trié initialement par utilisation du processeur. Vous pouvez le modifier pour trier en fonction de l'utilisation de la mémoire ou de l'activité récente. Pour en savoir plus sur l'une des lignes du tableau, vous pouvez cocher la case en regard de celle-ci, puis choisir **Actions** et choisir l'une des options dans le menu **Actions**.

## Utilisation de CloudWatch Logs Insights pour consulter les données de Container Insights
<a name="Container-Insights-CloudWatch-Logs-Insights"></a>

Container Insights collecte des métrique en utilisant les évènements des journaux de performances utilisant le [format de métrique intégrée](CloudWatch_Embedded_Metric_Format.md). Les journaux sont stockés dans CloudWatch des journaux. CloudWatch génère automatiquement plusieurs métriques à partir des journaux que vous pouvez consulter dans la CloudWatch console. Vous pouvez également effectuer une analyse plus approfondie des données de performance collectées à l'aide des requêtes CloudWatch Logs Insights.

Pour plus d'informations sur CloudWatch Logs Insights, voir [Analyser les données des CloudWatch journaux avec Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html). Pour plus d'informations sur les champs de journaux que vous pouvez utiliser dans les requêtes, consultez [Évènements du journaal de performances de Container Insights pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-logs-EKS.md).

**Pour utiliser CloudWatch Logs Insights pour interroger les données métriques de votre conteneur**

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

1. Dans le volet de navigation, choisissez **Journaux**, **Informations sur les journaux**.

   Près du haut de l'écran se trouve l'éditeur de requête. Lorsque vous ouvrez CloudWatch Logs Insights pour la première fois, cette zone contient une requête par défaut qui renvoie les 20 événements de journal les plus récents.

1. Dans la zone au-dessus de l'éditeur de requête, sélectionnez l'un des groupes de journaux Container Insights sur lequel faire porter la requête. Pour que les exemples de requêtes suivants fonctionnent, le nom du groupe de journaux doit se terminer par **performance**.

   Lorsque vous sélectionnez un groupe de CloudWatch journaux, Logs Insights détecte automatiquement les champs des données du groupe de journaux et les affiche dans la section **Champs découverts** dans le volet droit. Il affiche également un graphique à barres des événements de journaux dans ce groupe de journaux au fil du temps. Ce graphique à barres montre la distribution des événements dans le groupe de journaux correspondant à vos requêtes et plages de temps et pas seulement les événements affichés dans le tableau.

1. Dans l'éditeur de requête, remplacez la requête par défaut par la requête suivante, puis choisissez **Run query (Exécuter la requête)**.

   ```
   STATS avg(node_cpu_utilization) as avg_node_cpu_utilization by NodeName
   | SORT avg_node_cpu_utilization DESC
   ```

   Cette requête affiche une liste de nœuds, triés en fonction de leur utilisation moyenne de l'UC.

1. Pour voir un autre exemple, remplacez cette requête par une autre, puis choisissez **Run query (Exécuter la requête)**. D'autres exemples de requêtes sont répertoriés plus loin sur cette page.

   ```
   STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName
   | SORT avg_number_of_container_restarts DESC
   ```

   Cette requête affiche une liste de vos pods, triés en fonction du nombre moyen de redémarrages de conteneurs.

1. Si vous souhaitez essayer une autre requête, vous pouvez utiliser les champs d'inclusion répertoriés dans la liste à droite de l'écran. Pour plus d'informations sur la syntaxe des requêtes, voir Syntaxe de [requête de CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html).

**Pour afficher les listes de vos ressources**

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

1. Dans le panneau de navigation, choisissez **Resources** (Ressources).

1. Par défaut une liste de vos ressources surveillées par Container Insights et des alertes que vous avez définies sur ces ressources s'affiche. Pour afficher une carte visuelle des ressources, choisissez **Vue Carte**.

1. Dans la vue Carte, vous pouvez placer le pointeur sur n'importe quelle ressource pour afficher les métriques de base relatives à cette ressource. Vous pouvez choisir n'importe quelle ressource pour afficher des graphiques plus détaillés sur la ressource.

## Cas d'utilisation : Affichage des métriques au niveau des tâches dans les conteneurs Amazon ECS
<a name="Container-Insights-CloudWatch-Logs-Insights-example"></a>

L'exemple suivant montre comment utiliser CloudWatch Logs Insights pour approfondir vos logs Container Insights. Pour plus d'exemples, consultez le blog [Présentation d'Amazon CloudWatch Container Insights pour Amazon ECS](https://aws.amazon.com/blogs/mt/introducing-container-insights-for-amazon-ecs/).

 Container Insights ne génère pas automatiquement de métriques au niveau de granularité Tâche. La requête suivante affiche les métriques au niveau des tâches pour l'utilisation du processeur et de la mémoire.

```
stats avg(CpuUtilized) as CPU, avg(MemoryUtilized) as Mem by TaskId, ContainerName
| sort Mem, CPU desc
```

## Autres exemples de requêtes pour Container Insights
<a name="Container-Insights-sample-queries"></a>

**Liste de vos pods, triés par nombre moyen de redémarrages de conteneur**

```
STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName
| SORT avg_number_of_container_restarts DESC
```

**Pods demandés et pods en cours d'exécution**

```
fields @timestamp, @message 
| sort @timestamp desc 
| filter Type="Pod" 
| stats min(pod_number_of_containers) as requested, min(pod_number_of_running_containers) as running, ceil(avg(pod_number_of_containers-pod_number_of_running_containers)) as pods_missing by kubernetes.pod_name 
| sort pods_missing desc
```

**Nombre de défaillances de nœuds de cluster**

```
stats avg(cluster_failed_node_count) as CountOfNodeFailures 
| filter Type="Cluster" 
| sort @timestamp desc
```

**Erreurs de journal d'application par nom de conteneur**

```
stats count() as countoferrors by kubernetes.container_name 
| filter stream="stderr" 
| sort countoferrors desc
```

# Métriques collectées par Container Insights
<a name="Container-Insights-metrics"></a>

Container Insights collecte un ensemble de métriques pour Amazon ECS et AWS Fargate Amazon ECS, et un ensemble différent pour Amazon EKS, AWS Fargate Amazon EKS, RedHat OpenShift on AWS (ROSA) et Kubernetes.

Les métriques ne sont pas visibles tant que les tâches du conteneur ne sont pas en cours d'exécution depuis un certain temps.

**Topics**
+ [Amazon ECS Container Insights avec des métriques d’observabilité améliorées](Container-Insights-enhanced-observability-metrics-ECS.md)
+ [Métriques de Container Insights pour Amazon ECS](Container-Insights-metrics-ECS.md)
+ [Amazon EKS et Kubernetes Container Insights avec des métriques d’observabilité améliorées](Container-Insights-metrics-enhanced-EKS.md)
+ [Métriques Container Insights pour Amazon EKS et Kubernetes](Container-Insights-metrics-EKS.md)
+ [Référence des journaux de performances Container Insights](Container-Insights-reference.md)
+ [Surveillance des métriques Prometheus Container Insights](ContainerInsights-Prometheus.md)
+ [Intégration à Application Insights](container-insights-appinsights.md)
+ [Affichage des événements du cycle de vie d’Amazon ECS dans Container Insights](container-insights-ECS-lifecycle-events.md)
+ [Résolution des problèmes liés à Container Insights](ContainerInsights-troubleshooting.md)
+ [Création de votre propre image Docker d' CloudWatch agent](ContainerInsights-build-docker-image.md)
+ [Déploiement d'autres fonctionnalités d' CloudWatch agent dans vos conteneurs](ContainerInsights-other-agent-features.md)

# Amazon ECS Container Insights avec des métriques d’observabilité améliorées
<a name="Container-Insights-enhanced-observability-metrics-ECS"></a>

Container Insights avec observabilité améliorée fournit une visibilité plus approfondie des charges de travail conteneurisées en offrant :
+ Une granularité plus élevée des métriques au niveau des tâches et des conteneurs
+ Des capacités de surveillance et de dépannage améliorées
+ Intégration aux CloudWatch journaux pour :
  + Corréler les anomalies de métriques avec les entrées de journaux
  + Effectuer plus rapidement une analyse de la cause racine
  + Réduire le temps de résolution des problèmes complexes liés aux conteneurs

**Cas d’utilisation**

Container Insights avec observabilité améliorée étend les capacités de Container Insights standard. Il permet les cas d’utilisation suivants :
+ **Dépannage au niveau des tâches** : identifiez les goulets d’étranglement au niveau des tâches. Analysez les métriques au niveau des tâches et comparez-les aux ressources réservées pour déterminer si les tâches disposent d’une capacité de traitement suffisante 
+ **Optimisation des ressources au niveau du conteneur** : suivez l’utilisation par rapport aux niveaux de réservation pour identifier les conteneurs dont les ressources sont limitées ou qui sont surprovisionnés 
+ **Évaluation de l’état des conteneurs** : surveillez le nombre de redémarrages et les transitions d’état pour détecter les conteneurs instables nécessitant une intervention 
+ **Surveillance des performances des applications** : suivez la façon dont les applications communiquent entre elles, surveillez les schémas d’utilisation des ressources et optimisez les performances de stockage de données
+ **Surveillance opérationnelle** : surveillez les déploiements, suivez les ensembles de tâches pour les déploiements bleus/verts et maintenez l’état de la plateforme grâce aux métriques de service

Pour plus d’informations sur les métriques Amazon ECS, consultez [Cas d’utilisation des métriques d’utilisation des services Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_utilization-metrics-explanation.html) et pour plus d’informations sur container insights avec observabilité améliorée [Métriques Amazon ECS Container Insights avec observabilité améliorée](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-enhanced-observability-metrics-ECS.html).

Container Insights affiche également des statistiques à l'échelle du cluster, du service et du démon en faisant la moyenne des données pour toutes les tâches. Cela fournit une vue d'ensemble de l'état de votre service et de votre démon, ce qui facilite à la fois la surveillance de l'environnement et la planification des capacités.

**Note**  
Les métriques Amazon ECS Managed Daemon utilisent le même espace de `ECS/ContainerInsights` noms et la même `ServiceName` dimension que les métriques de service. Pour les métriques du démon, la valeur de la `ServiceName` dimension utilise le format`daemon:daemon-name`. Par exemple, un démon nommé `my-daemon` possède une valeur de `ServiceName` dimension de`daemon:my-daemon`. Toutes les mesures du tableau ci-dessous qui incluent cette `ServiceName` dimension s'appliquent également aux démons gérés.

Le tableau suivant répertorie les métriques et les dimensions que Container Insights avec observabilité améliorée collecte pour Amazon ECS. Ces métriques sont dans l'espace de noms `ECS/ContainerInsights`. Pour de plus amples informations, veuillez consulter [Métriques](cloudwatch_concepts.md#Metric).

Si vous ne voyez aucune métrique Container Insights dans votre console, assurez-vous que vous avez terminé la configuration de Container Insights avec observabilité améliorée. Les métriques n’apparaissent pas avant la configuration complète de Container Insights avec observabilité améliorée. Pour de plus amples informations, veuillez consulter [Configurer Container Insights avec une observabilité améliorée](deploy-container-insights-ECS-cluster.md#set-container-insights-ECS-cluster-enhanced).

Les métriques suivantes sont disponibles pour tous les types de lancement.


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `ContainerInstanceCount`  |  `ClusterName`  |  Nombre d'instances EC2 exécutant l'agent Amazon ECS qui sont enregistrées auprès d'un cluster. Cette métrique n'est collectée que pour les instances de conteneur qui exécutent des tâches Amazon ECS dans le cluster. Elle n'est pas collectée pour les instances de conteneur vides ne comportant aucune tâche Amazon ECS. Unité : nombre  | 
|  `ContainerCpuUtilized`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  Les unités UC utilisées par les conteneurs dans la ressource spécifiée par le jeu de dimensions que vous utilisez. S'applique également aux démons gérés. Unité : aucune  | 
|  `ContainerCpuReserved`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  Les unités UC réservées par les conteneurs dans la ressource spécifiée par le jeu de dimensions que vous utilisez. Cette métrique est collectée sur la base de la réservation UC définie dans la définition de la tâche, par exemple, au niveau de la tâche ou de tous les conteneurs. Si elle n’est pas spécifiée dans la définition de la tâche, c’est la réservation UC de l’instance qui est utilisée. S'applique également aux démons gérés. Unité : aucune  | 
|  `ContainerCpuUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   | Le pourcentage total d’unités UC utilisées par les conteneurs dans la ressource spécifiée par le jeu de dimensions que vous utilisez. Unité : pourcentage | 
|  `ContainerMemoryUtilized`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  La mémoire utilisée par les conteneurs dans la ressource spécifiée par le jeu de dimensions que vous utilisez. S'applique également aux démons gérés. Unité : mégaoctets  | 
|  `ContainerMemoryReserved`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  |  La mémoire réservée par les conteneurs dans la ressource spécifiée par le jeu de dimensions que vous utilisez.  Cette métrique est collectée sur la base de la réservation de mémoire définie dans la définition de la tâche, par exemple au niveau de la tâche ou de tous les conteneurs. Si elle n’est pas spécifiée dans la définition de la tâche, c’est la réservation de mémoire de l’instance qui est utilisée. S'applique également aux démons gérés. Unité : mégaoctets  | 
|  `ContainerMemoryUtilization`  |  `ClusterName` `ContainerName`, `TaskId`, `ServiceName`, `ClusterName` `ContainerName`, `TaskDefinitionFamily`, `ClusterName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `ServiceName`, `ClusterName`, `ContainerName`  | Le pourcentage total de mémoire utilisé par les conteneurs dans la ressource spécifiée par le jeu de dimensions que vous utilisez. S'applique également aux démons gérés. Unité : pourcentage | 
|  `ContainerNetworkRxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Le nombre d’octets reçus par le conteneur spécifié par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. Cette métrique est disponible uniquement pour les conteneurs utilisant les modes réseau `awsvpc` ou `bridge`. S'applique également aux démons gérés. Unité : octets/seconde  | 
|  `ContainerNetworkTxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Le nombre d’octets transmis par le conteneur spécifié par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. Cette métrique est disponible uniquement pour les conteneurs utilisant les modes réseau `awsvpc` ou `bridge`. S'applique également aux démons gérés. Unité : octets/seconde  | 
|  `ContainerStorageReadBytes`  |  `ClusterName` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `TaskId`, `ContainerName`  |  Le nombre d’octets lus depuis le stockage sur le conteneur dans la ressource spécifiée par les dimensions que vous utilisez. Cela n'inclut pas les octets de lecture pour vos périphériques de stockage. Cette métrique est obtenue à partir du moteur d’exécution Docker. S'applique également aux démons gérés. Unité : octets  | 
|  `ContainerStorageWriteBytes`  |  `ClusterName` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `TaskId`, `ContainerName`  |  Le nombre d’octets écrits dans le conteneur spécifié par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. S'applique également aux démons gérés. Unité : octets  | 
|  `CpuUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  Unités UC utilisées par les tâches de la ressource spécifiée par l'ensemble de dimensions que vous utilisez. S'applique également aux démons gérés. Unité : aucune  | 
|  `CpuReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Les unités UC réservée par les tâches de la ressource qui est spécifié par la dimension définie que vous utilisez. Cette métrique est collectée sur la base de la réservation UC définie dans la définition de la tâche, par exemple, au niveau de la tâche ou de tous les conteneurs. Si elle n’est pas spécifiée dans la définition de la tâche, c’est la réservation UC de l’instance qui est utilisée. S'applique également aux démons gérés. Unité : aucune  | 
|  `DeploymentCount`  |  `ServiceName`, `ClusterName`  |  Nombre de déploiements dans un Amazon ECS service. Unité : nombre  | 
|  `DesiredTaskCount`  |  `ServiceName`, `ClusterName`  |  Nombre souhaité de tâches pour un Amazon ECS service. Unité : nombre  | 
|  `EBSFilesystemSize`  |  `ClusterName` ,`TaskDefinitionFamily`, `VolumeName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La quantité totale, en gigaoctets (Go), de stockage du système de fichiers Amazon EBS allouée aux ressources spécifiées par les dimensions que vous utilisez. Cette métrique est uniquement disponible pour les tâches qui s’exécutent sur une infrastructure Amazon ECS fonctionnant sur Fargate utilisant la version de plateforme `1.4.0` ou sur des instances Amazon EC2 utilisant la version d’agent de conteneur `1.79.0` ou une version ultérieure. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  `EBSFilesystemUtilized`  |  `ClusterName` ,`TaskDefinitionFamily`, `VolumeName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La quantité totale, en gigaoctets (Go), de stockage du système de fichiers Amazon EBS utilisée par les ressources spécifiées par les dimensions que vous utilisez. Cette métrique est uniquement disponible pour les tâches qui s’exécutent sur une infrastructure Amazon ECS fonctionnant sur Fargate utilisant la version de plateforme `1.4.0` ou sur des instances Amazon EC2 utilisant la version d’agent de conteneur `1.79.0` ou une version ultérieure. Pour les tâches exécutées sur Fargate, Fargate réserve de l’espace sur le disque qui n’est utilisé que par Fargate. Il n’y a pas de coût associé à l’espace utilisé par Fargate, mais vous verrez ce stockage supplémentaire à l’aide d’outils tels que `df`. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  `TaskEBSFilesystemUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ClusterName`, `ServiceName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `TaskDefinitionFamily`, `ClusterName`, `TaskId`  |  Le pourcentage de stockage du système de fichiers Amazon EBS utilisé par la tâche spécifiée par les dimensions que vous utilisez. Cette métrique est uniquement disponible pour les tâches qui s’exécutent sur une infrastructure Amazon ECS fonctionnant sur Fargate utilisant la version de plateforme `1.4.0` ou sur des instances Amazon EC2 utilisant la version d’agent de conteneur `1.79.0` ou une version ultérieure. S'applique également aux démons gérés. Unité : pourcentage  | 
|  EphemeralStorageReserved [1](#ci-enhanced-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Le nombre d'octets réservés au stockage éphémère dans la ressource qui est spécifiée par les dimensions que vous utilisez. Le stockage éphémère est utilisé pour le système de fichiers racine du conteneur et tout volume hôte de montage lié défini dans l'image du conteneur et la définition de la tâche. La quantité de stockage éphémère ne peut pas être modifiée dans une tâche en cours d'exécution. Cette métrique est uniquement disponible pour les tâches qui s'exécutent sur la plateforme Linux Fargate version 1.4.0 ou ultérieure. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  EphemeralStorageUtilized [1](Container-Insights-metrics-ECS.md#ci-metrics-ecs-storage-fargate-note)  |  `ClusterName` `ClusterName`, `TaskDefinitionFamily` `ClusterName`, `ServiceName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Le nombre d'octets utilisés à partir du stockage éphémère dans la ressource qui est spécifiée par les dimensions que vous utilisez. Le stockage éphémère est utilisé pour le système de fichiers racine du conteneur et tout volume hôte de montage lié défini dans l'image du conteneur et la définition de la tâche. La quantité de stockage éphémère ne peut pas être modifiée dans une tâche en cours d'exécution. Cette métrique est uniquement disponible pour les tâches qui s'exécutent sur la plateforme Linux Fargate version 1.4.0 ou ultérieure. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  `MemoryUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Mémoire utilisée par les tâches de la ressource spécifiée par l'ensemble de dimensions que vous utilisez. S'applique également aux démons gérés. Unité : mégaoctets  | 
|  `MemoryReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Mémoire réservée par les tâches de la ressource qui est spécifiée par l'ensemble de dimensions que vous utilisez.  Cette métrique est collectée sur la base de la réservation de mémoire définie dans la définition de la tâche, par exemple au niveau de la tâche ou de tous les conteneurs. Si elle n’est pas spécifiée dans la définition de la tâche, c’est la réservation de mémoire de l’instance qui est utilisée. S'applique également aux démons gérés. Unité : mégaoctets  | 
|  `NetworkRxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Nombre d'octets reçus par la ressource qui est spécifiée par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. Cette métrique est disponible uniquement pour les conteneurs utilisant les modes réseau `awsvpc` ou `bridge`. S'applique également aux démons gérés. Unité : octets/seconde  | 
|  `NetworkTxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Nombre d'octets transmis par la ressource spécifié par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. Cette métrique est disponible uniquement pour les conteneurs utilisant les modes réseau `awsvpc` ou `bridge`. S'applique également aux démons gérés. Unité : octets/seconde  | 
|  `PendingTaskCount`  |  `ServiceName`, `ClusterName`  |  Nombre de tâches actuellement dans l'état `PENDING`. Unité : nombre  | 
|  `RunningTaskCount`  |  `ServiceName`, `ClusterName`  |  Nombre de tâches actuellement dans l'état `RUNNING`. Unité : nombre  | 
|  `RestartCount`  |  `ClusterName` `ClusterName`, `ServiceName` `ClusterName`, `TaskDefinitionFamily` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `TaskDefinitionFamily`, `ClusterName`, `ContainerName` `TaskDefinitionFamily`, `ClusterName`, `TaskId`, `ContainerName`  |  Le nombre de fois qu’un conteneur d’une tâche Amazon ECS a été redémarré. Cette métrique est collectée uniquement pour les conteneurs dont la politique de redémarrage est activée. S'applique également aux démons gérés. Unité : nombre  | 
|  `UnHealthyContainerHealthStatus`  |  `ClusterName` `ClusterName`, `ServiceName`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `ContainerName` `ClusterName`, `ServiceName`, `TaskId`, `ContainerName` `ClusterName`, `TaskDefinitionFamily`, `TaskId`, `ContainerName`  |  Le nombre de contenants insalubres en fonction de l'état du contrôle de santé du contenant. Un contenant est considéré comme insalubre lorsque son bilan de santé indique un état insalubre. Cette métrique est collectée uniquement pour les conteneurs dont l'état de santé est configuré dans la définition de la tâche. La valeur de la métrique est de 1 lorsque l'état de santé du conteneur est`UNHEALTHY`, et de 0 lorsque l'état de santé est`HEALTHY`. Unité : nombre  | 
|  `ServiceCount`  |  `ClusterName`  |  Nombre de services dans le cluster. Unité : nombre  | 
|  `StorageReadBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Le nombre d'octets lus à partir du stockage sur l'instance dans la ressource spécifiée par les dimensions que vous utilisez. Cela n'inclut pas les octets de lecture pour vos périphériques de stockage. Cette métrique est obtenue à partir du moteur d’exécution Docker. S'applique également aux démons gérés. Unité : octets  | 
|  `StorageWriteBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`  |  Nombre d'octets écrits sur le stockage de la ressource spécifiée par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. S'applique également aux démons gérés. Unité : octets  | 
|  `TaskCount`  |  `ClusterName`  |  Nombre de tâches en cours d'exécution dans le cluster. Unité : nombre  | 
|  `TaskCpuUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  Le pourcentage total d’unités UC utilisées par une tâche.  S'applique également aux démons gérés. Unité : pourcentage  | 
|  `TaskEphemeralStorageUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  Le pourcentage total de stockage éphémère utilisé par une tâche.  S'applique également aux démons gérés. Unité : pourcentage  | 
|  `TaskMemoryUtilization`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName` `ClusterName`, `ServiceName`, `TaskId` `ClusterName`, `TaskDefinitionFamily`, `TaskId`   |  Le pourcentage total de mémoire utilisé par une tâche.  S'applique également aux démons gérés. Unité : pourcentage  | 
|  `TaskSetCount`  |  `ServiceName`, `ClusterName`  |  Nombre d'ensembles de tâches dans le service. Unité : nombre  | 

**Note**  
Les métriques `EphemeralStorageReserved` et `EphemeralStorageUtilized` sont uniquement disponibles pour les tâches qui s'exécutent sur la plateforme Fargate Linux version 1.4.0 ou ultérieure.  
Fargate réserve de l'espace sur le disque. Il n'est utilisé que par Fargate. Vous n'êtes pas facturé pour cela. Cela n'apparaît pas dans ces statistiques. Toutefois, vous pouvez voir ce stockage supplémentaire dans d'autres outils tels que `df`.

Les métriques suivantes sont disponibles lorsque vous effectuez les étapes de [Déploiement de l' CloudWatch agent pour collecter des métriques au niveau de l'instance EC2 sur Amazon ECS](deploy-container-insights-ECS-instancelevel.md) et que vous utilisez le type de lancement EC2.


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `instance_cpu_limit`  |  `ClusterName`  |  Nombre maximal d’unités d’UC qui peut être attribué à une seule instance EC2 du cluster. Unité : aucune  | 
|  `instance_cpu_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage d'UC actuellement réservé sur une seule instance EC2 dans le cluster. Unité : pourcentage  | 
|  `instance_cpu_usage_total`  |  `ClusterName`  |  Nombre d'unités d'UC utilisées sur une instance EC2 unique dans le cluster. Unité : aucune  | 
|  `instance_cpu_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage total d'unités d'UC utilisées sur une seule instance EC2 dans le cluster.  Unité : pourcentage  | 
|  `instance_filesystem_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage total de la capacité du système de fichiers utilisée sur une seule instance EC2 du cluster.  Unité : pourcentage  | 
|  `instance_memory_limit`  |  `ClusterName`  |  Quantité de mémoire maximale, en octets, qui peut être attribuée à une seule instance EC2 du cluster.  Unité : octets  | 
|  `instance_memory_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage de mémoire actuellement réservé sur une seule instance EC2 du cluster. Unité : pourcentage  | 
|  `instance_memory_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage total de mémoire utilisé sur une seule instance EC2 du cluster.  Si vous utilisez le récupérateur de mémoire Java ZGC pour votre application, cette métrique risque d’être inexacte.  Unité : pourcentage  | 
|  `instance_memory_working_set`  |  `ClusterName`  |  Quantité de mémoire, en octets, utilisée sur une seule instance EC2 du cluster.  Si vous utilisez le récupérateur de mémoire Java ZGC pour votre application, cette métrique risque d’être inexacte.  Unité : octets  | 
|  `instance_network_total_bytes`  |  `ClusterName`  |  Nombre total d’octets par seconde transmis et reçus sur le réseau sur une seule instance EC2 dans le cluster. Unité : octets/seconde  | 
|  `instance_number_of_running_tasks`  |  `ClusterName`  |  Nombre de tâches en cours d’exécution sur une seule instance EC2 dans le cluster. Unité : nombre  | 

# Métriques de Container Insights pour Amazon ECS
<a name="Container-Insights-metrics-ECS"></a>

Les métriques Container Insights fournissent des métriques supplémentaires sur le réseau, le stockage et le stockage éphémère. Ces métriques fournissent plus d’informations que les métriques standard d’Amazon ECS. Container Insights s'intègre à CloudWatch Logs. Vous pouvez corréler les changements de métriques avec les entrées de journaux pour faciliter le dépannage. Container Insights affiche également des statistiques à l'échelle du cluster, du service et du démon en faisant la moyenne des données pour toutes les tâches. Cela fournit une vue d'ensemble de l'état de votre service et de votre démon, ce qui facilite à la fois la surveillance de l'environnement et la planification des capacités.

**Cas d’utilisation**
+ **Identification des problèmes et dépannage** : suivez les déploiements ayant échoué en analysant les schémas de transition des états des tâches, ce qui permet d’identifier rapidement les points de défaillance. Diagnostiquez les problèmes de configuration grâce à un examen complet des séquences de démarrage des tâches et des comportements d’initialisation
+ **Évaluation de l’état de santé au niveau du cluster et des services** : affiche les performances moyennes des tâches sur l’ensemble du cluster. Cette approche modère les valeurs aberrantes afin de fournir une vue plus stable de l’état de santé du cluster et des services. Utilisez ces informations pour la surveillance générale des services lorsque des valeurs extrêmes pourraient être trompeuses 
+ **Problèmes de disponibilité des services** : détectez les échecs de déploiement en surveillant les métriques de comptage des tâches en cours d’exécution. Corrélez les journaux d’événements avec les métriques de performance pour comprendre les impacts sur l’infrastructure. Suivez les schémas de redémarrage des tâches pour identifier les services instables ou les problèmes d’infrastructure
+ **Planification de la capacité pour la charge moyenne** : elle aide à déterminer les besoins en ressources en fonction des modèles de comportement des tâches typiques, fournit des métriques cohérentes qui soutiennent une planification efficace à long terme et réduit l’impact des pics de courte durée sur les décisions relatives à la capacité
+ **Fournit des métriques supplémentaires** : collecte des métriques supplémentaires pour le réseau, le stockage et le stockage éphémère qui ne sont pas disponibles dans les métriques fournies

Pour plus d’informations sur les métriques Amazon ECS, consultez [Cas d’utilisation des métriques d’utilisation des services Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_utilization-metrics-explanation.html) et pour plus d’informations sur container insights avec observabilité améliorée [Métriques Amazon ECS Container Insights avec observabilité améliorée](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-enhanced-observability-metrics-ECS.html).

**Note**  
Les métriques Amazon ECS Managed Daemon utilisent le même espace de `ECS/ContainerInsights` noms et la même `ServiceName` dimension que les métriques de service. Pour les métriques du démon, la valeur de la `ServiceName` dimension utilise le format`daemon:daemon-name`. Par exemple, un démon nommé `my-daemon` possède une valeur de `ServiceName` dimension de`daemon:my-daemon`. Toutes les mesures du tableau ci-dessous qui incluent cette `ServiceName` dimension s'appliquent également aux démons gérés.

Le tableau suivant répertorie les métriques et les dimensions collectées par Container Insights pour Amazon ECS. Ces métriques sont dans l'espace de noms `ECS/ContainerInsights`. Pour plus d'informations, consultez . [Métriques](cloudwatch_concepts.md#Metric).

Si vous ne voyez pas toutes les métriques Container Insights dans votre console, assurez-vous que vous avez terminé la configuration de Container Insights. Les métriques n'apparaissent pas tant que Container Insights n'a pas été complètement configuré. Pour de plus amples informations, veuillez consulter [Configuration de Container Insights](deploy-container-insights.md).

Les mesures suivantes sont disponibles lorsque vous avez terminé les étapes de[Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS-cluster.md).


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `ContainerInstanceCount`  |  `ClusterName`  |  Nombre d'instances EC2 exécutant l'agent Amazon ECS qui sont enregistrées auprès d'un cluster. Cette métrique n'est collectée que pour les instances de conteneur qui exécutent des tâches Amazon ECS dans le cluster. Elle n'est pas collectée pour les instances de conteneur vides ne comportant aucune tâche Amazon ECS. Unité : nombre  | 
|  `CpuUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Unités UC utilisées par les tâches de la ressource spécifiée par l'ensemble de dimensions que vous utilisez. S'applique également aux démons gérés. Unité : aucune  | 
|  `CpuReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Les unités UC réservée par les tâches de la ressource qui est spécifié par la dimension définie que vous utilisez. Cette métrique est collectée sur la base de la réservation UC définie dans la définition de la tâche, par exemple, au niveau de la tâche ou de tous les conteneurs. Si elle n’est pas spécifiée dans la définition de la tâche, c’est la réservation UC de l’instance qui est utilisée. S'applique également aux démons gérés. Unité : aucune  | 
|  `DeploymentCount`  |  `ServiceName`, `ClusterName`  |  Nombre de déploiements dans un Amazon ECS service. Unité : nombre  | 
|  `DesiredTaskCount`  |  `ServiceName`, `ClusterName`  |  Nombre souhaité de tâches pour un Amazon ECS service. Unité : nombre  | 
|  `EBSFilesystemSize`  |  `VolumeName`, `TaskDefinitionFamily`, `ClusterName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La quantité totale, en gigaoctets (Go), de stockage du système de fichiers Amazon EBS allouée aux ressources spécifiées par les dimensions que vous utilisez. Cette métrique est uniquement disponible pour les tâches qui s’exécutent sur une infrastructure Amazon ECS fonctionnant sur Fargate utilisant la version de plateforme `1.4.0` ou sur des instances Amazon EC2 utilisant la version d’agent de conteneur `1.79.0` ou une version ultérieure. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  `EBSFilesystemUtilized`  |  `VolumeName`, `TaskDefinitionFamily`, `ClusterName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  La quantité totale, en gigaoctets (Go), de stockage du système de fichiers Amazon EBS utilisée par les ressources spécifiées par les dimensions que vous utilisez. Cette métrique est uniquement disponible pour les tâches qui s’exécutent sur une infrastructure Amazon ECS fonctionnant sur Fargate utilisant la version de plateforme `1.4.0` ou sur des instances Amazon EC2 utilisant la version d’agent de conteneur `1.79.0` ou une version ultérieure. Pour les tâches exécutées sur Fargate, Fargate réserve de l’espace sur le disque qui n’est utilisé que par Fargate. Il n’y a pas de coût associé à l’espace utilisé par Fargate, mais vous verrez ce stockage supplémentaire à l’aide d’outils tels que `df`. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  EphemeralStorageReserved [1](#ci-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Le nombre d'octets réservés au stockage éphémère dans la ressource qui est spécifiée par les dimensions que vous utilisez. Le stockage éphémère est utilisé pour le système de fichiers racine du conteneur et tout volume hôte de montage lié défini dans l'image du conteneur et la définition de la tâche. La quantité de stockage éphémère ne peut pas être modifiée dans une tâche en cours d'exécution. Cette métrique est uniquement disponible pour les tâches qui s'exécutent sur la plateforme Linux Fargate version 1.4.0 ou ultérieure. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  EphemeralStorageUtilized [1](#ci-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Le nombre d'octets utilisés à partir du stockage éphémère dans la ressource qui est spécifiée par les dimensions que vous utilisez. Le stockage éphémère est utilisé pour le système de fichiers racine du conteneur et tout volume hôte de montage lié défini dans l'image du conteneur et la définition de la tâche. La quantité de stockage éphémère ne peut pas être modifiée dans une tâche en cours d'exécution. Cette métrique est uniquement disponible pour les tâches qui s'exécutent sur la plateforme Linux Fargate version 1.4.0 ou ultérieure. S'applique également aux démons gérés. Unité : Gigaoctets (Go)  | 
|  `InstanceOSFilesystemUtilization`  |  `CapacityProviderName`, `ClusterName`, `ContainerInstanceId`, `EC2InstanceId` `ClusterName`  |  Pourcentage de l'espace disque total utilisé pour le volume du système d'exploitation.  | 
|  `InstanceDataFilesystemUtilization`  |  `CapacityProviderName`, `ClusterName`, `ContainerInstanceId`, `EC2InstanceId` `ClusterName`  |  Pourcentage de l'espace disque total utilisé pour le volume de données.  | 
|  `MemoryUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Mémoire utilisée par les tâches de la ressource spécifiée par l'ensemble de dimensions que vous utilisez.  Si vous utilisez le récupérateur de mémoire Java ZGC pour votre application, cette métrique risque d’être inexacte. Bien que `MemoryUtilized` et `MemoryReserved` soient marqués comme « Mégaoctets », les unités réelles sont en Mio (Mébioctets).  S'applique également aux démons gérés. Unité : mégaoctets  | 
|  `MemoryReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Mémoire réservée par les tâches de la ressource qui est spécifiée par l'ensemble de dimensions que vous utilisez. Cette métrique est collectée sur la base de la réservation de mémoire définie dans la définition de la tâche, par exemple au niveau de la tâche ou de tous les conteneurs. Si elle n’est pas spécifiée dans la définition de la tâche, c’est la réservation de mémoire de l’instance qui est utilisée. S'applique également aux démons gérés. Unité : mégaoctets  Bien que `MemoryUtilized` et `MemoryReserved` soient marqués comme « Mégaoctets », les unités réelles sont en Mio (Mébioctets).   | 
|  `NetworkRxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Nombre d'octets reçus par la ressource qui est spécifiée par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. Cette métrique est disponible uniquement pour les conteneurs utilisant les modes réseau `awsvpc` ou `bridge`. S'applique également aux démons gérés. Unité : octets/seconde  | 
|  `NetworkTxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Nombre d'octets transmis par la ressource spécifié par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. Cette métrique est disponible uniquement pour les conteneurs utilisant les modes réseau `awsvpc` ou `bridge`. S'applique également aux démons gérés. Unité : octets/seconde  | 
|  `PendingTaskCount`  |  `ServiceName`, `ClusterName`  |  Nombre de tâches actuellement dans l'état `PENDING`. Unité : nombre  | 
|  `RunningTaskCount`  |  `ServiceName`, `ClusterName`  |  Nombre de tâches actuellement dans l'état `RUNNING`. Unité : nombre  | 
|  `RestartCount`  |  `ClusterName` `ClusterName`, `ServiceName` `ClusterName`, `TaskDefinitionFamily`  |  Le nombre de fois qu’un conteneur d’une tâche Amazon ECS a été redémarré. Cette métrique est collectée uniquement pour les conteneurs dont la politique de redémarrage est activée. S'applique également aux démons gérés. Unité : nombre  | 
|  `ServiceCount`  |  `ClusterName`  |  Nombre de services dans le cluster. Unité : nombre  | 
|  `StorageReadBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Le nombre d'octets lus à partir du stockage sur l'instance dans la ressource spécifiée par les dimensions que vous utilisez. Cela n'inclut pas les octets de lecture pour vos périphériques de stockage. Cette métrique est obtenue à partir du moteur d’exécution Docker. S'applique également aux démons gérés. Unité : octets  | 
|  `StorageWriteBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  Nombre d'octets écrits sur le stockage de la ressource spécifiée par les dimensions que vous utilisez. Cette métrique est obtenue à partir du moteur d’exécution Docker. S'applique également aux démons gérés. Unité : octets  | 
|  `TaskCount`  |  `ClusterName`  |  Nombre de tâches en cours d'exécution dans le cluster. Unité : nombre  | 
|  `TaskSetCount`  |  `ServiceName`, `ClusterName`  |  Nombre d'ensembles de tâches dans le service. Unité : nombre  | 

**Note**  
Les métriques `EphemeralStorageReserved` et `EphemeralStorageUtilized` sont uniquement disponibles pour les tâches qui s'exécutent sur la plateforme Fargate Linux version 1.4.0 ou ultérieure.  
Fargate réserve de l'espace sur le disque. Il n'est utilisé que par Fargate. Vous n'êtes pas facturé pour cela. Cela n'apparaît pas dans ces statistiques. Toutefois, vous pouvez voir ce stockage supplémentaire dans d'autres outils tels que `df`.

Les métriques suivantes sont disponibles lorsque vous effectuez les étapes de la section [Déploiement de l' CloudWatch agent pour collecter des métriques au niveau de l'instance EC2 sur Amazon ECS](deploy-container-insights-ECS-instancelevel.md)


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `instance_cpu_limit`  |  `ClusterName`  |  Nombre maximal d'unités d'UC qui peut être attribué à une seule instance EC2 du cluster. Unité : aucune  | 
|  `instance_cpu_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage d'UC actuellement réservé sur une seule instance EC2 dans le cluster. Unité : pourcentage  | 
|  `instance_cpu_usage_total`  |  `ClusterName`  |  Nombre d'unités d'UC utilisées sur une instance EC2 unique dans le cluster. Unité : aucune  | 
|  `instance_cpu_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage total d'unités d'UC utilisées sur une seule instance EC2 dans le cluster.  Unité : pourcentage  | 
|  `instance_filesystem_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage total de la capacité du système de fichiers utilisée sur une seule instance EC2 du cluster.  Unité : pourcentage  | 
|  `instance_memory_limit`  |  `ClusterName`  |  Quantité de mémoire maximale, en octets, qui peut être attribuée à une seule instance EC2 du cluster.  Unité : octets  | 
|  `instance_memory_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage de mémoire actuellement réservé sur une seule instance EC2 du cluster. Unité : pourcentage  | 
|  `instance_memory_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  Pourcentage total de mémoire utilisé sur une seule instance EC2 du cluster.  Si vous utilisez le récupérateur de mémoire Java ZGC pour votre application, cette métrique risque d’être inexacte.  Unité : pourcentage  | 
|  `instance_memory_working_set`  |  `ClusterName`  |  Quantité de mémoire, en octets, utilisée sur une seule instance EC2 du cluster.  Si vous utilisez le récupérateur de mémoire Java ZGC pour votre application, cette métrique risque d’être inexacte.  Unité : octets  | 
|  `instance_network_total_bytes`  |  `ClusterName`  |  Nombre total d'octets par seconde transmis et reçus sur le réseau sur une seule instance EC2 dans le cluster. Unité : octets/seconde  | 
|  `instance_number_of_running_tasks`  |  `ClusterName`  |  Nombre de tâches en cours d'exécution sur une seule instance EC2 dans le cluster. Unité : nombre  | 

# Amazon EKS et Kubernetes Container Insights avec des métriques d’observabilité améliorées
<a name="Container-Insights-metrics-enhanced-EKS"></a>

Les tableaux suivants répertorient les métriques et les dimensions que Container Insights avec observabilité améliorée collecte pour Amazon EKS et Kubernetes. Ces métriques sont dans l'espace de noms `ContainerInsights`. Pour de plus amples informations, veuillez consulter [Métriques](cloudwatch_concepts.md#Metric).

Si vous ne voyez aucune métrique Container Insights avec observabilité améliorée dans votre console, assurez-vous que vous avez terminé la configuration de Container Insights avec observabilité améliorée. Les métriques n’apparaissent pas avant la configuration complète de Container Insights avec observabilité améliorée. Pour de plus amples informations, veuillez consulter [Configuration de Container Insights](deploy-container-insights.md).

Si vous utilisez la version 1.5.0 ou ultérieure du module complémentaire Amazon EKS ou la version 1.300035.0 de l' CloudWatch agent, la plupart des métriques répertoriées dans le tableau suivant sont collectées pour les nœuds Linux et Windows. Consultez la colonne **Nom de la métrique** du tableau pour savoir quelles métriques ne sont pas collectées pour Windows.

Avec la version antérieure de Container Insights qui fournit des métriques agrégées au niveau du cluster et du service, les métriques sont chargées en tant que métriques personnalisées. Grâce à Container Insights avec observabilité améliorée pour Amazon EKS, les métriques de Container Insights sont facturées par observation au lieu d'être facturées par métrique stockée ou par journal ingéré. Pour plus d'informations sur CloudWatch les tarifs, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/). 

**Note**  
Sur Windows, les métriques réseau telles que `pod_network_rx_bytes` et `pod_network_tx_bytes` ne sont pas collectées pour les conteneurs de processus hôte.  
 RedHat OpenShift Sur les clusters on AWS (ROSA), les métriques Diskio telles que `node_diskio_io_serviced_total` et ne `node_diskio_io_service_bytes_total` sont pas collectées.


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `cluster_failed_node_count`  |  `ClusterName`  |  Nombre d'échecs des nœuds de travail dans le cluster. Un nœud est considéré comme ayant échoué s'il souffre de *conditions de nœud*. Pour plus d'informations, consultez [Conditions](https://kubernetes.io/docs/concepts/architecture/nodes/#condition) dans la documentation Kubernetes.  | 
|  `cluster_node_count`  |  `ClusterName`  |  Nombre total de composants master dans le cluster.  | 
|  `namespace_number_of_running_pods`  |  `Namespace` `ClusterName` `ClusterName`  |  Nombre de pods exécutés par espace de nom dans la ressource spécifiée par les dimensions que vous utilisez.  | 
|  `node_cpu_limit`  |  `ClusterName`  `ClusterName`, `InstanceId`, `NodeName`   |  Nombre maximal d'unités UC qui peut être attribué à un seul nœud du cluster.  | 
|  `node_cpu_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage d'unités UC qui sont réservées pour les composants de nœud, tels que Kubelet, Kube-proxy et Docker. Formule : `node_cpu_request / node_cpu_limit`  `node_cpu_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_cpu_usage_total`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Nombre d'unités UC en cours d'utilisation sur les nœuds du cluster.  | 
|  `node_cpu_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage total d'unités UC en cours d'utilisation sur les nœuds du cluster. Formule : `node_cpu_usage_total / node_cpu_limit`  | 
|  `node_filesystem_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage total d'une capacité de système de fichiers utilisée sur les nœuds du cluster. Formule : `node_filesystem_usage / node_filesystem_capacity`  `node_filesystem_usage` et `node_filesystem_capacity` ne sont pas indiqués directement sous forme de métrique, mais constituent des champs dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_limit`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Quantité de mémoire maximale, en octets, qui peut être attribuée à un seul nœud du cluster.  | 
|  `node_filesystem_inodes`  Ce n’est pas disponible sur Windows.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Le nombre total d'inodes (utilisés et non utilisés) sur un nœud.  | 
|  `node_filesystem_inodes_free` Ce n’est pas disponible sur Windows.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Le nombre d'inodes non utilisés sur un nœud.  | 
|  `node_gpu_limit` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Le nombre total de GPU disponibles sur le nœud.  | 
|  `node_gpu_usage_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Le nombre de GPU en cours d’utilisation par les pods en cours d’exécution sur le nœud.  | 
|  `node_gpu_reserved_capacity` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  | 
|  `node_memory_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage de mémoire actuellement utilisé sur les nœuds du cluster. Formule : `node_memory_request / node_memory_limit`  `node_memory_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage de mémoire actuellement utilisé par le ou les nœuds. Il s'agit du pourcentage d'utilisation de la mémoire du nœud divisé par la limitation de la mémoire du nœud. Formule : `node_memory_working_set / node_memory_limit`.   | 
|  `node_memory_working_set`  |  `ClusterName`  `ClusterName`, `InstanceId`, `NodeName`   |  Quantité de mémoire, en octets, utilisée dans l'ensemble de travail des nœuds du cluster.  | 
|  `node_network_total_bytes`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Nombre total d'octets transmis et reçus par seconde sur le réseau par nœud dans un cluster. Formule : `node_network_rx_bytes + node_network_tx_bytes`  `node_network_rx_bytes` et `node_network_tx_bytes` ne sont pas indiqués directement sous forme de métrique, mais constituent des champs dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_number_of_running_containers`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Nombre de conteneurs en cours d'exécution par nœud dans un cluster.  | 
|  `node_number_of_running_pods`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Nombre de pods en cours d'exécution par nœud dans un cluster.  | 
|  `node_status_allocatable_pods`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Le nombre de pods pouvant être affectés à un nœud en fonction de ses ressources allouables, défini comme le reste de la capacité d'un nœud après prise en compte des réserves de démons du système et des seuils d'expulsion stricts.  | 
|  `node_status_capacity_pods`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Le nombre de pods qui peuvent être affectés à un nœud en fonction de sa capacité.  | 
|  `node_status_condition_ready`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indique si la condition d’état du nœud `Ready` est vraie pour les nœuds Amazon EC2.  | 
|  `node_status_condition_memory_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indique si la condition d'état `MemoryPressure` du nœud est vraie.  | 
|  `node_status_condition_pid_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indique si la condition d'état `PIDPressure` du nœud est vraie.  | 
|  `node_status_condition_disk_pressure`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indique si la condition d'état `OutOfDisk` du nœud est vraie.  | 
|  `node_status_condition_unknown`   |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Indique si l'une des conditions d'état du nœud est inconnue.  | 
|  `node_interface_network_rx_dropped`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Le nombre de paquets qui ont été reçus et ensuite abandonnés par une interface de réseau sur le nœud.  | 
|  `node_interface_network_tx_dropped`  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Le nombre de paquets qui devaient être transmis, mais qui ont été abandonnés par une interface réseau sur le nœud.  | 
|  `node_diskio_io_service_bytes_total`  Elle n’est pas disponible sur Windows ou sur les clusters ROSA.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Nombre total d'octets transférés par toutes les I/O opérations sur le nœud.  | 
|  `node_diskio_io_serviced_total` Elle n’est pas disponible sur Windows ou sur les clusters ROSA.  |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`   |  Nombre total d' I/O opérations sur le nœud.  | 
|  `pod_cpu_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  `ClusterName`, `Namespace`, `Service`   |  Capacité d'UC qui est réservée par pod dans un cluster. Formule : `pod_cpu_request / node_cpu_limit`  `pod_cpu_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  Pourcentage d'unités UC utilisées par les pods. Formule : `pod_cpu_usage_total / node_cpu_limit`  | 
|  `pod_cpu_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  Pourcentage d'unités UC en cours d'utilisation par les pods par rapport à la limite des pods. Formule : `pod_cpu_usage_total / pod_cpu_limit`  | 
|  `pod_memory_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  `ClusterName`, `Namespace`, `Service`   |  Pourcentage de mémoire réservé aux pods. Formule : `pod_memory_request / node_memory_limit`  `pod_memory_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  Pourcentage de mémoire actuellement utilisé par le ou les pods. Formule : `pod_memory_working_set / node_memory_limit`  | 
|  `pod_memory_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  Pourcentage de mémoire utilisé par les pods par rapport à la limite des pods. Si l'un des conteneurs dans le pod n'a pas de limite de mémoire définie, cette métrique n'apparaît pas. Formule : `pod_memory_working_set / pod_memory_limit`  | 
|  `pod_network_rx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  Nombre d'octets reçus par seconde sur le réseau par le pod. Formule : `sum(pod_interface_network_rx_bytes)`  `pod_interface_network_rx_bytes` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_network_tx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace,` `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`   |  Nombre d'octets transmis par seconde sur le réseau par le pod. Formule : `sum(pod_interface_network_tx_bytes)`  `pod_interface_network_tx_bytes` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_request`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Les requêtes de processeur du pod. Formule : `sum(container_cpu_request)`  `pod_cpu_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_request`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Les requêtes de mémoire du pod. Formule : `sum(container_memory_request)`  `pod_memory_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_limit`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  La limite de processeur définie pour les conteneurs du pod. Si l'un des conteneurs du pod n'a pas de limite de processeur définie, cette métrique n'apparaît pas.  Formule : `sum(container_cpu_limit)`  `pod_cpu_limit` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_limit`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  La limite de mémoire définie pour les conteneurs du pod. Si l'un des conteneurs dans le pod n'a pas de limite de mémoire définie, cette métrique n'apparaît pas.  Formule : `sum(container_memory_limit)`  `pod_cpu_limit` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_status_failed`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique que tous les conteneurs du pod sont résiliés et qu'au moins un conteneur s'est arrêté avec un statut différent de zéro ou a été résilié par le système.   | 
|  `pod_status_ready`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique que tous les conteneurs du pod sont prêts, ayant atteint l'état `ContainerReady`.   | 
|  `pod_status_running`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique que tous les conteneurs du pod sont en cours d'exécution.   | 
|  `pod_status_scheduled`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique que le pod a été planifié sur un nœud.   | 
|  `pod_status_unknown`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique que l'état du pod ne peut pas être obtenu.   | 
|  `pod_status_pending`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique que le pod a été accepté par le cluster, mais qu'un ou plusieurs conteneurs ne sont pas encore prêts.   | 
|  `pod_status_succeeded`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique que tous les conteneurs du pod ont été correctement résiliés et ne seront pas redémarrés.   | 
|  `pod_number_of_containers`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs défini dans la spécification du pod.   | 
|  `pod_number_of_running_containers`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs du pod qui sont actuellement dans l'état `Running`.   | 
|  `pod_container_status_terminated`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs du pod qui sont dans l'état `Terminated`.   | 
|  `pod_container_status_running`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs du pod qui sont dans l'état `Running`.   | 
|  `pod_container_status_waiting`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs du pod qui sont dans l'état `Waiting`.   | 
|  `pod_container_status_waiting_reason_crash_loop_back_off`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs dans le pod qui sont en attente en raison d’une erreur `CrashLoopBackOff`, lorsqu’un conteneur ne parvient pas à démarrer de manière répétée.  | 
|  `pod_container_status_waiting_reason_create_container_config_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs dans le pod qui sont en attente avec la raison `CreateContainerConfigError`. Cela est dû à une erreur lors de la création de la configuration du conteneur.  | 
|  `pod_container_status_waiting_reason_create_container_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs dans le pod qui sont en attente avec la raison `CreateContainerError` en raison d’une erreur lors de la création du conteneur.  | 
|  `pod_container_status_waiting_reason_image_pull_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs dans le pod qui sont en attente en raison de `ErrImagePull`, `ImagePullBackOff`, ou `InvalidImageName`. Ces situations sont dues à une erreur lors de l’extraction de l’image du conteneur.  | 
|  `pod_container_status_waiting_reason_start_error`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Indique le nombre de conteneurs dans le pod qui sont en attente avec la raison étant `StartError` à cause d’une erreur lors du démarrage du conteneur.  | 
|  `pod_container_status_terminated_reason_oom_killed`   |  `ContainerName`, `FullPodName`, `PodName`, `Namespace`, `ClusterName` `ContainerName`, `PodName`, `Namespace`, `ClusterName` `ClusterName`  |  Indique qu’un pod a été résilié pour avoir dépassé la limite de mémoire. Cette métrique n’est affichée que lorsque ce problème survient.  | 
|  `pod_interface_network_rx_dropped`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Le nombre de paquets qui ont été reçus et ensuite abandonnés par une interface réseau pour le pod.   | 
|  `pod_interface_network_tx_dropped`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  |  Le nombre de paquets qui devaient être transmis, mais qui ont été abandonnés pour le pod.   | 
| `pod_memory_working_set` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  | La mémoire en octets actuellement utilisée par un pod. | 
| `pod_cpu_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName`  | Nombre d’unités UC utilisées par un pod. | 
|  `container_cpu_utilization`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  Pourcentage d'unités de processeur utilisées par le conteneur. Formule : `container_cpu_usage_total / node_cpu_limit`  `container_cpu_utilization` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_cpu_utilization_over_container_limit`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  Pourcentage d'unités de processeur en cours d'utilisation par le conteneur par rapport à la limite du conteneur. Si le conteneur n'a pas de limite de processeur définie, cette métrique n'apparaît pas. Formule : `container_cpu_usage_total / container_cpu_limit`  `container_cpu_utilization_over_container_limit` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_memory_utilization`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  Le pourcentage d'unités de mémoire en cours d'utilisation par le conteneur. Formule : `container_memory_working_set / node_memory_limit`  `container_memory_utilization` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_memory_utilization_over_container_limit`    |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  Le pourcentage d'unités de mémoire en cours d'utilisation par le conteneur par rapport à la limite du conteneur. Si le conteneur n'a pas de limite de mémoire définie, cette métrique n'apparaît pas. Formule : `container_memory_working_set / container_memory_limit`  `container_memory_utilization_over_container_limit` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `container_memory_failures_total`  Ce n’est pas disponible sur Windows.  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`, `ContainerName` `PodName`, `Namespace`, `ClusterName`, `ContainerName`, `FullPodName`  |  Le nombre d'échecs d'allocation de mémoire rencontrés par le conteneur.  | 
|  `pod_number_of_container_restarts`  |  PodName, `Namespace`, `ClusterName`  |  Nombre total de redémarrages de conteneur dans un pod.  | 
|  `service_number_of_running_pods`  |  Service, `Namespace`, `ClusterName` `ClusterName`  |  Nombre de blocs exécutant le ou les services du cluster.  | 
|  `replicas_desired`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  Le nombre de pods souhaités pour une charge de travail, tel que défini dans la spécification de charge de travail.  | 
|  `replicas_ready`   |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  Le nombre de pods pour une charge de travail qui ont atteint le statut prêt.  | 
|  `status_replicas_available`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  Le nombre de pods disponibles pour une charge de travail. Un pod est disponible lorsqu'il est répond au critère `minReadySeconds` défini dans la spécification de charge de travail.  | 
|  `status_replicas_unavailable`  |  `ClusterName` `PodName`, `Namespace`, `ClusterName`  |  Le nombre de pods indisponibles pour une charge de travail. Un pod est disponible lorsqu'il est répond au critère `minReadySeconds` défini dans la spécification de charge de travail. Les pods ne sont pas disponibles s'ils ne répondent pas à ce critère.  | 
|  `apiserver_storage_objects`  |  `ClusterName` `ClusterName`, `resource`  |  Le nombre d'objets stockés dans etcd au moment de la dernière vérification.  | 
|  `apiserver_storage_db_total_size_in_bytes`  |  `ClusterName` `ClusterName`, `endpoint`  |  Taille totale du fichier de base de données de stockage physiquement alloué en octets. Cette métrique est expérimentale et pourrait changer dans les prochaines versions de Kubernetes. Unité : octets Statistiques significatives : Somme, Moyenne, Minimum, Maximum  | 
|  `apiserver_request_total`  |  `ClusterName` `ClusterName`, `code`, `verb`  |  Le nombre total de demandes d'API adressées au serveur d'API Kubernetes.  | 
|  `apiserver_request_duration_seconds`  |  `ClusterName` `ClusterName`, `verb`  |  Latence de réponse pour les demandes d'API adressées au serveur d'API Kubernetes.  | 
|  `apiserver_admission_controller_admission_duration_seconds`  |  `ClusterName` `ClusterName`, `operation`  |  Latence du contrôleur d'admission en secondes. Un contrôleur d'admission est un code qui intercepte les requêtes adressées au serveur d'API Kubernetes.  | 
|  `rest_client_request_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  Latence de réponse rencontrée par les clients qui appellent le serveur d'API Kubernetes. Cette métrique est expérimentale et peut changer dans les futures versions de Kubernetes.  | 
|  `rest_client_requests_total`   |  `ClusterName` `ClusterName`, `code`, `method`  |  Le nombre total de demandes d'API adressées au serveur d'API Kubernetes par les clients. Cette métrique est expérimentale et peut changer dans les futures versions de Kubernetes.  | 
|  `etcd_request_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  Latence de réponse des appels d'API à Etcd. Cette métrique est expérimentale et peut changer dans les futures versions de Kubernetes.  | 
|  `apiserver_storage_size_bytes`   |  `ClusterName` `ClusterName`, `endpoint`  |  Taille du fichier de base de données de stockage physiquement alloué en octets. Cette métrique est expérimentale et peut changer dans les futures versions de Kubernetes.  | 
|  `apiserver_longrunning_requests`  |  `ClusterName` `ClusterName`, `resource`  |  Le nombre de requêtes actives de longue durée adressées au serveur d'API Kubernetes.  | 
|  `apiserver_current_inflight_requests`  |  `ClusterName` `ClusterName`, `request_kind`  |  Le nombre de requêtes en cours de traitement par le serveur d'API Kubernetes.  | 
|  `apiserver_admission_webhook_admission_duration_seconds`  |  `ClusterName` `ClusterName`, `name`  |  Latence du webhook d'admission en secondes. Les webhooks d'admission sont des rappels HTTP qui reçoivent les requêtes d'admission et en font quelque chose.  | 
|  `apiserver_admission_step_admission_duration_seconds`   |  `ClusterName` `ClusterName`, `operation`  |  Latence des sous-étapes d'admission en secondes.  | 
|  `apiserver_requested_deprecated_apis`   |  `ClusterName` `ClusterName`, `group`  |  Nombre de demandes à déprécier APIs sur le serveur d'API Kubernetes.  | 
|  `apiserver_request_total_5xx`  |  `ClusterName` `ClusterName`, `code`, `verb`  |  Nombre de demandes adressées au serveur d'API Kubernetes qui ont reçu un code de réponse HTTP 5xx.  | 
|  `apiserver_storage_list_duration_seconds`   |  `ClusterName` `ClusterName`, `resource`  |  Latence de réponse lors de l’établissement de listes d’objets à partir d’Etc. Cette métrique est expérimentale et peut changer dans les futures versions de Kubernetes.  | 
|  `apiserver_flowcontrol_request_concurrency_limit`   |  `ClusterName` `ClusterName`, `priority_level`  |  Nombre de threads utilisés par les requêtes en cours d’exécution dans le sous-système API Priority and Fairness.  | 
|  `apiserver_flowcontrol_rejected_requests_total`   |  `ClusterName` `ClusterName`, `reason`  |  Nombre de requêtes rejetées par le sous-système API Priority and Fairness. Cette métrique est expérimentale et peut changer dans les futures versions de Kubernetes.  | 
|  `apiserver_current_inqueue_requests`   |  `ClusterName` `ClusterName`, `request_kind`  |  Le nombre de requêtes mises en file d'attente par le serveur d'API Kubernetes. Cette métrique est expérimentale et peut changer dans les futures versions de Kubernetes.  | 

## Métriques des GPU NVIDIA
<a name="Container-Insights-metrics-EKS-GPU"></a>

À partir de la version `1.300034.0` de l' CloudWatch agent, Container Insights with Enhanced Observability for Amazon EKS collecte par défaut les métriques du GPU NVIDIA à partir des charges de travail EKS. L' CloudWatch agent doit être installé à l'aide de la version complémentaire CloudWatch Observability EKS `v1.3.0-eksbuild.1` ou d'une version ultérieure. Pour de plus amples informations, veuillez consulter [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md). Ces métriques NVIDIA GPU collectées sont répertoriées dans le tableau de cette section. 

Pour que Container Insights collecte les métriques NVIDIA GPU, vous devez remplir les conditions préalables suivantes :
+ Vous devez utiliser Container Insights avec une observabilité améliorée pour Amazon EKS, avec la version complémentaire Amazon CloudWatch Observability EKS `v1.3.0-eksbuild.1` ou une version ultérieure.
+ [Le plugin de périphérique NVIDIA pour Kubernetes](https://github.com/NVIDIA/k8s-device-plugin) doit être installé dans le cluster.
+ [Le kit d’outils pour conteneurs NVIDIA](https://github.com/NVIDIA/nvidia-container-toolkit) doit être installé sur les nœuds du cluster. Par exemple, les accélérateurs optimisés Amazon EKS AMIs sont conçus avec les composants nécessaires.

Vous pouvez choisir de ne pas collecter les métriques du GPU NVIDIA en définissant l'`accelerated_compute_metrics`option dans le fichier de configuration de l' CloudWatch agent Begin sur. `false` Pour plus d’informations et un exemple de configuration de désactivation, consultez [(Facultatif) Configuration supplémentaire](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `container_gpu_memory_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  La taille totale du frame buffer, en octets, sur le(s) GPU alloué(s) au conteneur.  | 
|  `container_gpu_memory_used` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  Les octets du frame buffer utilisés sur le(s) GPU alloué(s) au conteneur.  | 
|  `container_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  Le pourcentage du frame buffer utilisé sur le(s) GPU alloué(s) au conteneur.  | 
|  `container_gpu_power_draw` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  La consommation d’énergie en watts du (des) GPU alloué(s) au conteneur.  | 
|  `container_gpu_temperature` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  La température en degrés Celsius du (des) GPU alloué(s) au conteneur.  | 
|  `container_gpu_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  Le pourcentage d’utilisation du (des) GPU alloué(s) au conteneur.  | 
|  `container_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  Pourcentage d'utilisation des cœurs tensoriels sur le ou les GPU alloués au conteneur.  | 
|  `node_gpu_memory_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  La taille totale du frame buffer, en octets, sur le(s) GPU alloué(s) au nœud.  | 
|  `node_gpu_memory_used` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  Les octets du tampon de trame utilisés sur le(s) GPU alloué(s) au nœud.  | 
|  `node_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  Le pourcentage du tampon de trame utilisé sur le(s) GPU alloué(s) au nœud.  | 
|  `node_gpu_power_draw` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  La consommation d’énergie en watts du (des) GPU alloué(s) au nœud.  | 
|  `node_gpu_temperature` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  La température en degrés Celsius du (des) GPU alloué(s) au nœud.  | 
|  `node_gpu_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  Le pourcentage d’utilisation du (des) GPU alloué(s) au nœud.  | 
|  `node_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `GpuDevice`  |  Pourcentage d'utilisation des cœurs tensoriels sur le ou les GPU alloués au nœud.  | 
|  `pod_gpu_memory_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  La taille totale du tampon de trame, en octets, sur le(s) GPU alloué(s) au pod.  | 
|  `pod_gpu_memory_used` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  Les octets du tampon de trame utilisés sur le(s) GPU alloué(s) au pod.  | 
|  `pod_gpu_memory_utilization` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  Le pourcentage du tampon de trame utilisé sur le(s) GPU alloué(s) au pod.  | 
|  `pod_gpu_power_draw` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  La consommation d’énergie en watts du (des) GPU alloué(s) au pod.  | 
|  `pod_gpu_temperature` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`. `GpuDevice`  |  La température en degrés Celsius du (des) GPU alloué(s) au pod.  | 
|  `pod_gpu_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  Le pourcentage d’utilisation du (des) GPU alloué(s) au pod.  | 
|  `pod_gpu_tensor_core_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `GpuDevice`  |  Pourcentage d'utilisation des cœurs tensoriels sur le ou les GPU alloués au pod.  | 

### Surveillance détaillée du GPU
<a name="Container-Insights-detailed-GPU-monitoring"></a>

À partir de la version `1.300062.0` de l' CloudWatch agent, Container Insights, doté d'une observabilité améliorée pour Amazon EKS, prend en charge une surveillance détaillée du GPU avec des intervalles de collecte inférieurs à une minute. Cela permet de combler les lacunes de surveillance pour les charges de travail d'inférence de courte durée liées à l'apprentissage automatique qui peuvent être totalement ignorées par les intervalles de collecte standard. L' CloudWatch agent doit être installé à l'aide de la version complémentaire CloudWatch Observability EKS `v4.7.0-eksbuild.1` ou d'une version ultérieure. Pour de plus amples informations, veuillez consulter [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md).

Par défaut, les métriques du GPU sont collectées et ingérées toutes les 60 secondes. Lorsque la surveillance détaillée est activée, l' CloudWatch agent collecte les métriques du GPU à des intervalles inférieurs à une minute (minimum 1 seconde), mais les métriques sont toujours ingérées à des CloudWatch intervalles d'une minute. Cependant, vous pouvez demander des agrégations statistiques (telles que le minimum, le maximum et les percentiles tels que p90) des points de données inférieurs à une minute par période d'une minute, afin de fournir des données précises sur l'utilisation du GPU et une meilleure optimisation des ressources.

#### Configuration
<a name="Container-Insights-detailed-GPU-monitoring-configuration"></a>

Pour activer la surveillance détaillée du GPU, mettez à jour la configuration de votre CloudWatch agent pour inclure le `accelerated_compute_gpu_metrics_collection_interval` paramètre dans la `kubernetes` section, comme dans l'exemple suivant.

```
{  
    "logs": {  
        "metrics_collected": {  
            "kubernetes": {  
                "cluster_name": "MyCluster",  
                "enhanced_container_insights": true,  
                "accelerated_compute_metrics": true,  
                "accelerated_compute_gpu_metrics_collection_interval": 1  
            }  
        }  
    }  
}
```

Le `accelerated_compute_gpu_metrics_collection_interval` paramètre accepte les valeurs en secondes, avec une valeur minimale de 1 seconde. Le paramétrer pour activer `1` les intervalles de collecte d'une seconde. Si ce paramètre n'est pas spécifié, l'intervalle de 60 secondes par défaut est utilisé.

Pour obtenir des instructions de configuration complètes, voir[Configuration de l' CloudWatch agent pour collecter les métriques du cluster](Container-Insights-setup-metrics.md).

## AWS Métriques neuronales pour AWS Trainium et Inferentia AWS
<a name="Container-Insights-metrics-EKS-Neuron"></a>

À partir de la version `1.300036.0` de l' CloudWatch agent, Container Insights with Enhanced Observability for Amazon EKS collecte par défaut les métriques de calcul accéléré à partir des accélérateurs AWS Trainium et AWS Inferentia. L' CloudWatch agent doit être installé à l'aide de la version complémentaire CloudWatch Observability EKS `v1.5.0-eksbuild.1` ou d'une version ultérieure. Pour plus d’informations sur le module complémentaire, consultez [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md). Pour plus d’informations sur AWS Trainium, consultez [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/). Pour plus d'informations sur AWS Inferentia, voir [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/).

Pour que Container Insights collecte des métriques AWS Neuron, vous devez remplir les conditions préalables suivantes :
+ Vous devez utiliser Container Insights avec une observabilité améliorée pour Amazon EKS, avec la version complémentaire Amazon CloudWatch Observability EKS `v1.5.0-eksbuild.1` ou une version ultérieure.
+ Le [pilote Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu22.html#setup-torch-neuronx-ubuntu22) doit être installé sur les nœuds du cluster.
+ Le [plugin d’appareil Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/containers/kubernetes-getting-started.html) doit être installé sur le cluster. Par exemple, les accélérateurs optimisés Amazon EKS AMIs sont conçus avec les composants nécessaires.

Les métriques collectées sont répertoriées dans le tableau de cette section. Les métriques sont collectées pour AWS Trainium, AWS Inferentia et AWS Inferentia2.

L' CloudWatch agent collecte ces métriques à partir du [moniteur Neuron et effectue](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-monitor-user-guide.html) la corrélation des ressources Kubernetes nécessaire pour fournir des métriques au niveau du pod et du conteneur.


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `container_neuroncore_utilization` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  NeuronCore utilisation, pendant la période capturée, de l' NeuronCoreallocation au conteneur. Unité : pourcentage  | 
|  `container_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire du périphérique utilisée pour les constantes pendant l'entraînement par le NeuronCore qui est allouée au conteneur (ou les poids lors de l'inférence). Unité : octets  | 
|  `container_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le code exécutable des modèles par le NeuronCore qui est allouée au conteneur. Unité : octets  | 
|  `container_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le bloc-notes partagé par les NeuronCore modèles et allouée au conteneur. Cette région de mémoire est réservée aux modèles. Unité : octets  | 
|  `container_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le runtime Neuron par la mémoire NeuronCore allouée au conteneur. Unité : octets  | 
|  `container_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire du périphérique utilisée pour les tenseurs par la quantité NeuronCore allouée au conteneur. Unité : octets  | 
|  `container_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`, `NeuronCore`  |  La quantité totale de mémoire utilisée par la mémoire NeuronCore allouée au conteneur. Unité : octets  | 
|  `container_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NeuronDevice`  |  Le nombre d’événements ECC corrigés et non corrigés pour la SRAM sur puce et la mémoire d’appareil de l’appareil Neuron sur le nœud. Unité : nombre  | 
|  `pod_neuroncore_utilization` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  L' NeuronCore utilisation pendant la période capturée de l' NeuronCoreallocation au pod. Unité : pourcentage  | 
|  `pod_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour les constantes pendant l'entraînement par le NeuronCore module (ou les poids lors de l'inférence). Unité : octets  | 
|  `pod_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le code exécutable des modèles par le NeuronCore qui est allouée au pod. Unité : octets  | 
|  `pod_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le bloc-notes partagée entre les modèles par le module NeuronCore et allouée au pod. Cette région de mémoire est réservée aux modèles. Unité : octets  | 
|  `pod_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le runtime Neuron par la mémoire NeuronCore allouée au pod. Unité : octets  | 
|  `pod_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour les tenseurs par la mémoire NeuronCore allouée au pod. Unité : octets  | 
|  `pod_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`, `NeuronCore`  |  La quantité totale de mémoire utilisée par la mémoire NeuronCore allouée au pod. Unité : octets  | 
|  `pod_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NeuronDevice`  |  Le nombre d’événements ECC corrigés et non corrigés pour la SRAM sur puce et la mémoire d’appareil de l’appareil Neuron alloué à un pod. Unité : octets  | 
|  `node_neuroncore_utilization` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  L' NeuronCore utilisation pendant la période capturée du NeuronCore montant alloué au nœud. Unité : pourcentage  | 
|  `node_neuroncore_memory_usage_constants` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire du périphérique utilisée pour les constantes pendant l'entraînement par le NeuronCore nœud (ou les poids lors de l'inférence). Unité : octets  | 
|  `node_neuroncore_memory_usage_model_code` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le code exécutable des modèles par le NeuronCore qui est allouée au nœud. Unité : octets  | 
|  `node_neuroncore_memory_usage_model_shared_scratchpad` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le bloc-notes partagé entre NeuronCore les modèles par le nœud. Il s’agit d’une région de mémoire réservée aux modèles. Unité : octets  | 
|  `node_neuroncore_memory_usage_runtime_memory` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire de l'appareil utilisée pour le runtime Neuron par le périphérique NeuronCore qui est allouée au nœud. Unité : octets  | 
|  `node_neuroncore_memory_usage_tensors` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La quantité de mémoire du périphérique utilisée pour les tenseurs par le NeuronCore qui est allouée au nœud. Unité : octets  | 
|  `node_neuroncore_memory_usage_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceType`, `InstanceId`, `NodeName`, `NeuronDevice`, `NeuronCore`  |  La quantité totale de mémoire utilisée par le nœud NeuronCore qui est allouée au nœud. Unité : octets  | 
|  `node_neuron_execution_errors_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  Le nombre total d’erreurs d’exécution sur le nœud. Ceci est calculé par l' CloudWatch agent en agrégeant les erreurs des types suivants :`generic`,`numerical`,`transient`, `model``runtime`, et `hardware` Unité : nombre  | 
|  `node_neurondevice_runtime_memory_used_bytes` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  L’utilisation totale de la mémoire de l’appareil Neuron en octets sur le nœud. Unité : octets  | 
| `node_neuron_execution_latency` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName`  |  En secondes, la latence d’une exécution sur le nœud, mesurée par l’exécution Neuron. Unité : secondes  | 
| `node_neurondevice_hw_ecc_events_total` |  `ClusterName` `ClusterName`, `UltraServer` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `NodeName`, `NeuronDevice`  |  Le nombre d’événements ECC corrigés et non corrigés pour la SRAM sur puce et la mémoire d’appareil de l’appareil Neuron sur le nœud. Unité : nombre  | 

## AWS Métriques de l'Elastic Fabric Adapter (EFA)
<a name="Container-Insights-metrics-EFA"></a>

À partir de la version `1.300037.0` de l' CloudWatch agent, Container Insights, doté d'une observabilité améliorée pour Amazon EKS, collecte les métriques AWS Elastic Fabric Adapter (EFA) à partir de clusters Amazon EKS sur des instances Linux. L' CloudWatch agent doit être installé à l'aide de la version complémentaire CloudWatch Observability EKS `v1.5.2-eksbuild.1` ou d'une version ultérieure. Pour plus d’informations sur le module complémentaire, consultez [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md). Pour plus d’informations sur AWS Elastic Fabric Adapter, consultez [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/).

Pour que Container Insights collecte les métriques des adaptateurs AWS Elastic Fabric, vous devez remplir les conditions préalables suivantes :
+ Vous devez utiliser Container Insights avec une observabilité améliorée pour Amazon EKS, avec la version complémentaire Amazon CloudWatch Observability EKS `v1.5.2-eksbuild.1` ou une version ultérieure.
+ Le plugin de périphérique EFA doit être installé sur le cluster. Pour plus d'informations, voir [aws-efa-k8 s-device-plugin](https://github.com/aws/eks-charts/tree/master/stable/aws-efa-k8s-device-plugin) sur GitHub.

Les métriques collectées sont répertoriées dans le tableau suivant. 


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `container_efa_rx_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  Le nombre d’octets par seconde reçus par le(s) périphérique(s) EFA alloué(s) au conteneur. Unité : octets/seconde  | 
|  `container_efa_tx_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  Le nombre d’octets par seconde transmis par le(s) périphérique(s) EFA alloué(s) au conteneur. Unité : octets/seconde  | 
|  `container_efa_rx_dropped` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  Le nombre de paquets reçus puis abandonnés par le(s) périphérique(s) EFA attribué(s) au conteneur. Unité : nombre/seconde  | 
|  `container_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  Le nombre d’octets par seconde reçus au moyen d’opérations de lecture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au conteneur. Unité : octets/seconde  | 
|  `container_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  Nombre d’octets par seconde transmis au moyen d’opérations de lecture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au conteneur. Unité : octets/seconde  | 
|  `container_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `Namespace`, `PodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `ContainerName`, `NetworkInterfaceId`   |  Nombre d’octets par seconde reçus lors d’opérations d’écriture en accès direct à la mémoire distante par le(s) périphérique(s) EFA alloué(s) au conteneur. Unité : octets/seconde  | 
|  `pod_efa_rx_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  Le nombre d’octets par seconde reçus par le(s) périphérique(s) EFA alloué(s) au pod. Unité : octets/seconde  | 
|  `pod_efa_tx_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  Le nombre d’octets par seconde transmis par le(s) périphérique(s) EFA attribué(s) au pod. Unité : octets/seconde  | 
|  `pod_efa_rx_dropped` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  Nombre de paquets reçus puis abandonnés par le(s) périphérique(s) EFA affecté(s) au pod. Unité : nombre/seconde  | 
|  `pod_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  Nombre d’octets par seconde reçus au moyen d’opérations de lecture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au pod. Unité : octets/seconde  | 
|  `pod_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  Nombre d’octets par seconde transmis au moyen d’opérations de lecture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au pod. Unité : octets/seconde  | 
|  `pod_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `Namespace` `ClusterName`, `Namespace`, `Service` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName` `ClusterName`, `Namespace`, `PodName`, `FullPodName`, `NetworkInterfaceId`  |  Le nombre d’octets par seconde reçus lors d’opérations d’écriture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au pod. Unité : octets/seconde  | 
|  `node_efa_rx_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  Le nombre d’octets par seconde reçus par le(s) périphérique(s) EFA alloué(s) au nœud. Unité : octets/seconde  | 
|  `node_efa_tx_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  Le nombre d’octets par seconde transmis par le(s) périphérique(s) EFA alloué(s) au nœud. Unité : octets/seconde  | 
|  `node_efa_rx_dropped` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  Nombre de paquets reçus puis abandonnés par le(s) périphérique(s) EFA alloué(s) au nœud. Unité : nombre/seconde  | 
|  `node_efa_rdma_read_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  Le nombre d’octets par seconde reçus lors d’opérations de lecture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au nœud. Unité : octets/seconde  | 
|  `node_efa_rdma_write_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  Nombre d’octets par seconde transmis au moyen d’opérations de lecture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au pod. Unité : octets/seconde  | 
|  `node_efa_rdma_write_recv_bytes` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName` `ClusterName`, `InstanceId`, `InstanceType`, `NodeName`, `NetworkInterfaceId`  |  Le nombre d’octets par seconde reçus lors d’opérations d’écriture par accès direct à la mémoire à distance par le(s) périphérique(s) EFA alloué(s) au nœud. Unité : octets/seconde  | 

## Amazon SageMaker AI HyperPod métriques
<a name="Container-Insights-metrics-Sagemaker-HyperPod"></a>

À partir de la version `v2.0.1-eksbuild.1` du module complémentaire CloudWatch Observability EKS, Container Insights, doté d'une observabilité améliorée pour Amazon EKS, collecte automatiquement les Amazon SageMaker AI HyperPod métriques des clusters Amazon EKS. Pour plus d’informations sur le module complémentaire, consultez [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md). Pour plus d'informations sur Amazon SageMaker AI HyperPod, voir [Amazon SageMaker AI HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks.html).

Les métriques collectées sont répertoriées dans le tableau suivant. 


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `hyperpod_node_health_status_unschedulable` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indique si un nœud est étiqueté `Unschedulable` par Amazon SageMaker AI HyperPod. Cela signifie que le nœud fait l’objet de surveillances de l’état approfondies et qu’il n’est pas disponible pour exécuter des charges de travail. Unité : nombre  | 
|  `hyperpod_node_health_status_schedulable` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indique si un nœud est étiqueté `Schedulable` par Amazon SageMaker AI HyperPod. Cela signifie que le nœud a passé les surveillances de l’état de base ou approfondies et qu’il est disponible pour l’exécution des charges de travail. Unité : nombre  | 
|  `hyperpod_node_health_status_unschedulable_pending_replacement` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indique si un nœud est étiqueté `UnschedulablePendingReplacement` par HyperPod. Cela signifie que le nœud a échoué aux surveillances de l’état approfondies ou aux vérifications de l’agent de surveillance de l’état et qu’il a besoin d’être remplacé. Si la restauration automatique des nœuds est activée, le nœud sera automatiquement remplacé par Amazon SageMaker AI HyperPod. Unité : nombre  | 
|  `hyperpod_node_health_status_unschedulable_pending_reboot` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Indique si un nœud est étiqueté `UnschedulablePendingReboot` par Amazon SageMaker AI HyperPod. Cela signifie que le nœud exécute des vérifications de l’état approfondies et nécessite un redémarrage. Si la restauration automatique du nœud est activée, le nœud sera automatiquement redémarré par. Amazon SageMaker AI HyperPod Unité : nombre  | 

## Statistiques relatives aux NVMe conducteurs Amazon EBS
<a name="Container-Insights-metrics-EBS"></a>

À partir de la version ` 1.300056.0` de l' CloudWatch agent, Container Insights, doté d'une observabilité améliorée pour Amazon EKS, collecte automatiquement les métriques des NVMe pilotes Amazon EBS à partir des clusters Amazon EKS sur des instances Linux. L' CloudWatch agent doit être installé à l'aide de la version complémentaire CloudWatch d'Observability Amazon EKS `4.1.0` ou d'une version ultérieure. Pour plus d’informations sur le module complémentaire, consultez [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md). Pour plus d’informations sur Amazon EBS, consultez [Statistiques de performance détaillées d’Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-detailed-performance-stats.html).

Pour que Container Insights collecte les métriques des NVMe conducteurs Amazon EBS, vous devez remplir les conditions préalables suivantes :
+ Vous devez utiliser Container Insights avec une observabilité améliorée pour Amazon EKS, avec la version complémentaire CloudWatch Observability Amazon EKS `4.1.0` ou une version ultérieure.
+ Le module complémentaire du pilote CSI EBS `1.42.0` ou les Charts de Helm doivent être installés sur le cluster avec les métriques activées.
  + Pour activer les métriques lorsque vous utilisez le module complémentaire du pilote CSI Amazon EBS, utilisez l’option suivante lors de la création ou de la mise à jour du module complémentaire. `--configuration-values '{ "node": { "enableMetrics": true } }'`
  + Pour activer les métriques si vous utilisez les Charts de Helm, utilisez l’option suivante lorsque vous créez ou mettez à jour le module complémentaire. `--set node.enableMetrics=true`

Les métriques collectées sont répertoriées dans le tableau suivant. 


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `node_diskio_ebs_total_read_ops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Nombre total d’opérations de lecture terminées. | 
|  `node_diskio_ebs_total_write_ops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Nombre total d’opérations d’écriture terminées. | 
|  `node_diskio_ebs_total_read_bytes` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Nombre total d’octets lus transférés. | 
|  `node_diskio_ebs_total_write_bytes` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Nombre total d’octets écrits transférés. | 
|  `node_diskio_ebs_total_read_time` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Temps total, en microsecondes, passé pour toutes les opérations de lecture terminées. | 
|  `node_diskio_ebs_total_write_time` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Temps total, en microsecondes, passé pour toutes les opérations d’écriture terminées. | 
|  `node_diskio_ebs_volume_performance_exceeded_iops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Temps total, en microsecondes, pendant lequel la demande d’IOPS a dépassé les performances d’IOPS provisionnées pour le volume. | 
|  `node_diskio_ebs_volume_performance_exceeded_tp` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Temps total, en microsecondes, pendant lequel la demande de débit a dépassé les performances de débit provisionnées pour le volume. | 
|  `node_diskio_ebs_ec2_instance_performance_exceeded_iops` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Temps total, en microsecondes, pendant lequel le volume EBS a dépassé les performances d’IOPS maximales de l’instance Amazon EC2. | 
|  `node_diskio_ebs_ec2_instance_performance_exceeded_tp` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Temps total, en microsecondes, pendant lequel le volume EBS a dépassé le débit maximal de l’instance Amazon EC2. | 
|  `node_diskio_ebs_volume_queue_length` |  `ClusterName` `ClusterName`, `NodeName`, `InstanceId` `ClusterName`, `NodeName`, `InstanceId` `VolumeId`  | Nombre d’opérations de lecture et d’écriture en attente d’exécution. | 

# Métriques Container Insights pour Amazon EKS et Kubernetes
<a name="Container-Insights-metrics-EKS"></a>

Les tableaux suivants répertorient les métriques et les dimensions collectées par Container Insights pour Amazon EKS et Kubernetes. Ces métriques sont dans l'espace de noms `ContainerInsights`. Pour plus d'informations, consultez . [Métriques](cloudwatch_concepts.md#Metric).

Si vous ne voyez pas toutes les métriques Container Insights dans votre console, assurez-vous que vous avez terminé la configuration de Container Insights. Les métriques n'apparaissent pas tant que Container Insights n'a pas été complètement configuré. Pour de plus amples informations, veuillez consulter [Configuration de Container Insights](deploy-container-insights.md).


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `cluster_failed_node_count`  |  `ClusterName`  |  Nombre d'échecs des nœuds de travail dans le cluster. Un nœud est considéré comme ayant échoué s'il souffre de *conditions de nœud*. Pour plus d'informations, consultez [Conditions](https://kubernetes.io/docs/concepts/architecture/nodes/#condition) dans la documentation Kubernetes.  | 
|  `cluster_node_count`  |  `ClusterName`  |  Nombre total de composants master dans le cluster.  | 
|  `namespace_number_of_running_pods`  |  `Namespace` `ClusterName` `ClusterName`  |  Nombre de pods exécutés par espace de nom dans la ressource spécifiée par les dimensions que vous utilisez.  | 
|  `node_cpu_limit`  |  `ClusterName`   |  Nombre maximal d'unités UC qui peut être attribué à un seul nœud du cluster.  | 
|  `node_cpu_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage d'unités UC qui sont réservées pour les composants de nœud, tels que Kubelet, Kube-proxy et Docker. Formule : `node_cpu_request / node_cpu_limit`  `node_cpu_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_cpu_usage_total`  |  `ClusterName`  |  Nombre d'unités UC en cours d'utilisation sur les nœuds du cluster.  | 
|  `node_cpu_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage total d'unités UC en cours d'utilisation sur les nœuds du cluster. Formule : `node_cpu_usage_total / node_cpu_limit`  | 
|  `node_gpu_limit` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Le nombre total de GPU disponibles sur le nœud.  | 
|  `node_gpu_usage_total` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Le nombre de GPU en cours d’utilisation par les pods en cours d’exécution sur le nœud.  | 
|  `node_gpu_reserved_capacity` |  `ClusterName` `ClusterName`, `InstanceId`, `NodeName`  |  Le pourcentage de GPU actuellement réservé sur le nœud. La formule est la suivante : `node_gpu_request / node_gpu_limit`.  `node_gpu_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).   | 
|  `node_filesystem_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage total d'une capacité de système de fichiers utilisée sur les nœuds du cluster. Formule : `node_filesystem_usage / node_filesystem_capacity`  `node_filesystem_usage` et `node_filesystem_capacity` ne sont pas indiqués directement sous forme de métrique, mais constituent des champs dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_limit`  |  `ClusterName`  |  Quantité de mémoire maximale, en octets, qui peut être attribuée à un seul nœud du cluster.  | 
|  `node_memory_reserved_capacity`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage de mémoire actuellement utilisé sur les nœuds du cluster. Formule : `node_memory_request / node_memory_limit`  `node_memory_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_memory_utilization`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Pourcentage de mémoire actuellement utilisé par le ou les nœuds. Il s'agit du pourcentage d'utilisation de la mémoire du nœud divisé par la limitation de la mémoire du nœud. Formule : `node_memory_working_set / node_memory_limit`.   | 
|  `node_memory_working_set`  |  `ClusterName`   |  Quantité de mémoire, en octets, utilisée dans l'ensemble de travail des nœuds du cluster.  | 
|  `node_network_total_bytes`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Nombre total d'octets transmis et reçus par seconde sur le réseau par nœud dans un cluster. Formule : `node_network_rx_bytes + node_network_tx_bytes`  `node_network_rx_bytes` et `node_network_tx_bytes` ne sont pas indiqués directement sous forme de métrique, mais constituent des champs dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `node_number_of_running_containers`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Nombre de conteneurs en cours d'exécution par nœud dans un cluster.  | 
|  `node_number_of_running_pods`  |  `NodeName`, `ClusterName`, `InstanceId` `ClusterName`  |  Nombre de pods en cours d'exécution par nœud dans un cluster.  | 
|  `pod_cpu_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName`  |  Capacité d'UC qui est réservée par pod dans un cluster. Formule : `pod_cpu_request / node_cpu_limit`  `pod_cpu_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_cpu_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  Pourcentage d'unités UC utilisées par les pods. Formule : `pod_cpu_usage_total / node_cpu_limit`  | 
|  `pod_cpu_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  Pourcentage d'unités UC en cours d'utilisation par les pods par rapport à la limite des pods. Formule : `pod_cpu_usage_total / pod_cpu_limit`  | 
|  `pod_gpu_request` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  Les requêtes de GPU pour le pod. Cette valeur doit toujours être égale à `pod_gpu_limit`.  | 
|  `pod_gpu_limit` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  Le nombre maximum de GPU qui peuvent être assignés au pod dans un nœud.  | 
|  `pod_gpu_usage_total` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  Le nombre de GPU en cours d’allocation sur le pod.  | 
|  `pod_gpu_reserved_capacity` |  `ClusterName` `ClusterName`, `Namespace`, `PodName` `ClusterName`, `FullPodName`, `Namespace`, `PodName`  |  Le pourcentage de GPU actuellement réservé au pod. La formule est - pod\$1gpu\$1request / node\$1gpu\$1reserved\$1capacity.  | 
|  `pod_memory_reserved_capacity`  |  `PodName`, `Namespace`, `ClusterName` `ClusterName`  |  Pourcentage de mémoire réservé aux pods. Formule : `pod_memory_request / node_memory_limit`  `pod_memory_request` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_memory_utilization`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  Pourcentage de mémoire actuellement utilisé par le ou les pods. Formule : `pod_memory_working_set / node_memory_limit`  | 
|  `pod_memory_utilization_over_pod_limit`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  Pourcentage de mémoire utilisé par les pods par rapport à la limite des pods. Si l'un des conteneurs dans le pod n'a pas de limite de mémoire définie, cette métrique n'apparaît pas. Formule : `pod_memory_working_set / pod_memory_limit`  | 
|  `pod_network_rx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  Nombre d'octets reçus par seconde sur le réseau par le pod. Formule : `sum(pod_interface_network_rx_bytes)`  `pod_interface_network_rx_bytes` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_network_tx_bytes`  |  `PodName`, `Namespace`, `ClusterName` `Namespace`, `ClusterName` `Service`, `Namespace`, `ClusterName` `ClusterName`  |  Nombre d'octets transmis par seconde sur le réseau par le pod. Formule : `sum(pod_interface_network_tx_bytes)`  `pod_interface_network_tx_bytes` n'est pas indiqué directement sous forme de métrique, mais constitue un champ dans les événements du journal des performances. Pour de plus amples informations, veuillez consulter [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md).    | 
|  `pod_number_of_container_restarts`  |  `PodName`, `Namespace`, `ClusterName`  |  Nombre total de redémarrages de conteneur dans un pod.  | 
|  `service_number_of_running_pods`  |  `Service`, `Namespace`, `ClusterName` `ClusterName`  |  Nombre de blocs exécutant le ou les services du cluster.  | 

## Métriques Kueue
<a name="Container-Insights-metrics-Kueue"></a>

À partir de la version `v2.4.0-eksbuild.1` du module complémentaire CloudWatch Observability EKS, Container Insights for Amazon EKS prend en charge la collecte de métriques Kueue à partir de clusters Amazon EKS. Pour plus d’informations sur le module complémentaire, consultez [Installez l' CloudWatch agent avec le module complémentaire Amazon CloudWatch Observability EKS ou le graphique Helm](install-CloudWatch-Observability-EKS-addon.md).

Pour plus d’informations sur l’activation des métriques, consultez [Activation des métriques Kueue](install-CloudWatch-Observability-EKS-addon.md#enable-Kueue-metrics) pour les activer.

Les métriques Kueue qui sont collectées sont listées dans le tableau suivant. Ces métriques sont publiées dans l'espace de `ContainerInsights/Prometheus` noms dans CloudWatch. Pour filtrer ces métriques, utilisez les dimensions suivantes
+ `ClusterQueue`est le nom du ClusterQueue
+ Les valeurs possibles de `Status` sont `active` et `inadmissible`
+ Les valeurs possibles de `Reason` sont `Preempted`, `PodsReadyTimeout`, `AdmissionCheck`, `ClusterQueueStopped` et `InactiveWorkload`
+ `Flavor` est la saveur référencée.
+ `Resource` fait référence aux ressources informatiques du cluster, telles que `cpu`, `memory`, `gpu`, etc. 


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `kueue_pending_workloads` |  `ClusterName`, `ClusterQueue`, `Status` `ClusterName`, `ClusterQueue` `ClusterName`, `Status` `ClusterName`  |  Le nombre de charges de travail en attente.  | 
|  `kueue_evicted_workloads_total` |  `ClusterName`, `ClusterQueue`, `Reason` `ClusterName`, `ClusterQueue` `ClusterName`, `Reason` `ClusterName`  |  Le nombre total de charges de travail expulsées.  | 
|  `kueue_admitted_active_workloads` |  `ClusterName`, `ClusterQueue` `ClusterName`  |  Le nombre de charges de travail admises qui sont actives (non suspendues et non terminées).  | 
|  `kueue_cluster_queue_resource_usage` |  `ClusterName`, `ClusterQueue`, `Resource`, `Flavor` `ClusterName`, `ClusterQueue`, `Resource` `ClusterName`, `ClusterQueue`, `Flavor` `ClusterName`, `ClusterQueue` `ClusterName`  |  Indique l'utilisation totale des ressources du ClusterQueue.  | 
|  `kueue_cluster_queue_nominal_quota` |  `ClusterName`, `ClusterQueue`, `Resource`, `Flavor` `ClusterName`, `ClusterQueue`, `Resource` `ClusterName`, `ClusterQueue`, `Flavor` `ClusterName`, `ClusterQueue` `ClusterName`  |  Indique le quota de ressources du ClusterQueue.  | 

# Référence des journaux de performances Container Insights
<a name="Container-Insights-reference"></a>

Cette section inclut des informations de référence sur la façon dont Container Insights utilise les évènements de journaux de performances pour collecter les métriques. Lorsque vous déployez Container Insights, il crée automatiquement un groupe de journaux pour les événements du journal des performances. Il n'est pas nécessaire de créer ce groupe de journaux vous-même.

**Topics**
+ [Évènements de journaux de performances de Container Insights pour Amazon ECS](Container-Insights-reference-performance-logs-ECS.md)
+ [Évènements du journaal de performances de Container Insights pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-logs-EKS.md)
+ [Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes](Container-Insights-reference-performance-entries-EKS.md)

# Évènements de journaux de performances de Container Insights pour Amazon ECS
<a name="Container-Insights-reference-performance-logs-ECS"></a>

Voici des exemples d'évènements de journaux de performance que Container Insights collecte depuis Amazon ECS.

Ces journaux se trouvent dans CloudWatch Logs, dans un groupe de journaux nommé`/aws/ecs/containerinsights/CLUSTER_NAME/performance`. Au sein de ce groupe de journaux, chaque instance de conteneur aura un flux de journaux nommé `AgentTelemetry-CONTAINER_INSTANCE_ID`.

Vous pouvez interroger ces journaux à l'aide de requêtes, par exemple `{ $.Type = "Container" }` pour afficher tous les événements des journaux de conteneurs. 

**Type : Conteneur**

```
{
	"Version":"0",
	"Type":"Container",
	"ContainerName":"sleep",
	"TaskId":"7ac4dfba69214411b4783a3b8189c9ba",
	"TaskDefinitionFamily":"sleep360",
	"TaskDefinitionRevision":"1",
	"ContainerInstanceId":"0d7650e6dec34c1a9200f72098071e8f",
	"EC2InstanceId":"i-0c470579dbcdbd2f3",
	"ClusterName":"MyCluster",
	"Image":"busybox",
	"ContainerKnownStatus":"RUNNING",
	"Timestamp":1623963900000,
	"CpuUtilized":0.0,
	"CpuReserved":10.0,
	"MemoryUtilized":0,
	"MemoryReserved":10,
	"StorageReadBytes":0,
	"StorageWriteBytes":0,
	"NetworkRxBytes":0,
	"NetworkRxDropped":0,
	"NetworkRxErrors":0,
	"NetworkRxPackets":14,
	"NetworkTxBytes":0,
	"NetworkTxDropped":0,
	"NetworkTxErrors":0,
	"NetworkTxPackets":0
}
```

**Type : Tâche**

Même si les unités pour `StorageReadBytes` et `StorageWriteBytes` sont en octets/seconde, les valeurs représentent le nombre cumulé d’octets lus et écrits dans le stockage, respectivement. 

```
{
    "Version": "0",
    "Type": "Task",
    "TaskId": "7ac4dfba69214411b4783a3b8189c9ba",
    "TaskDefinitionFamily": "sleep360",
    "TaskDefinitionRevision": "1",
    "ContainerInstanceId": "0d7650e6dec34c1a9200f72098071e8f",
    "EC2InstanceId": "i-0c470579dbcdbd2f3",
    "ClusterName": "MyCluster",
    "AccountID": "637146863587",
    "Region": "us-west-2",
    "AvailabilityZone": "us-west-2b",
    "KnownStatus": "RUNNING",
    "LaunchType": "EC2",
    "PullStartedAt": 1623963608201,
    "PullStoppedAt": 1623963610065,
    "CreatedAt": 1623963607094,
    "StartedAt": 1623963610382,
    "Timestamp": 1623963900000,
    "CpuUtilized": 0.0,
    "CpuReserved": 10.0,
    "MemoryUtilized": 0,
    "MemoryReserved": 10,
    "StorageReadBytes": 0,
    "StorageWriteBytes": 0,
    "NetworkRxBytes": 0,
    "NetworkRxDropped": 0,
    "NetworkRxErrors": 0,
    "NetworkRxPackets": 14,
    "NetworkTxBytes": 0,
    "NetworkTxDropped": 0,
    "NetworkTxErrors": 0,
    "NetworkTxPackets": 0,
    "EBSFilesystemUtilized": 10,
    "EBSFilesystemSize": 20,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "CpuUtilized",
                    "Unit": "None"
                },
                {
                    "Name": "CpuReserved",
                    "Unit": "None"
                },
                {
                    "Name": "MemoryUtilized",
                    "Unit": "Megabytes"
                },
                {
                    "Name": "MemoryReserved",
                    "Unit": "Megabytes"
                },
                {
                    "Name": "StorageReadBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "StorageWriteBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "NetworkRxBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "NetworkTxBytes",
                    "Unit": "Bytes/Second"
                },
                {
                    "Name": "EBSFilesystemSize",
                    "Unit": "Gigabytes"
                },
                {
                    "Name": "EBSFilesystemUtilzed",
                    "Unit": "Gigabytes"
                }
            ],
            "Dimensions": [
                ["ClusterName"],
                [
                    "ClusterName",
                    "TaskDefinitionFamily"
                ]
            ]
        }
    ]
}
```

**Type : Service**

```
{   
    "Version": "0",
    "Type": "Service",
    "ServiceName": "myCIService",
    "ClusterName": "myCICluster",
    "Timestamp": 1561586460000,
    "DesiredTaskCount": 2,
    "RunningTaskCount": 2,
    "PendingTaskCount": 0,
    "DeploymentCount": 1,
    "TaskSetCount": 0,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "DesiredTaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "RunningTaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "PendingTaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "DeploymentCount",
                    "Unit": "Count"
                },
                {
                    "Name": "TaskSetCount",
                    "Unit": "Count"
                }
            ],
            "Dimensions": [
                [
                    "ServiceName",
                    "ClusterName"
                ]
            ]
        }
    ]
}
```

**Type : Volume**

```
{
    "Version": "0",
    "Type": "Volume",
    "TaskDefinitionFamily": "myCITaskDef",
    "TaskId": "7ac4dfba69214411b4783a3b8189c9ba",
    "ClusterName": "myCICluster",
    "ServiceName": "myCIService",
    "VolumeId": "vol-1233436545ff708cb",
    "InstanceId": "i-0c470579dbcdbd2f3",
    "LaunchType": "EC2",
    "VolumeName": "MyVolumeName",
    "EBSFilesystemUtilized": 10,
    "EBSFilesystemSize": 20,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "EBSFilesystemSize",
                    "Unit": "Gigabytes"
                },
                {
                    "Name": "EBSFilesystemUtilzed",
                    "Unit": "Gigabytes"
                }
            ],
            "Dimensions": [
                ["ClusterName"],
                [
                    "VolumeName",
                    "TaskDefinitionFamily",
                    "ClusterName"
                ],
                [
                    "ServiceName",
                    "ClusterName"
                ]
            ]
        }
    ]
}
```

**Type : Cluster**

```
{
    "Version": "0",
    "Type": "Cluster",
    "ClusterName": "myCICluster",
    "Timestamp": 1561587300000,
    "TaskCount": 5,
    "ContainerInstanceCount": 5,
    "ServiceCount": 2,
    "CloudWatchMetrics": [
        {
            "Namespace": "ECS/ContainerInsights",
            "Metrics": [
                {
                    "Name": "TaskCount",
                    "Unit": "Count"
                },
                {
                    "Name": "ContainerInstanceCount",
                    "Unit": "Count"
                },
                {
                    "Name": "ServiceCount",
                    "Unit": "Count"
                }
            ],
            "Dimensions": [
                [
                    "ClusterName"
                ]
            ]
        }
    ]
}
```

# Évènements du journaal de performances de Container Insights pour Amazon EKS et Kubernetes
<a name="Container-Insights-reference-performance-logs-EKS"></a>

Voici des exemples d'évènements de journaux de performances que Container Insights collecte à partir des clusters Amazon EKS et Kubernetes.

**Type : Node**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "node_cpu_utilization"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_utilization"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "node_network_total_bytes"
        },
        {
          "Unit": "Percent",
          "Name": "node_cpu_reserved_capacity"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_reserved_capacity"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_pods"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_containers"
        }
      ],
      "Dimensions": [
        [
          "NodeName",
          "InstanceId",
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    },
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "node_cpu_utilization"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_utilization"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "node_network_total_bytes"
        },
        {
          "Unit": "Percent",
          "Name": "node_cpu_reserved_capacity"
        },
        {
          "Unit": "Percent",
          "Name": "node_memory_reserved_capacity"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_pods"
        },
        {
          "Unit": "Count",
          "Name": "node_number_of_running_containers"
        },
        {
          "Name": "node_cpu_usage_total"
        },
        {
          "Name": "node_cpu_limit"
        },
        {
          "Unit": "Bytes",
          "Name": "node_memory_working_set"
        },
        {
          "Unit": "Bytes",
          "Name": "node_memory_limit"
        }
      ],
      "Dimensions": [
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor",
    "/proc",
    "pod",
    "calculated"
  ],
  "Timestamp": "1567096682364",
  "Type": "Node",
  "Version": "0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_cpu_limit": 4000,
  "node_cpu_request": 1130,
  "node_cpu_reserved_capacity": 28.249999999999996,
  "node_cpu_usage_system": 33.794636630852764,
  "node_cpu_usage_total": 136.47852169244098,
  "node_cpu_usage_user": 71.67075111567326,
  "node_cpu_utilization": 3.4119630423110245,
  "node_memory_cache": 3103297536,
  "node_memory_failcnt": 0,
  "node_memory_hierarchical_pgfault": 0,
  "node_memory_hierarchical_pgmajfault": 0,
  "node_memory_limit": 16624865280,
  "node_memory_mapped_file": 406646784,
  "node_memory_max_usage": 4230746112,
  "node_memory_pgfault": 0,
  "node_memory_pgmajfault": 0,
  "node_memory_request": 1115684864,
  "node_memory_reserved_capacity": 6.7109407818311055,
  "node_memory_rss": 798146560,
  "node_memory_swap": 0,
  "node_memory_usage": 3901444096,
  "node_memory_utilization": 6.601302600149552,
  "node_memory_working_set": 1097457664,
  "node_network_rx_bytes": 35918.392817386324,
  "node_network_rx_dropped": 0,
  "node_network_rx_errors": 0,
  "node_network_rx_packets": 157.67565245448117,
  "node_network_total_bytes": 68264.20276554905,
  "node_network_tx_bytes": 32345.80994816272,
  "node_network_tx_dropped": 0,
  "node_network_tx_errors": 0,
  "node_network_tx_packets": 154.21455923431654,
  "node_number_of_running_containers": 16,
  "node_number_of_running_pods": 13
}
```

**Type : NodeFS**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "node_filesystem_utilization"
        }
      ],
      "Dimensions": [
        [
          "NodeName",
          "InstanceId",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "EBSVolumeId": "aws://us-west-2b/vol-0a53108976d4a2fda",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567097939726",
  "Type": "NodeFS",
  "Version": "0",
  "device": "/dev/nvme0n1p1",
  "fstype": "vfs",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_filesystem_available": 17298395136,
  "node_filesystem_capacity": 21462233088,
  "node_filesystem_inodes": 10484720,
  "node_filesystem_inodes_free": 10367158,
  "node_filesystem_usage": 4163837952,
  "node_filesystem_utilization": 19.400767547940255
}
```

**Type : NodeDisk IO**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "EBSVolumeId": "aws://us-west-2b/vol-0a53108976d4a2fda",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor"
  ],
  "Timestamp": "1567096928131",
  "Type": "NodeDiskIO",
  "Version": "0",
  "device": "/dev/nvme0n1",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_diskio_io_service_bytes_async": 9750.505814277016,
  "node_diskio_io_service_bytes_read": 0,
  "node_diskio_io_service_bytes_sync": 230.6174506688036,
  "node_diskio_io_service_bytes_total": 9981.123264945818,
  "node_diskio_io_service_bytes_write": 9981.123264945818,
  "node_diskio_io_serviced_async": 1.153087253344018,
  "node_diskio_io_serviced_read": 0,
  "node_diskio_io_serviced_sync": 0.03603397666700056,
  "node_diskio_io_serviced_total": 1.1891212300110185,
  "node_diskio_io_serviced_write": 1.1891212300110185
}
```

**Type NodeNet** :

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567096928131",
  "Type": "NodeNet",
  "Version": "0",
  "interface": "eni972f6bfa9a0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal"
  },
  "node_interface_network_rx_bytes": 3163.008420864309,
  "node_interface_network_rx_dropped": 0,
  "node_interface_network_rx_errors": 0,
  "node_interface_network_rx_packets": 16.575629266820258,
  "node_interface_network_total_bytes": 3518.3935157426017,
  "node_interface_network_tx_bytes": 355.385094878293,
  "node_interface_network_tx_dropped": 0,
  "node_interface_network_tx_errors": 0,
  "node_interface_network_tx_packets": 3.9997714100370625
}
```

**Type : Pod**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "pod_cpu_utilization"
        },
        {
          "Unit": "Percent",
          "Name": "pod_memory_utilization"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "pod_network_rx_bytes"
        },
        {
          "Unit": "Bytes/Second",
          "Name": "pod_network_tx_bytes"
        },
        {
          "Unit": "Percent",
          "Name": "pod_cpu_utilization_over_pod_limit"
        },
        {
          "Unit": "Percent",
          "Name": "pod_memory_utilization_over_pod_limit"
        }
      ],
      "Dimensions": [
        [
          "PodName",
          "Namespace",
          "ClusterName"
        ],
        [
          "Service",
          "Namespace",
          "ClusterName"
        ],
        [
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    },
    {
      "Metrics": [
        {
          "Unit": "Percent",
          "Name": "pod_cpu_reserved_capacity"
        },
        {
          "Unit": "Percent",
          "Name": "pod_memory_reserved_capacity"
        }
      ],
      "Dimensions": [
        [
          "PodName",
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    },
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "pod_number_of_container_restarts"
        }
      ],
      "Dimensions": [
        [
          "PodName",
          "Namespace",
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "pod",
    "calculated"
  ],
  "Timestamp": "1567097351092",
  "Type": "Pod",
  "Version": "0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  },
  "pod_cpu_limit": 200,
  "pod_cpu_request": 200,
  "pod_cpu_reserved_capacity": 5,
  "pod_cpu_usage_system": 1.4504841104992765,
  "pod_cpu_usage_total": 5.817016867430125,
  "pod_cpu_usage_user": 1.1281543081661038,
  "pod_cpu_utilization": 0.14542542168575312,
  "pod_cpu_utilization_over_pod_limit": 2.9085084337150624,
  "pod_memory_cache": 8192,
  "pod_memory_failcnt": 0,
  "pod_memory_hierarchical_pgfault": 0,
  "pod_memory_hierarchical_pgmajfault": 0,
  "pod_memory_limit": 104857600,
  "pod_memory_mapped_file": 0,
  "pod_memory_max_usage": 25268224,
  "pod_memory_pgfault": 0,
  "pod_memory_pgmajfault": 0,
  "pod_memory_request": 104857600,
  "pod_memory_reserved_capacity": 0.6307275170893897,
  "pod_memory_rss": 22777856,
  "pod_memory_swap": 0,
  "pod_memory_usage": 25141248,
  "pod_memory_utilization": 0.10988455961791709,
  "pod_memory_utilization_over_pod_limit": 17.421875,
  "pod_memory_working_set": 18268160,
  "pod_network_rx_bytes": 9880.697124714186,
  "pod_network_rx_dropped": 0,
  "pod_network_rx_errors": 0,
  "pod_network_rx_packets": 107.80005532263283,
  "pod_network_total_bytes": 10158.829201483635,
  "pod_network_tx_bytes": 278.13207676944796,
  "pod_network_tx_dropped": 0,
  "pod_network_tx_errors": 0,
  "pod_network_tx_packets": 1.146027574644318,
  "pod_number_of_container_restarts": 0,
  "pod_number_of_containers": 1,
  "pod_number_of_running_containers": 1,
  "pod_status": "Running"
}
```

**Type PodNet** :

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567097351092",
  "Type": "PodNet",
  "Version": "0",
  "interface": "eth0",
  "kubernetes": {
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  },
  "pod_interface_network_rx_bytes": 9880.697124714186,
  "pod_interface_network_rx_dropped": 0,
  "pod_interface_network_rx_errors": 0,
  "pod_interface_network_rx_packets": 107.80005532263283,
  "pod_interface_network_total_bytes": 10158.829201483635,
  "pod_interface_network_tx_bytes": 278.13207676944796,
  "pod_interface_network_tx_dropped": 0,
  "pod_interface_network_tx_errors": 0,
  "pod_interface_network_tx_packets": 1.146027574644318
}
```

**Type : Conteneur**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-sample",
  "ClusterName": "myCICluster",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "pod",
    "calculated"
  ],
  "Timestamp": "1567097399912",
  "Type": "Container",
  "Version": "0",
  "container_cpu_limit": 200,
  "container_cpu_request": 200,
  "container_cpu_usage_system": 1.87958283771964,
  "container_cpu_usage_total": 6.159993652997942,
  "container_cpu_usage_user": 1.6707403001952357,
  "container_cpu_utilization": 0.15399984132494854,
  "container_memory_cache": 8192,
  "container_memory_failcnt": 0,
  "container_memory_hierarchical_pgfault": 0,
  "container_memory_hierarchical_pgmajfault": 0,
  "container_memory_limit": 104857600,
  "container_memory_mapped_file": 0,
  "container_memory_max_usage": 24580096,
  "container_memory_pgfault": 0,
  "container_memory_pgmajfault": 0,
  "container_memory_request": 104857600,
  "container_memory_rss": 22736896,
  "container_memory_swap": 0,
  "container_memory_usage": 24453120,
  "container_memory_utilization": 0.10574541028701798,
  "container_memory_working_set": 17580032,
  "container_status": "Running",
  "kubernetes": {
    "container_name": "cloudwatch-agent",
    "docker": {
      "container_id": "8967b6b37da239dfad197c9fdea3e5dfd35a8a759ec86e2e4c3f7b401e232706"
    },
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  },
  "number_of_container_restarts": 0
}
```

**Type : ContainerFS**

```
{
  "AutoScalingGroupName": "eksctl-myCICluster-nodegroup-standard-workers-NodeGroup-1174PV2WHZAYU",
  "ClusterName": "myCICluster",
  "EBSVolumeId": "aws://us-west-2b/vol-0a53108976d4a2fda",
  "InstanceId": "i-1234567890123456",
  "InstanceType": "t3.xlarge",
  "Namespace": "amazon-cloudwatch",
  "NodeName": "ip-192-0-2-0.us-west-2.compute.internal",
  "PodName": "cloudwatch-agent-statsd",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "cadvisor",
    "calculated"
  ],
  "Timestamp": "1567097399912",
  "Type": "ContainerFS",
  "Version": "0",

  "device": "/dev/nvme0n1p1",
  "fstype": "vfs",
  "kubernetes": {
    "container_name": "cloudwatch-agent",
    "docker": {
      "container_id": "8967b6b37da239dfad197c9fdea3e5dfd35a8a759ec86e2e4c3f7b401e232706"
    },
    "host": "ip-192-168-75-26.us-west-2.compute.internal",
    "labels": {
      "app": "cloudwatch-agent-statsd",
      "pod-template-hash": "df44f855f"
    },
    "namespace_name": "amazon-cloudwatch",
    "pod_id": "2f4ff5ac-c813-11e9-a31d-06e9dde32928",
    "pod_name": "cloudwatch-agent-statsd-df44f855f-ts4q2",
    "pod_owners": [
      {
        "owner_kind": "Deployment",
        "owner_name": "cloudwatch-agent-statsd"
      }
    ],
    "service_name": "cloudwatch-agent-statsd"
  }
}
```

**Type : Cluster**

```
{
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "cluster_node_count"
        },
        {
          "Unit": "Count",
          "Name": "cluster_failed_node_count"
        }
      ],
      "Dimensions": [
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "Sources": [
    "apiserver"
  ],
  "Timestamp": "1567097534160",
  "Type": "Cluster",
  "Version": "0",
  "cluster_failed_node_count": 0,
  "cluster_node_count": 3
}
```

**Type ClusterService** :

```
{
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "service_number_of_running_pods"
        }
      ],
      "Dimensions": [
        [
          "Service",
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "Namespace": "amazon-cloudwatch",
  "Service": "cloudwatch-agent-statsd",
  "Sources": [
    "apiserver"
  ],
  "Timestamp": "1567097534160",
  "Type": "ClusterService",
  "Version": "0",
  "kubernetes": {
    "namespace_name": "amazon-cloudwatch",
    "service_name": "cloudwatch-agent-statsd"
  },
  "service_number_of_running_pods": 1
}
```

**Type ClusterNamespace** :

```
{
  "CloudWatchMetrics": [
    {
      "Metrics": [
        {
          "Unit": "Count",
          "Name": "namespace_number_of_running_pods"
        }
      ],
      "Dimensions": [
        [
          "Namespace",
          "ClusterName"
        ],
        [
          "ClusterName"
        ]
      ],
      "Namespace": "ContainerInsights"
    }
  ],
  "ClusterName": "myCICluster",
  "Namespace": "amazon-cloudwatch",
  "Sources": [
    "apiserver"
  ],
  "Timestamp": "1567097594160",
  "Type": "ClusterNamespace",
  "Version": "0",
  "kubernetes": {
    "namespace_name": "amazon-cloudwatch"
  },
  "namespace_number_of_running_pods": 7
}
```

# Champs pertinents dans les évènements de journaux de performance pour Amazon EKS et Kubernetes
<a name="Container-Insights-reference-performance-entries-EKS"></a>

Pour Amazon EKS et Kubernetes, l' CloudWatch agent conteneurisé émet des données sous forme d'événements du journal des performances. Cela permet d' CloudWatch ingérer et de stocker des données à haute cardinalité. CloudWatch utilise les données contenues dans les événements du journal des performances pour créer CloudWatch des métriques agrégées au niveau du cluster, du nœud et du pod sans perdre de détails granulaires.

Le tableau suivant répertorie les champs de ces événements du journal de performances qui sont pertinents pour la collecte de données de métriques Container Insights. Vous pouvez utiliser CloudWatch Logs Insights pour rechercher l'un de ces champs afin de collecter des données ou d'étudier des problèmes. Pour plus d'informations, voir [Analyser les données des CloudWatch journaux avec Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).


| Type | Champ de journal | Source | Formule ou notes | 
| --- | --- | --- | --- | 
|  pod |  `pod_cpu_utilization`  |  Calculé  |  Formule : `pod_cpu_usage_total / node_cpu_limit`  | 
|  pod |  `pod_cpu_usage_total` `pod_cpu_usage_total` est signalé en Millicores.  |  cadvisor  |   | 
|  pod |  `pod_cpu_limit`  |  Calculé  |  Formule : `sum(container_cpu_limit)`  `sum(container_cpu_limit)` inclut des pods déjà terminés. Si l'un des conteneurs dans le pod n'a pas de limite d'UC définie, ce champ n'apparaît pas dans l'événement de journal. Inclut les [conteneurs init](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources).  | 
|  pod |  `pod_cpu_request`  |  Calculé  |  Formule : `sum(container_cpu_request)` L'élément `container_cpu_request` n'est pas forcément défini. Seuls ceux définis sont inclus dans la somme.  | 
|  pod |  `pod_cpu_utilization_over_pod_limit`  |  Calculé  |  Formule : `pod_cpu_usage_total / pod_cpu_limit`  | 
|  pod |  `pod_cpu_reserved_capacity`  |  Calculé  |  Formule : `pod_cpu_request / node_cpu_limit`  | 
|  pod |  `pod_memory_utilization`  |  Calculé  |  Formule : `pod_memory_working_set / node_memory_limit` Il s'agit du pourcentage d'utilisation de la mémoire du pod par rapport à la limitation de la mémoire du nœud.  | 
|  pod |  `pod_memory_working_set`  |  cadvisor  |   | 
|  pod |  `pod_memory_limit`  |  Calculé  |  Formule : `sum(container_memory_limit)` Si l'un des conteneurs dans le pod n'a pas de limite de mémoire définie, ce champ n'apparaît pas dans l'événement de journal. Inclut les [conteneurs init](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources).  | 
|  pod |  `pod_memory_request`  |  Calculé  |  Formule : `sum(container_memory_request)` L'élément `container_memory_request` n'est pas forcément défini. Seuls ceux définis sont inclus dans la somme.  | 
|  pod |  `pod_memory_utilization_over_pod_limit`  |  Calculé  |  Formule : `pod_memory_working_set / pod_memory_limit` Si l'un des conteneurs dans le pod n'a pas de limite de mémoire définie, ce champ n'apparaît pas dans l'événement de journal. Inclut les [conteneurs init](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources).  | 
|  pod |  `pod_memory_reserved_capacity`  |  Calculé  |  Formule : `pod_memory_request / node_memory_limit`  | 
|  pod |  `pod_network_tx_bytes`  |  Calculé  |  Formule : `sum(pod_interface_network_tx_bytes)` Ces données sont disponibles pour toutes les interfaces réseau (par pod). L'agent CloudWatch calcule le total et ajoute des règles d'extraction de métrique.  | 
|  pod |  `pod_network_rx_bytes`  |  Calculé  |  Formule : `sum(pod_interface_network_rx_bytes)`  | 
|  pod |  `pod_network_total_bytes`  |  Calculé  |  Formule : `pod_network_rx_bytes + pod_network_tx_bytes`  | 
|  PodNet |  `pod_interface_network_rx_bytes`  |  cadvisor  | Ces données correspondent au nombre d'octets rx réseau par seconde d'une interface réseau de pod.  | 
|  PodNet |  `pod_interface_network_tx_bytes`  |  cadvisor  | Ces données correspondent au nombre d'octets tx réseau par seconde d'une interface réseau de pod. | 
|  Conteneur |  `container_cpu_usage_total`  |  cadvisor  |   | 
|  Conteneur |  `container_cpu_limit`  |  cadvisor  |  Cet élément n'est pas forcément défini. S'il n'est pas défini, il ne sera pas transmis. | 
|  Conteneur |  `container_cpu_request`  |  cadvisor  |  Cet élément n'est pas forcément défini. S'il n'est pas défini, il ne sera pas transmis. | 
|  Conteneur |  `container_memory_working_set`  |  cadvisor  |   | 
|  Conteneur |  `container_memory_limit`  |  pod  |  Cet élément n'est pas forcément défini. S'il n'est pas défini, il ne sera pas transmis. | 
|  Conteneur |  `container_memory_request`  |  pod  |  Cet élément n'est pas forcément défini. S'il n'est pas défini, il ne sera pas transmis. | 
|  Nœud |  `node_cpu_utilization`  |  Calculé  |  Formule : `node_cpu_usage_total / node_cpu_limit`  | 
|  Nœud |  `node_cpu_usage_total`  |  cadvisor  |   | 
|  Nœud |  `node_cpu_limit`  |  /proc  |   | 
|  Nœud |  `node_cpu_request`  |  Calculé  | Formule : `sum(pod_cpu_request)` Pour les tâches cron, `node_cpu_request` inclut également les requêtes provenant de pods terminés. Cela peut entraîner une valeur élevée pour `node_cpu_reserved_capacity`.  | 
|  Nœud |  `node_cpu_reserved_capacity`  |  Calculé  | Formule : `node_cpu_request / node_cpu_limit`  | 
|  Nœud |  `node_memory_utilization`  |  Calculé  | Formule : `node_memory_working_set / node_memory_limit`  | 
|  Nœud |  `node_memory_working_set`  |  cadvisor  |   | 
|  Nœud |  `node_memory_limit`  |  /proc  |   | 
|  Nœud |  `node_memory_request`  |  Calculé  |  Formule : `sum(pod_memory_request)`  | 
|  Nœud |  `node_memory_reserved_capacity`  |  Calculé  | Formule : `node_memory_request / node_memory_limit`  | 
|  Nœud |  `node_network_rx_bytes`  |  Calculé  | Formule : `sum(node_interface_network_rx_bytes)`  | 
|  Nœud |  `node_network_tx_bytes`  |  Calculé  | Formule : `sum(node_interface_network_tx_bytes)`  | 
|  Nœud |  `node_network_total_bytes`  |  Calculé  | Formule : `node_network_rx_bytes + node_network_tx_bytes`  | 
|  Nœud |  `node_number_of_running_pods`  |  Liste de pods  |   | 
|  Nœud |  `node_number_of_running_containers`  |  Liste de pods  |   | 
|  NodeNet |  `node_interface_network_rx_bytes`  |  cadvisor  |  Ces données correspondent au nombre d'octets rx réseau par seconde d'une interface réseau de composant master.  | 
|  NodeNet |  `node_interface_network_tx_bytes`  |  cadvisor  |  Ces données correspondent au nombre d'octets tx réseau par seconde d'une interface réseau de composant master.  | 
|  NodeFS |  `node_filesystem_capacity`  |  cadvisor  |   | 
|  NodeFS |  `node_filesystem_usage`  |  cadvisor  |   | 
|  NodeFS |  `node_filesystem_utilization`  |  Calculé  |  Formule : `node_filesystem_usage / node_filesystem_capacity` Ces données sont disponibles par nom de périphérique.  | 
|  Cluster |  `cluster_failed_node_count`  |  Serveur d'API  |   | 
|  Cluster |  `cluster_node_count`  |  Serveur d'API  |   | 
|  Service |  `service_number_of_running_pods`  |  Serveur d'API  |   | 
|  `Namespace` |  `namespace_number_of_running_pods`  |  Serveur d'API  |   | 

## Exemples de calculs de métriques
<a name="Container-Insights-calculation-examples"></a>

Cette section inclut des exemples qui illustrent comment certaines des valeurs figurant dans le tableau précédent sont calculées.

Supposons que vous ayez un cluster à l'état suivant.

```
Node1
   node_cpu_limit = 4
   node_cpu_usage_total = 3
   
   Pod1
     pod_cpu_usage_total = 2
     
     Container1
        container_cpu_limit = 1
        container_cpu_request = 1
        container_cpu_usage_total = 0.8
        
     Container2
        container_cpu_limit = null
        container_cpu_request = null
        container_cpu_usage_total = 1.2
        
   Pod2
     pod_cpu_usage_total = 0.4
     
     Container3
        container_cpu_limit = 1
        container_cpu_request = 0.5
        container_cpu_usage_total = 0.4
        
Node2
   node_cpu_limit = 8
   node_cpu_usage_total = 1.5
   
   Pod3
     pod_cpu_usage_total = 1
     
     Container4
        container_cpu_limit = 2
        container_cpu_request = 2
        container_cpu_usage_total = 1
```

Le tableau suivant montre la façon dont les métriques d'UC du pod sont calculées à l'aide de ces données.


| Métrique | Formule | Pod1 | Pod2 | Pod3 | 
| --- | --- | --- | --- | --- | 
|  `pod_cpu_utilization` |  `pod_cpu_usage_total / node_cpu_limit`  |  2 / 4 = 50 %  |  0,4 / 4 = 10 %  |  1 / 8 = 12,5 %  | 
|  `pod_cpu_utilization_over_pod_limit` |  `pod_cpu_usage_total / sum(container_cpu_limit)`  |  Non applicable (N/A), car la limite d'UC pour `Container2` n'est pas définie  |  0,4 / 1 = 40 %  |  1 / 2 = 50 %  | 
|  `pod_cpu_reserved_capacity` |  `sum(container_cpu_request) / node_cpu_limit`  |  (1 \$1 0) / 4 = 25 %  |  0,5 / 4 = 12,5 %  |  2 / 8 = 25 %  | 

Le tableau suivant montre la façon dont les métriques d'UC du nœud sont calculées à l'aide de ces données.


| Métrique | Formule | Node1 | Node2 | 
| --- | --- | --- | --- | 
|  `node_cpu_utilization` |  `node_cpu_usage_total / node_cpu_limit`  |  3 / 4 = 75 %  |  1,5 / 8 = 18,75 %  | 
|  `node_cpu_reserved_capacity` |  `sum(pod_cpu_request) / node_cpu_limit`  |  1,5 / 4 = 37,5 %  |  2 / 8 = 25 %  | 

# Surveillance des métriques Prometheus Container Insights
<a name="ContainerInsights-Prometheus"></a>

CloudWatch La surveillance de Container Insights pour Prometheus automatise la découverte des métriques Prometheus à partir de systèmes et de charges de travail conteneurisés. Prometheus est une boîte à outils de surveillance de systèmes et d'alerte open source. Pour plus d'informations, consultez [What is Prometheus?](https://prometheus.io/docs/introduction/overview/) dans la documentation Prometheus.

La découverte des métriques Prometheus est prise en charge pour les clusters [Amazon Elastic Container Service](https://aws.amazon.com/ecs/), [Amazon Elastic Kubernetes Service](https://aws.amazon.com/eks/) et [Kubernetes](https://aws.amazon.com/kubernetes/) s'exécutant sur des instances Amazon EC2. Les types de métriques de compteur, de jauge et récapitulatives de Prometheus sont collectés.

Pour les clusters Amazon ECS et Amazon EKS, les types de lancements EC2 et Fargate sont pris en charge. Container Insights collecte automatiquement les métriques de plusieurs applications, et vous pouvez le configurer pour collecter les métriques à partir de n'importe quelle application.

Vous pouvez adopter Prometheus en tant que méthode open source et norme ouverte pour intégrer des métriques personnalisées dans CloudWatch. L' CloudWatch agent soutenu par Prometheus découvre et collecte les métriques Prometheus afin de surveiller, de dépanner et d'avertir plus rapidement en cas de dégradation des performances et de défaillances des applications. Cette méthode réduit également le nombre d'outils de surveillance nécessaires pour améliorer l'observabilité.

Container Insights Le support de Prometheus pay-per-use concerne les métriques et les journaux, y compris la collecte, le stockage et l'analyse. Pour plus d'informations, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

**Tableaux de bord préconçus pour certaines charges de travail**

La solution Container Insights Prometheus inclut des tableaux de bord préconçus pour les applications les plus populaires répertoriées dans cette section. Pour obtenir des exemples de configurations pour ces applications, consultez [(En option) Configuration d'exemples d'applications Amazon ECS conteneurisées pour les test de métriques Prometheus](ContainerInsights-Prometheus-Sample-Workloads-ECS.md) et [(En option) Configuration d'exemples d'applications Amazon EKS conteneurisées pour les test de métriques Prometheus](ContainerInsights-Prometheus-Sample-Workloads.md).

Vous pouvez également configurer Container Insights pour collecter les métriques Prometheus à partir d'autres services et applications conteneurisés, en modifiant le fichier de configuration de l'agent.

Applications avec des tableaux de bord préconçus pour les clusters Amazon EKS et Kubernetes s'exécutant sur les instances Amazon EC2 :
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy

Applications avec des tableaux de bord préconçus pour les clusters Amazon ECS :
+ AWS App Mesh
+ Java/JMX
+ NGINX
+ NGINX Plus

# Configuration de la collecte de métriques Prometheus sur des clusters Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-ECS"></a>

Pour collecter les métriques Prometheus à partir de clusters Amazon ECS, vous pouvez utiliser CloudWatch l'agent comme collecteur ou utiliser AWS la distribution pour collecteur. OpenTelemetry Pour plus d'informations sur l'utilisation de AWS Distro for OpenTelemetry Collector, consultez [https://aws-otel.github. io/docs/getting-started/container-insights/ecs-prométhée](https://aws-otel.github.io/docs/getting-started/container-insights/ecs-prometheus).

Les sections suivantes expliquent comment utiliser l' CloudWatch agent comme collecteur pour récupérer les métriques Prometheus. Vous installez l' CloudWatch agent avec Prometheus monitoring sur les clusters exécutant Amazon ECS, et vous pouvez éventuellement configurer l'agent pour récupérer des cibles supplémentaires. Ces sections fournissent également des didacticiels facultatifs pour configurer des exemples d'applications à utiliser pour les tests avec la surveillance Prometheus. 

Container Insights sur Amazon ECS prend en charge les combinaisons suivantes de type de lancement et de mode réseau pour les métriques Prometheus :


| Type de lancement Amazon ECS | Modes réseau pris en charge | 
| --- | --- | 
|  EC2 (Linux)  |  pont, hôte et awsvpc  | 
|  Fargate  |  awsvpc  | 

**Exigences de groupe de sécurité VPC**

Les règles d'entrée des groupes de sécurité pour les charges de travail Prometheus doivent ouvrir les ports Prometheus à l'agent pour récupérer les métriques Prometheus par CloudWatch l'adresse IP privée.

Les règles de sortie du groupe de sécurité pour l' CloudWatch agent doivent permettre à l'agent de se connecter au CloudWatch port des charges de travail Prometheus via une adresse IP privée. 

**Topics**
+ [Installez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon ECS](ContainerInsights-Prometheus-install-ECS.md)
+ [Récupération de sources Prometheus supplémentaires et importation de ces métriques](ContainerInsights-Prometheus-Setup-configure-ECS.md)
+ [(En option) Configuration d'exemples d'applications Amazon ECS conteneurisées pour les test de métriques Prometheus](ContainerInsights-Prometheus-Sample-Workloads-ECS.md)

# Installez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-install-ECS"></a>

Cette section explique comment configurer l' CloudWatch agent avec la surveillance Prometheus dans un cluster exécutant Amazon ECS. Après cela, l'agent récupère et importe automatiquement les métriques pour les applications suivantes exécutées dans ce cluster.
+ AWS App Mesh
+ Java/JMX

Vous pouvez également configurer l'agent pour récupérer et importer les métriques à partir d'applications et sources Prometheus supplémentaires.

## Configuration de rôles IAM
<a name="ContainerInsights-Prometheus-Setup-ECS-IAM"></a>

Vous avez besoin de deux rôles IAM pour définir la tâche de l' CloudWatch agent. Si vous indiquez **CreateIAMRoles=True** dans la CloudFormation pile que Container Insights doit créer ces rôles pour vous, les rôles seront créés avec les autorisations appropriées. Si vous souhaitez les créer vous-même ou utiliser des rôles existants, les autorisations et rôles suivants sont requis.
+ **CloudWatch rôle de tâche ECS** de l' CloudWatchagent : le conteneur de l'agent utilise ce rôle. Elle doit inclure la **CloudWatchAgentServerPolicy**politique et une politique gérée par le client qui contient les autorisations en lecture seule suivantes :
  + `ec2:DescribeInstances`
  + `ecs:ListTasks`
  + `ecs:ListServices`
  + `ecs:DescribeContainerInstances`
  + `ecs:DescribeServices`
  + `ecs:DescribeTasks`
  + `ecs:DescribeTaskDefinition`
+ **CloudWatch rôle d'exécution des tâches de l'agent ECS** : il s'agit du rôle dont Amazon ECS a besoin pour lancer et exécuter vos conteneurs. Assurez-vous que votre rôle d'exécution des tâches est associé à **Amazon SSMRead OnlyAccess ECSTask** **ExecutionRolePolicy, Amazon** et aux **CloudWatchAgentServerPolicy**politiques. Si vous souhaitez stocker des données plus sensibles que Amazon ECS peut utiliser, consultez [Spécification de données sensibles](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html).

## Installez l' CloudWatch agent avec le système de surveillance Prometheus en utilisant CloudFormation
<a name="ContainerInsights-Prometheus-Setup-ECS-CFN"></a>

Vous l'utilisez AWS CloudFormation pour installer l' CloudWatch agent avec Prometheus monitoring pour les clusters Amazon ECS. La liste suivante montre les paramètres que vous utiliserez dans le modèle CloudFormation .
+ **ECSClusterNom** — Spécifie le cluster Amazon ECS cible.
+ **Créer IAMRoles** — Spécifiez **True** pour créer de nouveaux rôles pour le rôle de tâche Amazon ECS et le rôle d'exécution de tâche Amazon ECS. Spécifiez **False** pour réutiliser les rôles existants.
+ **TaskRoleName**— Si vous avez spécifié **True** **Create IAMRoles**, cela indique le nom à utiliser pour le nouveau rôle de tâche Amazon ECS. Si vous avez spécifié **False** **Create IAMRoles**, cela indique le rôle existant à utiliser comme rôle de tâche Amazon ECS. 
+ **ExecutionRoleName**— Si vous avez spécifié **True** **Create IAMRoles**, cela indique le nom à utiliser pour le nouveau rôle d'exécution de tâches Amazon ECS. Si vous avez spécifié **False** **Create IAMRoles**, cela indique le rôle existant à utiliser comme rôle d'exécution de tâches Amazon ECS. 
+ **ECSNetworkMode** — Si vous utilisez le type de lancement EC2, spécifiez le mode réseau ici. Il doit être **bridge** ou **host**.
+ **ECSLaunchType** — Spécifiez **fargate** soit**EC2**.
+ **SecurityGroupID** — Si le **ECSNetworkmode est activé****awsvpc**, spécifiez l'ID du groupe de sécurité ici.
+ **SubnetId — Si le **ECSNetworkmode est défini sur Mode****awsvpc**, spécifiez l'ID** du sous-réseau ici.

### Exemples de commande
<a name="ContainerInsights-Prometheus-Setup-ECS-CFNcommands"></a>

Cette section inclut des exemples de CloudFormation commandes pour installer Container Insights avec la surveillance Prometheus dans différents scénarios.

**Création d'une CloudFormation pile pour un cluster Amazon ECS en mode réseau en mode pont**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_NETWORK_MODE=bridge
export CREATE_IAM_ROLES=True
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name

curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
    --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

**Création d'une CloudFormation pile pour un cluster Amazon ECS en mode réseau hôte**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_NETWORK_MODE=host
export CREATE_IAM_ROLES=True
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name


curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
    --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \ 
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

**Création d'une CloudFormation pile pour un cluster Amazon ECS en mode réseau awsvpc**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_LAUNCH_TYPE=EC2
export CREATE_IAM_ROLES=True
export ECS_CLUSTER_SECURITY_GROUP=your_security_group_eg_sg-xxxxxxxxxx
export ECS_CLUSTER_SUBNET=your_subnet_eg_subnet-xxxxxxxxxx
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name

curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-${ECS_LAUNCH_TYPE}-awsvpc \
    --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSLaunchType,ParameterValue=${ECS_LAUNCH_TYPE} \
                 ParameterKey=SecurityGroupID,ParameterValue=${ECS_CLUSTER_SECURITY_GROUP} \
                 ParameterKey=SubnetID,ParameterValue=${ECS_CLUSTER_SUBNET} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

**Créer une CloudFormation pile pour un cluster Fargate en mode réseau awsvpc**

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_name
export ECS_LAUNCH_TYPE=FARGATE
export CREATE_IAM_ROLES=True
export ECS_CLUSTER_SECURITY_GROUP=your_security_group_eg_sg-xxxxxxxxxx
export ECS_CLUSTER_SUBNET=your_subnet_eg_subnet-xxxxxxxxxx
export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
export ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name            

curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml

aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-${ECS_LAUNCH_TYPE}-awsvpc \
    --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                 ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \
                 ParameterKey=ECSLaunchType,ParameterValue=${ECS_LAUNCH_TYPE} \
                 ParameterKey=SecurityGroupID,ParameterValue=${ECS_CLUSTER_SECURITY_GROUP} \
                 ParameterKey=SubnetID,ParameterValue=${ECS_CLUSTER_SUBNET} \
                 ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \
                 ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \
    --capabilities CAPABILITY_NAMED_IAM \
    --region ${AWS_DEFAULT_REGION} \
    --profile ${AWS_PROFILE}
```

### AWS ressources créées par la CloudFormation pile
<a name="ContainerInsights-Prometheus-Setup-ECS-resources"></a>

Le tableau suivant répertorie les AWS ressources créées lorsque vous configurez la surveillance CloudFormation de Container Insights with Prometheus sur un cluster Amazon ECS.


| Type de ressource | Nom de la ressource | Commentaires | 
| --- | --- | --- | 
|  AWS::SSM::Parameter  |  AmazonCloudWatch- CWAgent Configurer-\$1 -\$1 -\$1 *ECS\$1CLUSTER\$1NAME* *ECS\$1LAUNCH\$1TYPE* *ECS\$1NETWORK\$1MODE*  |  Il s'agit de l' CloudWatch agent doté de l'App Mesh par défaut et d'une définition de format métrique Java/JMX intégrée.  | 
|  AWS::SSM::Parameter  |  AmazonCloudWatch-PrometheusConfigName-\$1*ECS\$1CLUSTER\$1NAME*-\$1*ECS\$1LAUNCH\$1TYPE*-\$1*ECS\$1NETWORK\$1MODE*  |  Il s'agit de la configuration de récupération Prometheus.  | 
|  AWS::IAM::Role  |  **\$1ECS\$1TASK\$1ROLE\$1NAME**.   |  Le rôle de tâche Amazon ECS. Ceci est créé uniquement si vous avez spécifié **True** pour `CREATE_IAM_ROLES`.  | 
|  AWS::IAM::Role  |  **\$1\$1ECS\$1EXECUTION\$1ROLE\$1NAME\$1**   |  Le rôle d'exécution de tâche Amazon ECS. Ceci est créé uniquement si vous avez spécifié **True** pour `CREATE_IAM_ROLES`.  | 
|  AWS::ECS::TaskDefinition  |  *ECS\$1CLUSTER\$1NAME*cwagent-prométheus-\$1 -\$1 *ECS\$1LAUNCH\$1TYPE* *ECS\$1NETWORK\$1MODE*   |   | 
|  AWS::ECS::Service  |  cwagent-prometheus-replica-service-\$1*ECS\$1LAUNCH\$1TYPE*-\$1*ECS\$1NETWORK\$1MODE*  |   | 

### Supprimer la CloudFormation pile de l' CloudWatch agent grâce à la surveillance Prometheus
<a name="ContainerInsights-Prometheus-ECS-delete"></a>

Pour supprimer l' CloudWatch agent d'un cluster Amazon ECS, entrez ces commandes.

```
export AWS_PROFILE=your_aws_config_profile_eg_default
export AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1
export CLOUDFORMATION_STACK_NAME=your_cloudformation_stack_name

aws cloudformation delete-stack \
--stack-name ${CLOUDFORMATION_STACK_NAME} \
--region ${AWS_DEFAULT_REGION} \
--profile ${AWS_PROFILE}
```

# Récupération de sources Prometheus supplémentaires et importation de ces métriques
<a name="ContainerInsights-Prometheus-Setup-configure-ECS"></a>

L' CloudWatch agent chargé de la surveillance par Prometheus a besoin de deux configurations pour récupérer les métriques Prometheus. L'une concerne les configurations standard Prometheus, comme décrit dans [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) dans la documentation Prometheus. L'autre concerne la configuration de l' CloudWatch agent.

Pour les clusters Amazon ECS, les configurations sont intégrées au Parameter Store de AWS Systems Manager par les secrets de la définition de tâche Amazon ECS :
+ Le secret `PROMETHEUS_CONFIG_CONTENT` concerne la configuration de récupération Prometheus.
+ Le secret `CW_CONFIG_CONTENT` réside dans la configuration de CloudWatch l'agent. 

Pour extraire des sources de métriques Prometheus supplémentaires et les importer, CloudWatch vous devez modifier à la fois la configuration de Prometheus Scrape et la configuration de l'agent, puis redéployer CloudWatch l'agent avec la configuration mise à jour.

**Exigences de groupe de sécurité VPC**

Les règles d'entrée des groupes de sécurité pour les charges de travail Prometheus doivent ouvrir les ports Prometheus à l'agent pour récupérer les métriques Prometheus par CloudWatch l'adresse IP privée.

Les règles de sortie du groupe de sécurité pour l' CloudWatch agent doivent permettre à l'agent de se connecter au CloudWatch port des charges de travail Prometheus via une adresse IP privée. 

## Configuration de récupération Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-global"></a>

L' CloudWatch agent prend en charge les configurations standard de Prometheus scrape, comme indiqué[https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) <scrape\$1config>dans la documentation de Prometheus. Vous pouvez modifier cette section pour mettre à jour les configurations déjà présentes dans ce fichier et ajouter des cibles de récupération Prometheus supplémentaires. Par défaut, l'exemple de fichier de configuration contient les lignes de configuration globale suivantes :

```
global:
  scrape_interval: 1m
  scrape_timeout: 10s
```
+ **scrape\$1interval**– Définit la fréquence à laquelle récupérer les cibles.
+ **scrape\$1timeout**– Définit le temps d'attente avant l'expiration d'une requête de récupération.

Vous pouvez également définir différentes valeurs pour ces paramètres au niveau de la tâche, afin de remplacer les configurations globales.

### Tâches de récupération Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-scrape"></a>

Certaines tâches de scraping par défaut sont déjà configurées dans les fichiers YAML de l' CloudWatch agent. Par exemple, dans les fichiers YAML pour Amazon ECS tels que `cwagent-ecs-prometheus-metric-for-bridge-host.yaml`, les tâches de récupération par défaut sont configurées dans la section `ecs_service_discovery`.

```
"ecs_service_discovery": {
                  "sd_frequency": "1m",
                  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
                  "docker_label": {
                  },
                  "task_definition_list": [
                    {
                      "sd_job_name": "ecs-appmesh-colors",
                      "sd_metrics_ports": "9901",
                      "sd_task_definition_arn_pattern": ".*:task-definition\/.*-ColorTeller-(white):[0-9]+",
                      "sd_metrics_path": "/stats/prometheus"
                    },
                    {
                      "sd_job_name": "ecs-appmesh-gateway",
                      "sd_metrics_ports": "9901",
                      "sd_task_definition_arn_pattern": ".*:task-definition/.*-ColorGateway:[0-9]+",
                      "sd_metrics_path": "/stats/prometheus"
                    }
                  ]
                }
```

Chacune de ces cibles par défaut est supprimée et les métriques sont envoyées dans le journal des événements CloudWatch à l'aide d'un format de métrique intégré. Pour de plus amples informations, veuillez consulter [Intégration de métriques dans les journaux](CloudWatch_Embedded_Metric_Format.md).

Les événements de journal des clusters Amazon ECS sont stockés dans le groupe de journaux **aws/ecs/containerinsights//*cluster\$1name*/prometheus.**

Chaque tâche de récupération est contenue dans un flux de journaux différent au sein de ce groupe de journaux.

Pour ajouter une nouvelle cible de récupération, vous ajoutez une nouvelle entrée dans la section `task_definition_list` sous la section `ecs_service_discovery` du fichier YAML et redémarrez l'agent. Pour un exemple de ce processus, consultez [Didacticiel pour l'ajout d'une nouvelle cible de récupération Prometheus : métrique du serveur d'API Prometheus](ContainerInsights-Prometheus-Setup-configure.md#ContainerInsights-Prometheus-Setup-new-exporters).

## CloudWatch configuration de l'agent pour Prometheus
<a name="ContainerInsights-Prometheus-Setup-cw-agent-config"></a>

Le fichier de configuration de l' CloudWatch agent contient une `prometheus` section `metrics_collected` dédiée à la configuration du scraping de Prometheus. Elle inclut les options de configuration suivantes :
+ **cluster\$1name**– Spécifie le nom du cluster à ajouter en tant qu'étiquette dans l'évènement du journal. Ce champ est facultatif. Si vous l'omettez, l'agent peut détecter le nom du cluster Amazon ECS.
+ **log\$1group\$1name**– Spécifie le nom du groupe de journaux pour les métriques Prometheus récupérées. Ce champ est facultatif. Si vous l'omettez, utilisez**/ CloudWatch aws/ecs/containerinsights/*cluster\$1name*/prometheus** pour les journaux des clusters Amazon ECS.
+ **prometheus\$1config\$1path**– Spécifie le chemin d'accès du fichier de configuration de récupération Prometheus. Si la valeur de ce champ commence par `env:`, le contenu du fichier de configuration de récupération Prometheus sera récupéré à partir de la variable d'environnement du conteneur. Ne modifiez pas ce champ.
+ **ecs\$1service\$1discovery**– Il s'agit de la section qui spécifie les configurations des fonctions de découverte automatique de la cible Amazon ECS Prometheus. Deux modes sont pris en charge pour découvrir les cibles Prometheus : découverte basée sur l'étiquette docker du conteneur ou découverte basée sur l'expression régulière ARN de définition de tâche Amazon ECS. Vous pouvez utiliser les deux modes ensemble et l' CloudWatchagent dédupliquera les cibles découvertes en fonction de : *\$1private\$1ip\$1 : \$1port\$1/\$1metrics\$1path\$1*.

  La section `ecs_service_discovery` peut contenir les champs suivants :
  + `sd_frequency` est la fréquence de découverte des exportateurs Prometheus. Spécifiez un nombre et un suffixe d'unité. Par exemple, `1m` pour une fois par minute ou `30s` pour une fois toutes les 30 secondes. Les suffixes d'unités valides sont `ns`, `us`, `ms`, `s`, `m` et `h`.

    Ce champ est facultatif. La valeur par défaut est de 60 secondes (1 minute).
  + `sd_target_cluster` est le nom du cluster Amazon ECS cible pour la découverte automatique. Ce champ est facultatif. Le nom par défaut est le nom du cluster Amazon ECS sur lequel l' CloudWatch agent est installé. 
  + `sd_cluster_region` est la région du cluster Amazon ECS cible. Ce champ est facultatif. La valeur par défaut est la région du cluster Amazon ECS dans laquelle l' CloudWatch agent est installé.
  + `sd_result_file` est le chemin d'accès du fichier YAML pour les résultats de la cible Prometheus. La configuration de récupération Prometheus fera référence à ce fichier.
  + `docker_label` est une section facultative que vous pouvez utiliser pour spécifier la configuration de la découverte de service basée sur des étiquettes de docker. Si vous omettez cette section, la découverte basée sur les étiquettes docker n'est pas utilisée. Cette section peut contenir les champs suivants :
    + `sd_port_label` est le nom de l'étiquette docker du conteneur qui spécifie le port du conteneur pour les métriques Prometheus. La valeur par défaut est `ECS_PROMETHEUS_EXPORTER_PORT`. Si le conteneur ne possède pas cette étiquette docker, l' CloudWatch agent l'ignorera.
    + `sd_metrics_path_label` est le nom de l'étiquette docker du conteneur qui spécifie le chemin d'accès aux métriques Prometheus. La valeur par défaut est `ECS_PROMETHEUS_METRICS_PATH`. Si le conteneur n'a pas cette étiquette docker, l'agent utilise le chemin par défaut `/metrics`.
    + `sd_job_name_label` est le nom de l'étiquette docker du conteneur qui spécifie le nom de la tâche de récupération Prometheus. La valeur par défaut est `job`. Si le conteneur ne possède pas cette étiquette docker, l' CloudWatch agent utilise le nom de la tâche dans la configuration Prometheus Scrape.
  + `task_definition_list` est une section facultative que vous pouvez utiliser pour spécifier la configuration de la découverte de service basée sur les définitions de tâches. Si vous omettez cette section, la découverte basée sur les définitions de tâches n'est pas utilisée. Cette section peut contenir les champs suivants :
    + `sd_task_definition_arn_pattern` est le modèle à utiliser pour spécifier les définitions de tâches Amazon ECS à découvrir. Il s'agit d'une expression régulière.
    + `sd_metrics_ports` répertorie le containerPort pour les métriques Prometheus. Séparez les containerPorts par des points-virgules.
    + `sd_container_name_pattern` spécifie les noms des conteneurs de tâches Amazon ECS. Il s'agit d'une expression régulière.
    + `sd_metrics_path` spécifie le chemin de métrique Prometheus. Si vous ne spécifiez pas ce paramètre, l'agent utilise le chemin par défaut `/metrics`
    + `sd_job_name` spécifie le nom de la tâche de récupération Prometheus. Si vous omettez ce champ, l' CloudWatch agent utilise le nom de la tâche dans la configuration Prometheus Scrape.
  + `service_name_list_for_tasks` est une section facultative que vous pouvez utiliser pour spécifier la configuration de la découverte de service basée sur les noms. Si vous omettez cette section, la découverte basée sur les noms n'est pas utilisée. Cette section peut contenir les champs suivants :
    + `sd_service_name_pattern` est le modèle à utiliser pour spécifier l'Amazon ECS service où les tâches doivent être découvertes. Il s'agit d'une expression régulière.
    + `sd_metrics_ports` répertorie le `containerPort` pour les métriques Prometheus. Séparez plusieurs `containerPorts` avec des points-virgules.
    + `sd_container_name_pattern` spécifie les noms des conteneurs de tâches Amazon ECS. Il s'agit d'une expression régulière.
    + `sd_metrics_path` spécifie le chemin d'accès aux métriques Prometheus. Si vous ne spécifiez pas ce paramètre, l'agent utilise le chemin par défaut `/metrics`.
    + `sd_job_name` spécifie le nom de la tâche de récupération Prometheus. Si vous omettez ce champ, l' CloudWatch agent utilise le nom de la tâche dans la configuration Prometheus Scrape. 
+ **metric\$1declaration** – Ce sont des sections qui spécifient le tableau de journaux avec le format de métrique intégré à générer. Il existe des sections `metric_declaration` pour chaque source Prometheus que l'agent CloudWatch importe par défaut. Chacune de ces sections comprend les champs suivants :
  + `label_matcher` est une expression régulière qui vérifie la valeur des étiquettes répertoriées dans `source_labels`. Les métriques correspondantes sont activées pour être incluses dans le format de métrique intégré envoyé à CloudWatch. 

    Si plusieurs étiquettes sont spécifiées dans `source_labels`, nous vous recommandons de ne pas utiliser les caractères `^` ou `$` dans l'expression régulière pour `label_matcher`.
  + `source_labels` spécifie la valeur des étiquettes qui sont vérifiées par la ligne `label_matcher`.
  + `label_separator` spécifie le séparateur à utiliser dans la ligne ` label_matcher` si plusieurs `source_labels` sont spécifiées. La valeur par défaut est `;`. Vous pouvez voir cette valeur par défaut utilisée dans la ligne `label_matcher` dans l'exemple suivant.
  + `metric_selectors` est une expression régulière qui spécifie les métriques à collecter et à envoyer à CloudWatch.
  + `dimensions` est la liste des étiquettes à utiliser comme dimensions CloudWatch pour chaque métrique sélectionnée.

Consultez l'exemple `metric_declaration` suivant.

```
"metric_declaration": [
  {
     "source_labels":[ "Service", "Namespace"],
     "label_matcher":"(.*node-exporter.*|.*kube-dns.*);kube-system$",
     "dimensions":[
        ["Service", "Namespace"]
     ],
     "metric_selectors":[
        "^coredns_dns_request_type_count_total$"
     ]
  }
]
```

Cet exemple montre comment configurer une section de format de métrique intégrée à envoyer en tant qu'événement de journaux si les conditions suivantes sont remplies :
+ La valeur de `Service` contient `node-exporter` ou `kube-dns`.
+ La valeur du paramètre `Namespace` est `kube-system`.
+ La métrique Prometheus `coredns_dns_request_type_count_total` contient les deux étiquettes `Namespace` et `Service`.

L'événement de journal envoyé inclut la section en surbrillance suivante :

```
{
   "CloudWatchMetrics":[
      {
         "Metrics":[
            {
               "Name":"coredns_dns_request_type_count_total"
            }
         ],
         "Dimensions":[
            [
               "Namespace",
               "Service"
            ]
         ],
         "Namespace":"ContainerInsights/Prometheus"
      }
   ],
   "Namespace":"kube-system",
   "Service":"kube-dns",
   "coredns_dns_request_type_count_total":2562,
   "eks_amazonaws_com_component":"kube-dns",
   "instance":"192.168.61.254:9153",
   "job":"kubernetes-service-endpoints",
   ...
}
```

# Guide détaillé de la découverte automatique sur les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-autodiscovery-ecs"></a>

Prometheus fournit des dizaines de mécanismes dynamiques de découverte de service, comme décrit dans [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config). Toutefois, il n'y a pas de découverte de service intégrée pour Amazon ECS. L' CloudWatch agent ajoute ce mécanisme.

Lorsque la découverte du service Amazon ECS Prometheus est activée, CloudWatch l'agent effectue régulièrement les appels d'API suivants aux frontends Amazon ECS et Amazon EC2 pour récupérer les métadonnées des tâches ECS en cours d'exécution dans le cluster ECS cible. 

```
EC2:DescribeInstances
ECS:ListTasks
ECS:ListServices
ECS:DescribeContainerInstances
ECS:DescribeServices
ECS:DescribeTasks
ECS:DescribeTaskDefinition
```

Les métadonnées sont utilisées par l' CloudWatch agent pour scanner les cibles Prometheus au sein du cluster ECS. L' CloudWatch agent prend en charge trois modes de découverte de services :
+ découverte de service basée sur l'étiquette docker du conteneur ;
+ découverte de service basée sur l'expression régulière ARN de la tâche ECS ;
+ découverte de service basée sur l'expression régulière du nom du service ECS.

Tous les modes peuvent être utilisés ensemble. CloudWatch l'agent déduplique les cibles découvertes en fonction de :. `{private_ip}:{port}/{metrics_path}`

Toutes les cibles découvertes sont écrites dans un fichier de résultats spécifié par le champ `sd_result_file` de configuration du conteneur de l' CloudWatch agent. Voici un exemple de fichier de résultats : 

```
- targets:
  - 10.6.1.95:32785
  labels:
    __metrics_path__: /metrics
    ECS_PROMETHEUS_EXPORTER_PORT: "9406"
    ECS_PROMETHEUS_JOB_NAME: demo-jar-ec2-bridge-dynamic
    ECS_PROMETHEUS_METRICS_PATH: /metrics
    InstanceType: t3.medium
    LaunchType: EC2
    SubnetId: subnet-123456789012
    TaskDefinitionFamily: demo-jar-ec2-bridge-dynamic-port
    TaskGroup: family:demo-jar-ec2-bridge-dynamic-port
    TaskRevision: "7"
    VpcId: vpc-01234567890
    container_name: demo-jar-ec2-bridge-dynamic-port
    job: demo-jar-ec2-bridge-dynamic
- targets:
  - 10.6.3.193:9404
  labels:
    __metrics_path__: /metrics
    ECS_PROMETHEUS_EXPORTER_PORT_SUBSET_B: "9404"
    ECS_PROMETHEUS_JOB_NAME: demo-tomcat-ec2-bridge-mapped-port
    ECS_PROMETHEUS_METRICS_PATH: /metrics
    InstanceType: t3.medium
    LaunchType: EC2
    SubnetId: subnet-123456789012
    TaskDefinitionFamily: demo-tomcat-ec2-bridge-mapped-port
    TaskGroup: family:demo-jar-tomcat-bridge-mapped-port
    TaskRevision: "12"
    VpcId: vpc-01234567890
    container_name: demo-tomcat-ec2-bridge-mapped-port
    job: demo-tomcat-ec2-bridge-mapped-port
```

Vous pouvez directement intégrer ce fichier de résultats à la découverte de services basés sur des fichiers de Prometheus. Pour plus d'informations sur la découverte de services basée sur des fichiers de Prometheus, consultez [<file\$1sd\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config).

 Supposons que le fichier de résultat soit écrit dans `/tmp/cwagent_ecs_auto_sd.yaml`. La configuration de récupération Prometheus suivante la consommera.

```
global:
  scrape_interval: 1m
  scrape_timeout: 10s
scrape_configs:
  - job_name: cwagent-ecs-file-sd-config
    sample_limit: 10000
    file_sd_configs:
      - files: [ "/tmp/cwagent_ecs_auto_sd.yaml" ]
```

L' CloudWatch agent ajoute également les étiquettes supplémentaires suivantes pour les cibles découvertes.
+ `container_name`
+ `TaskDefinitionFamily`
+ `TaskRevision`
+ `TaskGroup`
+ `StartedBy`
+ `LaunchType`
+ `job`
+ `__metrics_path__`
+ Étiquettes Docker

Lorsque le cluster comporte le type de lancement EC2, les trois étiquettes suivantes sont ajoutées.
+ `InstanceType`
+ `VpcId`
+ `SubnetId`

**Note**  
Les étiquettes Docker qui ne correspondent pas à l'expression régulière `[a-zA-Z_][a-zA-Z0-9_]*` sont filtrés. Cela correspond aux conventions Prometheus répertoriées dans `label_name` de [Fichier de configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#labelname), compris dans la documentation Prometheus.

## Exemples de configuration de la découverte de service ECS
<a name="ContainerInsights-Prometheus-Setup-autodiscovery-ecs-examples"></a>

Cette section contient des exemples qui illustrent la découverte de services ECS.

**Exemple 1**

```
"ecs_service_discovery": {
  "sd_frequency": "1m",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "docker_label": {
  }
}
```

Cet exemple montre comment activer la découverte de service basée sur les étiquettes docker. L' CloudWatch agent interrogera les métadonnées des tâches ECS une fois par minute et inscrira les cibles découvertes dans le `/tmp/cwagent_ecs_auto_sd.yaml` fichier du conteneur de l' CloudWatch agent.

La valeur par défaut de `sd_port_label` dans la section `docker_label` est `ECS_PROMETHEUS_EXPORTER_PORT`. Si un conteneur en cours d'exécution dans les tâches ECS possède une étiquette `ECS_PROMETHEUS_EXPORTER_PORT` docker, l' CloudWatchagent utilise sa valeur as `container port` pour scanner tous les ports exposés du conteneur. En cas de correspondance, le port hôte mappé ainsi que l'adresse IP privée du conteneur sont utilisés pour construire la cible de l'exportateur Prometheus au format suivant : `private_ip:host_port`. 

La valeur par défaut de `sd_metrics_path_label` dans la section `docker_label` est `ECS_PROMETHEUS_METRICS_PATH`. Si le conteneur possède cette étiquette docker, sa valeur sera utilisée comme `__metrics_path__`. Si le conteneur ne possède pas cette étiquette, la valeur par défaut `/metrics` est utilisée.

La valeur par défaut de `sd_job_name_label` dans la section `docker_label` est `job`. Si le conteneur possède cette étiquette docker, sa valeur sera ajoutée comme l'une des étiquettes de la cible pour remplacer le nom de tâche par défaut spécifié dans la configuration Prometheus. La valeur de cette étiquette Docker est utilisée comme nom du flux de journaux dans le groupe de CloudWatch journaux Logs. 

**Exemple 2**

```
"ecs_service_discovery": {
  "sd_frequency": "15s",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "docker_label": {
    "sd_port_label": "ECS_PROMETHEUS_EXPORTER_PORT_SUBSET_A",
    "sd_job_name_label": "ECS_PROMETHEUS_JOB_NAME"  
  }
}
```

Cet exemple permet la découverte de services basée sur des étiquettes docker. THe CloudWatch l'agent interrogera les métadonnées des tâches ECS toutes les 15 secondes et écrira les cibles découvertes dans le `/tmp/cwagent_ecs_auto_sd.yaml` fichier du conteneur de l' CloudWatch agent. Les conteneurs possédant une étiquette docker `ECS_PROMETHEUS_EXPORTER_PORT_SUBSET_A` seront analysés. La valeur de l'étiquette docker `ECS_PROMETHEUS_JOB_NAME` est utilisée comme nom de tâche.

**Exemple 3**

```
"ecs_service_discovery": {
  "sd_frequency": "5m",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "task_definition_list": [
    {
      "sd_job_name": "java-prometheus",
      "sd_metrics_path": "/metrics",
      "sd_metrics_ports": "9404; 9406",
      "sd_task_definition_arn_pattern": ".*:task-definition/.*javajmx.*:[0-9]+"
    },
    {
      "sd_job_name": "envoy-prometheus",
      "sd_metrics_path": "/stats/prometheus",
      "sd_container_name_pattern": "^envoy$", 
      "sd_metrics_ports": "9901",
      "sd_task_definition_arn_pattern": ".*:task-definition/.*appmesh.*:23"
    }
  ]
}
```

Cet exemple montre comment activer la découverte de service basée sur l'expression régulière ARN de la tâche ECS. L' CloudWatch agent interroge les métadonnées des tâches ECS toutes les cinq minutes et écrit les cibles découvertes dans le `/tmp/cwagent_ecs_auto_sd.yaml` fichier du conteneur de l' CloudWatch agent.

Deux sections d'expressions régulières ARN de définition de tâche sont définies :
+  Pour la première section, les tâches ECS avec `javajmx` dans leur ARN de définition de tâche ECS sont filtrées pour l'analyse des ports de conteneur. Si les conteneurs de ces tâches ECS exposent le port de conteneur sur 9404 ou 9406, le port hôte mappé ainsi que l'adresse IP privée du conteneur sont utilisés pour créer les cibles d'exportation Prometheus. La valeur de `sd_metrics_path` définit `__metrics_path__` sur `/metrics`. L' CloudWatch agent extraira donc les métriques Prometheus, qui seront envoyées au flux `private_ip:host_port/metrics` CloudWatch de journaux dans Logs `java-prometheus` du groupe de journaux. `/aws/ecs/containerinsights/cluster_name/prometheus` 
+  Pour la deuxième section, les tâches ECS avec `appmesh` dans leur ARN de définition de tâche ECS et avec la `version` `:23` sont filtrées pour l'analyse des ports de conteneur. Pour les conteneurs dont le nom est `envoy` qui exposent le port de conteneur sur `9901`, le port hôte mappé ainsi que l'adresse IP privée du conteneur sont utilisés pour créer les cibles d'exportation Prometheus. La valeur de ces tâches ECS expose le port de conteneur sur 9404 ou 9406, le port hôte mappé ainsi que l'adresse IP privée du conteneur sont utilisés pour créer les cibles d'exportation Prometheus. La valeur de `sd_metrics_path` définit `__metrics_path__` sur `/stats/prometheus`. L' CloudWatch agent extraira donc les métriques Prometheus et les enverra au flux `private_ip:host_port/stats/prometheus` CloudWatch de journaux dans Logs `envoy-prometheus` du groupe de journaux. `/aws/ecs/containerinsights/cluster_name/prometheus` 

**Exemple 4**

```
"ecs_service_discovery": {
  "sd_frequency": "5m",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "service_name_list_for_tasks": [
    {
      "sd_job_name": "nginx-prometheus",
      "sd_metrics_path": "/metrics",
      "sd_metrics_ports": "9113",
      "sd_service_name_pattern": "^nginx-.*"
    },
    {
      "sd_job_name": "haproxy-prometheus",
      "sd_metrics_path": "/stats/metrics",
      "sd_container_name_pattern": "^haproxy$",
      "sd_metrics_ports": "8404",
      "sd_service_name_pattern": ".*haproxy-service.*"
    }
  ]
}
```

Cet exemple montre comment activer la découverte de service basée sur l'expression régulière du nom du service ECS. L' CloudWatch agent interroge les métadonnées des services ECS toutes les cinq minutes et écrit les cibles découvertes dans le `/tmp/cwagent_ecs_auto_sd.yaml` fichier du conteneur de l' CloudWatch agent.

Deux sections d'expressions régulières de nom de service sont définies :
+  Dans la première section, les tâches ECS associées aux services ECS dont les noms correspondent à l'expression régulière `^nginx-.*` sont filtrées pour l'analyse du port du conteneur. Si les conteneurs de ces tâches ECS exposent le port de conteneur sur 9113, le port hôte mappé ainsi que l'adresse IP privée du conteneur sont utilisés pour créer les cibles d'exportation Prometheus. La valeur de `sd_metrics_path` définit `__metrics_path__` sur `/metrics`. L' CloudWatch agent extraira donc les métriques Prometheus, et les métriques `private_ip:host_port/metrics` supprimées seront envoyées au flux CloudWatch de journaux dans Logs `nginx-prometheus` du groupe de journaux. `/aws/ecs/containerinsights/cluster_name/prometheus` 
+  ou la seconde section, les tâches ECS associées aux services ECS dont les noms correspondent à l'expression régulière `.*haproxy-service.*` sont filtrées pour l'analyse du port du conteneur. Pour les conteneurs dont le nom est `haproxy` qui exposent le port de conteneur sur 8404, le port hôte mappé ainsi que l'adresse IP privée du conteneur sont utilisés pour créer les cibles d'exportation Prometheus. La valeur de `sd_metrics_path` définit `__metrics_path__` sur `/stats/metrics`. L' CloudWatchagent extraira donc les métriques Prometheus, et les métriques `private_ip:host_port/stats/metrics` supprimées seront envoyées au flux CloudWatch de journaux dans Logs `haproxy-prometheus` du groupe de journaux. `/aws/ecs/containerinsights/cluster_name/prometheus` 

**Exemple 5**

```
"ecs_service_discovery": {
  "sd_frequency": "1m30s",
  "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
  "docker_label": {
    "sd_port_label": "MY_PROMETHEUS_EXPORTER_PORT_LABEL",
    "sd_metrics_path_label": "MY_PROMETHEUS_METRICS_PATH_LABEL",
    "sd_job_name_label": "MY_PROMETHEUS_METRICS_NAME_LABEL"  
  }
  "task_definition_list": [
    {
      "sd_metrics_ports": "9150",
      "sd_task_definition_arn_pattern": "*memcached.*"
    }
  ]
}
```

Cet exemple montre comment activer les deux modes de découverte de service ECS. L' CloudWatch agent interroge les métadonnées des tâches ECS toutes les 90 secondes et écrit les cibles découvertes dans le `/tmp/cwagent_ecs_auto_sd.yaml` fichier du conteneur de l' CloudWatch agent. 

Pour la configuration de découverte de service basée sur Docker :
+ Les tâches ECS avec l'étiquette docker `MY_PROMETHEUS_EXPORTER_PORT_LABEL` seront filtrées pour l'analyse du port Prometheus. Le port de conteneur Prometheus cible est spécifié par la valeur de l'étiquette `MY_PROMETHEUS_EXPORTER_PORT_LABEL`. 
+ La valeur de l'étiquette docker `MY_PROMETHEUS_EXPORTER_PORT_LABEL` est utilisée pour `__metrics_path__`. Si le conteneur ne possède pas cette étiquette docker, la valeur par défaut `/metrics` est utilisée. 
+ La valeur de l'étiquette docker `MY_PROMETHEUS_EXPORTER_PORT_LABEL` est utilisée comme étiquette de tâche. Si le conteneur n'a pas cette étiquette docker, le nom de tâche défini dans la configuration Prometheus est utilisé.

Pour la configuration de la découverte de service basée sur l'expression régulière ARN de la tâche ECS :
+ Les tâches ECS avec `memcached` dans l'ARN de définition de tâche ECS sont filtrées pour l'analyse des ports de conteneur. Le port de conteneur Prometheus cible est 9150 tel que défini par `sd_metrics_ports`. Le chemin d'accès aux métriques par défaut `/metrics` est utilisé. Le nom de tâche défini dans la configuration Prometheus est utilisé.

# (En option) Configuration d'exemples d'applications Amazon ECS conteneurisées pour les test de métriques Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS"></a>

Pour tester la prise en charge des métriques Prometheus CloudWatch dans Container Insights, vous pouvez configurer une ou plusieurs des charges de travail conteneurisées suivantes. L' CloudWatch agent qui prend en charge Prometheus collecte automatiquement les métriques de chacune de ces charges de travail. Pour voir les métriques collectées par défaut, consultez [Métriques Prometheus collectées par l'agent CloudWatch](ContainerInsights-Prometheus-metrics.md).

**Topics**
+ [Exemple d'application App Mesh pour les clusters Amazon ECS](ContainerInsights-Prometheus-Sample-Workloads-ECS-appmesh.md)
+ [Exemple de Java/JMX charge de travail pour les clusters Amazon ECS](ContainerInsights-Prometheus-Sample-Workloads-ECS-javajmx.md)
+ [Exemple d'application NGINX pour les clusters Amazon ECS](ContainerInsights-Prometheus-Setup-nginx-ecs.md)
+ [Exemple d'application NGINX Plus pour les clusters Amazon ECS](ContainerInsights-Prometheus-Setup-nginx-plus-ecs.md)
+ [Didacticiel pour l'ajout d'une nouvelle cible de récupération Prometheus : Memcached sur Amazon ECS](ContainerInsights-Prometheus-Setup-memcached-ecs.md)
+ [Didacticiel pour récupérer les métriques Prometheus Redis OSS sur Amazon ECS Fargate](ContainerInsights-Prometheus-Setup-redis-ecs.md)

# Exemple d'application App Mesh pour les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS-appmesh"></a>

Pour collecter des métriques à partir d'un exemple d'application Prometheus pour Amazon ECS, vous devez exécuter Container Insights dans le cluster. Pour plus d'informations sur l'installation de Container Insights, consultez [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS.md).

Tout d'abord, suivez cette [démonstration](https://github.com/aws/aws-app-mesh-examples/tree/main/examples/apps/colorapp#app-mesh-walkthrough-deploy-the-color-app-on-ecs) pour déployer l'exemple d'application de couleur dans votre cluster Amazon ECS. Une fois que vous avez terminé, les métriques App Mesh Prometheus seront exposées sur le port 9901.

Procédez ensuite comme suit pour installer l' CloudWatch agent avec Prometheus monitoring sur le même cluster Amazon ECS où vous avez installé l'application couleur. Les étapes décrites dans cette section permettent d'installer l' CloudWatch agent en mode réseau en mode pont. 

Les variables d'environnement `ENVIRONMENT_NAME`,`AWS_PROFILE`, et `AWS_DEFAULT_REGION` que vous définissez dans la démonstration seront également utilisées dans les étapes suivantes.

**Pour installer l' CloudWatch agent avec la surveillance Prometheus à des fins de test**

1. Téléchargez le CloudFormation modèle en saisissant la commande suivante.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml
   ```

1. Définissez le mode réseau en saisissant les commandes suivantes.

   ```
   export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME}
   export ECS_NETWORK_MODE=bridge
   ```

1. Créez la CloudFormation pile en saisissant les commandes suivantes.

   ```
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \
                    ParameterKey=CreateIAMRoles,ParameterValue=True \
                    ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \
                    ParameterKey=TaskRoleName,ParameterValue=CWAgent-Prometheus-TaskRole-${ECS_CLUSTER_NAME} \
                    ParameterKey=ExecutionRoleName,ParameterValue=CWAgent-Prometheus-ExecutionRole-${ECS_CLUSTER_NAME} \
       --capabilities CAPABILITY_NAMED_IAM \
       --region ${AWS_DEFAULT_REGION} \
       --profile ${AWS_PROFILE}
   ```

1. (Facultatif) Lorsque la CloudFormation pile est créée, un `CREATE_COMPLETE` message s'affiche. Si vous souhaitez vérifier l'état avant d'afficher ce message, saisissez la commande suivante.

   ```
   aws cloudformation describe-stacks \
   --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
   --query 'Stacks[0].StackStatus' \
   --region ${AWS_DEFAULT_REGION} \
   --profile ${AWS_PROFILE}
   ```

**Résolution des problèmes**

Les étapes de la démonstration utilisent jq pour analyser le résultat de sortie de la AWS CLI. Pour plus d'informations sur l'installation de jq, consultez [jq](https://stedolan.github.io/jq/). Utilisez la commande suivante pour définir le format de sortie par défaut de votre AWS CLI sur JSON afin que jq puisse l'analyser correctement. 

```
$ aws configure
```

Lorsque la réponse arrive à `Default output format`, saisissez **json**.

## Désinstallez l' CloudWatch agent avec le système de surveillance Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS-appmesh-uninstall"></a>

Lorsque vous avez terminé le test, entrez la commande suivante pour désinstaller l' CloudWatchagent en supprimant la CloudFormation pile.

```
aws cloudformation delete-stack \
--stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
--region ${AWS_DEFAULT_REGION} \
--profile ${AWS_PROFILE}
```

# Exemple de Java/JMX charge de travail pour les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-Sample-Workloads-ECS-javajmx"></a>

JMX Exporter est un exportateur Prometheus officiel qui peut récupérer et exposer des mBeans JMX en tant que métriques Prometheus. Pour plus d'informations, consultez [prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

L' CloudWatch agent prenant en charge Prometheus extrait les métriques Prometheus en fonction de la Java/JMX configuration de découverte de services dans le cluster Amazon ECS. Vous pouvez configurer JMX Exporter pour qu'il expose les métriques sur un autre port ou chemin d'accès. Si vous modifiez le port ou le chemin, mettez à jour la `ecs_service_discovery` section par défaut dans la configuration de l' CloudWatch agent.

Pour collecter des métriques à partir d'un exemple d'application Prometheus pour Amazon ECS, vous devez exécuter Container Insights dans le cluster. Pour plus d'informations sur l'installation de Container Insights, consultez [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS.md).

**Pour installer l' Java/JMX exemple de charge de travail pour les clusters Amazon ECS**

1. Suivez les étapes décrites dans ces sections pour créer vos images Docker.
   + [Exemple : image Docker d'application Java Jar avec métriques Prometheus](ContainerInsights-Prometheus-Sample-Workloads-javajmx.md#ContainerInsights-Prometheus-Sample-Workloads-javajmx-jar)
   + [Exemple : image Apache Tomcat Docker avec métriques Prometheus](ContainerInsights-Prometheus-Sample-Workloads-javajmx.md#ContainerInsights-Prometheus-Sample-Workloads-javajmx-tomcat)

1. Spécifiez les deux étiquettes docker suivantes dans le fichier de définition de tâche Amazon ECS. Vous pouvez ensuite exécuter la définition de tâche en tant que Amazon ECS service ou tâche Amazon ECS dans le cluster.
   + Définissez `ECS_PROMETHEUS_EXPORTER_PORT` pour pointer vers le ContainerPort où les métriques Prometheus sont exposées.
   + Définissez `Java_EMF_Metrics` sur `true`. L' CloudWatch agent utilise cet indicateur pour générer le format de métrique intégré dans le journal des événements.

   Voici un exemple :

   ```
   {
     "family": "workload-java-ec2-bridge",
     "taskRoleArn": "{{task-role-arn}}",
     "executionRoleArn": "{{execution-role-arn}}",
     "networkMode": "bridge",
     "containerDefinitions": [
       {
         "name": "tomcat-prometheus-workload-java-ec2-bridge-dynamic-port",
         "image": "your_docker_image_tag_for_tomcat_with_prometheus_metrics",
         "portMappings": [
           {
             "hostPort": 0,
             "protocol": "tcp",
             "containerPort": 9404
           }
         ],
         "dockerLabels": {
           "ECS_PROMETHEUS_EXPORTER_PORT": "9404",
           "Java_EMF_Metrics": "true"
         }
       }
     ],
     "requiresCompatibilities": [
       "EC2"  ],
     "cpu": "256",
     "memory": "512"
     }
   ```

Le paramètre par défaut de l' CloudWatch agent dans le CloudFormation modèle permet à la fois la découverte de services basée sur les étiquettes docker et la découverte de services basée sur l'ARN par définition de tâches. Pour consulter ces paramètres par défaut, reportez-vous à la ligne 65 du [fichier de configuration YAML de l' CloudWatch agent](https://github.com/aws-samples/amazon-cloudwatch-container-insights/blob/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml#L65). Les conteneurs avec l'étiquette `ECS_PROMETHEUS_EXPORTER_PORT` seront automatiquement découverts en fonction du port de conteneur spécifié pour la récupération Prometheus. 

Le paramètre par défaut de l' CloudWatch agent contient également le `metric_declaration` paramètre correspondant Java/JMX à la ligne 112 du même fichier. Toutes les étiquettes docker des conteneurs cibles seront ajoutées en tant qu'étiquettes supplémentaires dans les métriques Prometheus et envoyées à Logs. CloudWatch Pour les Java/JMX conteneurs dotés d'une étiquette docker`Java_EMF_Metrics=“true”`, le format métrique intégré sera généré. 

# Exemple d'application NGINX pour les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-nginx-ecs"></a>

NGINX Prometheus Exporter peut récupérer et exposer les données NGINX en tant que métriques Prometheus. Cet exemple utilise l'exportateur conjointement au service de proxy inverse NGINX pour Amazon ECS.

Pour plus d'informations sur l'exportateur Prometheus de NGINX, rendez-vous sur Github. [ nginx-prometheus-exporter](https://github.com/nginxinc/nginx-prometheus-exporter) Pour plus d'informations sur le proxy inverse NGINX, consultez [ ecs-nginx-reverse-proxy](https://github.com/awslabs/ecs-nginx-reverse-proxy)Github.

L' CloudWatch agent compatible avec Prometheus extrait les métriques NGINX Prometheus en fonction de la configuration de découverte de services dans le cluster Amazon ECS. Vous pouvez configurer NGINX Prometheus Exporter pour qu'il expose les métriques sur un autre port ou chemin d'accès. Si vous modifiez le port ou le chemin, mettez à jour la `ecs_service_discovery` section dans le fichier de configuration de l' CloudWatch agent.

## Installation de l'application d'exemple de proxy inverse NGINX pour les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-ecs-setup"></a>

Suivez ces étapes pour installer l'application d'exemple de proxy inverse NGINX.

### Création des images Docker
<a name="ContainerInsights-Prometheus-nginx-ecs-setup-docker"></a>

**Pour créer les images Docker pour l'application d'exemple de proxy inverse NGINX**

1. [Téléchargez le dossier suivant depuis le dépôt de proxy inverse NGINX : https://github.com/awslabs/ecs-nginx-reverse-proxy/-proxy/. tree/master/reverse](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/)

1. Recherchez le répertoire `app` et créez une image à partir de ce répertoire :

   ```
   docker build -t web-server-app ./path-to-app-directory
   ```

1. Créez une image personnalisée pour NGINX. Pour commencer, créez un répertoire avec les deux fichiers suivants :
   + Un exemple de fichier Docker :

     ```
     FROM nginx
     COPY nginx.conf /etc/nginx/nginx.conf
     ```
   + Un `nginx.conf` fichier, modifié depuis [ https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/) :

     ```
     events {
       worker_connections 768;
     }
     
     http {
       # Nginx will handle gzip compression of responses from the app server
       gzip on;
       gzip_proxied any;
       gzip_types text/plain application/json;
       gzip_min_length 1000;
     
       server{
         listen 8080;
         location /stub_status {
             stub_status   on;
         }
       }
     
       server {
         listen 80;
     
         # Nginx will reject anything not matching /api
         location /api {
           # Reject requests with unsupported HTTP method
           if ($request_method !~ ^(GET|POST|HEAD|OPTIONS|PUT|DELETE)$) {
             return 405;
           }
     
           # Only requests matching the whitelist expectations will
           # get sent to the application server
           proxy_pass http://app:3000;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection 'upgrade';
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_cache_bypass $http_upgrade;
         }
       }
     }
     ```
**Note**  
`stub_status` doit être activé sur le même port sur lequel `nginx-prometheus-exporter` est configuré pour récupérer les métriques. Dans notre exemple de définition de tâche, `nginx-prometheus-exporter` est configuré pour extraire les métriques depuis le port 8080.

1. Créez une image à partir des fichiers de votre nouveau répertoire :

   ```
   docker build -t nginx-reverse-proxy ./path-to-your-directory
   ```

1. Téléchargez vos nouvelles images dans un répertoire d'images pour une utilisation ultérieure.

### Création de la définition de tâche pour exécuter NGINX et l'application serveur web dans Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-ecs-setup-task"></a>

Ensuite, vous configurez la définition de tâche.

Cette définition de tâche permet la collecte et l'exportation des métriques NGINX Prometheus. Le conteneur NGINX suit les entrées de l'application et expose ces données au port 8080, comme défini dans `nginx.conf`. Le conteneur d'exportation NGINX Prometheus récupère ces métriques et les publie sur le port 9113, pour les utiliser dans. CloudWatch

**Pour configurer la définition de tâche pour l'application Amazon ECS d'exemple NGINX**

1. Créez un fichier JSON de définition de tâche avec le contenu suivant. *your-customized-nginx-iamge*Remplacez-le par l'URI de l'image de votre image NGINX personnalisée et remplacez-le *your-web-server-app-image* par l'URI de l'image de votre application de serveur Web.

   ```
   {
     "containerDefinitions": [
       {
         "name": "nginx",
         "image": "your-customized-nginx-image",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "portMappings": [
           {
             "containerPort": 80,
             "protocol": "tcp"
           }
         ],
         "links": [
           "app"
         ]
       },
       {
         "name": "app",
         "image": "your-web-server-app-image",
         "memory": 256,
         "cpu": 256,
         "essential": true
       },
       {
         "name": "nginx-prometheus-exporter",
         "image": "docker.io/nginx/nginx-prometheus-exporter:0.8.0",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "command": [
           "-nginx.scrape-uri",
           "http://nginx:8080/stub_status"
       ],
       "links":[
         "nginx"
       ],
         "portMappings":[
           {
             "containerPort": 9113,
             "protocol": "tcp"
           }
         ]
       }
     ],
     "networkMode": "bridge",
     "placementConstraints": [],
     "family": "nginx-sample-stack"
   }
   ```

1. Enregistrez la définition de tâche en saisissant la commande suivante.

   ```
   aws ecs register-task-definition --cli-input-json file://path-to-your-task-definition-json
   ```

1. Créez un service pour exécuter la tâche en saisissant la commande suivante :

   Veillez à ne pas modifier le nom du service. Nous exécuterons un service d' CloudWatch agent à l'aide d'une configuration qui recherche les tâches en utilisant les modèles de noms des services qui les ont démarrées. Par exemple, pour que l' CloudWatch agent trouve la tâche lancée par cette commande, vous pouvez spécifier la valeur de `sd_service_name_pattern` to be`^nginx-service$`. La section suivante fournit plus de détails.

   ```
   aws ecs create-service \
    --cluster your-cluster-name \
    --service-name nginx-service \
    --task-definition nginx-sample-stack:1 \
    --desired-count 1
   ```

### Configurer l' CloudWatch agent pour extraire les métriques NGINX Prometheus
<a name="ContainerInsights-Prometheus-nginx-ecs-setup-agent"></a>

La dernière étape consiste à configurer l' CloudWatch agent pour récupérer les métriques NGINX. Dans cet exemple, l' CloudWatch agent découvre la tâche via le modèle de nom de service et le port 9113, où l'exportateur expose les métriques prometheus pour NGINX. Une fois la tâche découverte et les métriques disponibles, l' CloudWatch agent commence à publier les métriques collectées dans le flux de log **nginx-prometheus-exporter**. 

**Pour configurer l' CloudWatch agent afin de récupérer les métriques NGINX**

1. Téléchargez la dernière version du fichier YAML nécessaire en saisissant la commande suivante.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml
   ```

1. Ouvrez le fichier dans un éditeur de texte et trouvez la configuration complète de l' CloudWatch agent dans la `value` clé de la section. `resource:CWAgentConfigSSMParameter` Ensuite, dans la section `ecs_service_discovery`, ajoutez la section `service_name_list_for_tasks` suivante.

   ```
   "service_name_list_for_tasks": [
     {
       "sd_job_name": "nginx-prometheus-exporter",
       "sd_metrics_path": "/metrics",
       "sd_metrics_ports": "9113",
       "sd_service_name_pattern": "^nginx-service$"
      }
   ],
   ```

1. Dans le même fichier, ajoutez la section suivante dans la section `metric_declaration` pour autoriser les métriques NGINX. Veillez à suivre le modèle d'indentation existant.

   ```
   {
     "source_labels": ["job"],
     "label_matcher": ".*nginx.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName"]],
     "metric_selectors": [
       "^nginx_.*$"
     ]
   },
   ```

1. Si l' CloudWatch agent n'est pas déjà déployé dans ce cluster, passez à l'étape 8.

   Si l' CloudWatch agent est déjà déployé dans le cluster Amazon ECS à l'aide de AWS CloudFormation, vous pouvez créer un ensemble de modifications en saisissant les commandes suivantes :

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION \
       --change-set-name nginx-scraping-support
   ```

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

1. Passez en revue le nouvel ensemble de modifications. **nginx-scraping-support** Vous devriez voir une modification appliquée à la SSMParameter ressource **CWAgentConfig**. Exécutez le changeset et redémarrez la tâche de l' CloudWatch agent en saisissant la commande suivante :

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Patientez environ 10 secondes, puis saisissez la commande suivante.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Si vous installez l' CloudWatch agent avec la collecte de métriques Prometheus sur le cluster pour la première fois, entrez les commandes suivantes.

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

## Affichage des journaux et métriques NGINX
<a name="ContainerInsights-Prometheus-Setup-nginx-view"></a>

Vous pouvez maintenant afficher les métriques NGINX collectées.

**Pour examiner les métriques de votre application NGINX**

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

1. Dans la région où votre cluster s'exécute, choisissez **Metrics (Métriques)** dans le volet de navigation de gauche. Trouvez l'espace de noms **ContainerInsights/Prometheus** pour voir les métriques.

1. Pour voir les événements CloudWatch Logs, choisissez **Log groups** dans le volet de navigation. Les événements se trouvent dans le groupe de journaux **/aws/containerinsights/ *your\$1cluster\$1name* /prometheus**, dans le flux de journaux. *nginx-prometheus-exporter*

# Exemple d'application NGINX Plus pour les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-nginx-plus-ecs"></a>

NGINX Plus est la version commerciale de NGINX. Vous devez disposer d'une licence pour l'utiliser. Pour en savoir plus, consultez [NGINX Plus](https://www.nginx.com/products/nginx/).

NGINX Prometheus Exporter peut récupérer et exposer les données NGINX en tant que métriques Prometheus. Cet exemple utilise l'exportateur conjointement au service de proxy inverse NGINX Plus pour Amazon ECS.

Pour plus d'informations sur l'exportateur Prometheus de NGINX, rendez-vous sur Github. [ nginx-prometheus-exporter](https://github.com/nginxinc/nginx-prometheus-exporter) Pour plus d'informations sur le proxy inverse NGINX, consultez [ ecs-nginx-reverse-proxy](https://github.com/awslabs/ecs-nginx-reverse-proxy)Github.

L' CloudWatch agent compatible avec Prometheus extrait les métriques NGINX Plus Prometheus en fonction de la configuration de découverte de services dans le cluster Amazon ECS. Vous pouvez configurer NGINX Prometheus Exporter pour qu'il expose les métriques sur un autre port ou chemin d'accès. Si vous modifiez le port ou le chemin, mettez à jour la `ecs_service_discovery` section dans le fichier de configuration de l' CloudWatch agent.

## Installation de l'application d'exemple de proxy inverse NGINX Plus pour les clusters Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup"></a>

Suivez ces étapes pour installer l'application d'exemple de proxy inverse NGINX.

### Création des images Docker
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup-docker"></a>

**Pour créer les images Docker pour l'application d'exemple de proxy inverse NGINX Plus**

1. [Téléchargez le dossier suivant depuis le dépôt de proxy inverse NGINX : https://github.com/awslabs/ecs-nginx-reverse-proxy/-proxy/. tree/master/reverse](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/)

1. Recherchez le répertoire `app` et créez une image à partir de ce répertoire :

   ```
   docker build -t web-server-app ./path-to-app-directory
   ```

1. Créez une image personnalisée pour NGINX Plus. Avant de pouvoir créer l'image pour NGINX Plus, vous devez obtenir la clé nommée `nginx-repo.key` et le certificat SSL `nginx-repo.crt` pour votre licence NGINX Plus. Créez un répertoire et stockez-les dans vos fichiers `nginx-repo.key` et `nginx-repo.crt`. 

   Dans le répertoire que vous venez de créer, créez les deux fichiers suivants :
   + Créez un exemple de fichier Docker incluant le contenu suivant. Ce fichier docker est adopté à partir d'un exemple de fichier fourni sur [https://docs.nginx.com/nginx/admin- guide/installing-nginx/installing -nginx-docker/](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/#docker_plus_image) \$1docker\$1plus\$1image. Le changement important que nous faisons est que nous chargeons un fichier séparé, appelé `nginx.conf`, qui sera créé à l'étape suivante.

     ```
     FROM debian:buster-slim
     
     LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>“
     
     # Define NGINX versions for NGINX Plus and NGINX Plus modules
     # Uncomment this block and the versioned nginxPackages block in the main RUN
     # instruction to install a specific release
     # ENV NGINX_VERSION 21
     # ENV NJS_VERSION 0.3.9
     # ENV PKG_RELEASE 1~buster
     
     # Download certificate and key from the customer portal (https://cs.nginx.com (https://cs.nginx.com/))
     # and copy to the build context
     COPY nginx-repo.crt /etc/ssl/nginx/
     COPY nginx-repo.key /etc/ssl/nginx/
     # COPY nginx.conf /etc/ssl/nginx/nginx.conf
     
     RUN set -x \
     # Create nginx user/group first, to be consistent throughout Docker variants
     && addgroup --system --gid 101 nginx \
     && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx \
     && apt-get update \
     && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates gnupg1 \
     && \
     NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \
     found=''; \
     for server in \
     ha.pool.sks-keyservers.net (http://ha.pool.sks-keyservers.net/) \
     hkp://keyserver.ubuntu.com:80 \
     hkp://p80.pool.sks-keyservers.net:80 \
     pgp.mit.edu (http://pgp.mit.edu/) \
     ; do \
     echo "Fetching GPG key $NGINX_GPGKEY from $server"; \
     apt-key adv --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; \
     done; \
     test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; \
     apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* \
     # Install the latest release of NGINX Plus and/or NGINX Plus modules
     # Uncomment individual modules if necessary
     # Use versioned packages over defaults to specify a release
     && nginxPackages=" \
     nginx-plus \
     # nginx-plus=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-xslt \
     # nginx-plus-module-xslt=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-geoip \
     # nginx-plus-module-geoip=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-image-filter \
     # nginx-plus-module-image-filter=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-perl \
     # nginx-plus-module-perl=${NGINX_VERSION}-${PKG_RELEASE} \
     # nginx-plus-module-njs \
     # nginx-plus-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${PKG_RELEASE} \
     " \
     && echo "Acquire::https::plus-pkgs.nginx.com::Verify-Peer \"true\";" >> /etc/apt/apt.conf.d/90nginx \
     && echo "Acquire::https::plus-pkgs.nginx.com::Verify-Host \"true\";" >> /etc/apt/apt.conf.d/90nginx \
     && echo "Acquire::https::plus-pkgs.nginx.com::SslCert \"/etc/ssl/nginx/nginx-repo.crt\";" >> /etc/apt/apt.conf.d/90nginx \
     && echo "Acquire::https::plus-pkgs.nginx.com::SslKey \"/etc/ssl/nginx/nginx-repo.key\";" >> /etc/apt/apt.conf.d/90nginx \
     && printf "deb https://plus-pkgs.nginx.com/debian buster nginx-plus\n" > /etc/apt/sources.list.d/nginx-plus.list \
     && apt-get update \
     && apt-get install --no-install-recommends --no-install-suggests -y \
     $nginxPackages \
     gettext-base \
     curl \
     && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx-plus.list \
     && rm -rf /etc/apt/apt.conf.d/90nginx /etc/ssl/nginx
     
     # Forward request logs to Docker log collector
     RUN ln -sf /dev/stdout /var/log/nginx/access.log \
     && ln -sf /dev/stderr /var/log/nginx/error.log
     
     COPY nginx.conf /etc/nginx/nginx.conf
     
     EXPOSE 80
     
     STOPSIGNAL SIGTERM
     
     CMD ["nginx", "-g", "daemon off;"]
     ```
   + Un `nginx.conf` fichier, modifié à partir de [ https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/nginx](https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy/nginx).

     ```
     events {
       worker_connections 768;
     }
     
     http {
       # Nginx will handle gzip compression of responses from the app server
       gzip on;
       gzip_proxied any;
       gzip_types text/plain application/json;
       gzip_min_length 1000;
     
       upstream backend {
         zone name 10m;
         server app:3000    weight=2;
         server app2:3000    weight=1;
       }
     
       server{
         listen 8080;
         location /api {
           api write=on;
         }
       }
     
       match server_ok {
         status 100-599;
       }
     
       server {
         listen 80;
         status_zone zone;
         # Nginx will reject anything not matching /api
         location /api {
           # Reject requests with unsupported HTTP method
           if ($request_method !~ ^(GET|POST|HEAD|OPTIONS|PUT|DELETE)$) {
             return 405;
           }
     
           # Only requests matching the whitelist expectations will
           # get sent to the application server
           proxy_pass http://backend;
           health_check uri=/lorem-ipsum match=server_ok;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection 'upgrade';
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_cache_bypass $http_upgrade;
         }
       }
     }
     ```

1. Créez une image à partir des fichiers de votre nouveau répertoire :

   ```
   docker build -t nginx-plus-reverse-proxy ./path-to-your-directory
   ```

1. Téléchargez vos nouvelles images dans un répertoire d'images pour une utilisation ultérieure.

### Création de la définition de tâche pour exécuter NGINX Plus et l'application serveur web dans Amazon ECS
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup-task"></a>

Ensuite, vous configurez la définition de tâche.

Cette définition de tâche permet la collecte et l'exportation des métriques NGINX Plus Prometheus. Le conteneur NGINX suit les entrées de l'application et expose ces données au port 8080, comme défini dans `nginx.conf`. Le conteneur d'exportation NGINX Prometheus récupère ces métriques et les publie sur le port 9113, pour les utiliser dans. CloudWatch

**Pour configurer la définition de tâche pour l'application Amazon ECS d'exemple NGINX**

1. Créez un fichier JSON de définition de tâche avec le contenu suivant. *your-customized-nginx-plus-image*Remplacez-le par l'URI de l'image de votre image NGINX Plus personnalisée et remplacez-le *your-web-server-app-image* par l'URI de l'image de votre application de serveur Web.

   ```
   {
     "containerDefinitions": [
       {
         "name": "nginx",
         "image": "your-customized-nginx-plus-image",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "portMappings": [
           {
             "containerPort": 80,
             "protocol": "tcp"
           }
         ],
         "links": [
           "app",
           "app2"
         ]
       },
       {
         "name": "app",
         "image": "your-web-server-app-image",
         "memory": 256,
         "cpu": 128,
         "essential": true
       },
       {
         "name": "app2",
         "image": "your-web-server-app-image",
         "memory": 256,
         "cpu": 128,
         "essential": true
       },
       {
         "name": "nginx-prometheus-exporter",
         "image": "docker.io/nginx/nginx-prometheus-exporter:0.8.0",
         "memory": 256,
         "cpu": 256,
         "essential": true,
         "command": [
           "-nginx.plus",
           "-nginx.scrape-uri",
            "http://nginx:8080/api"
       ],
       "links":[
         "nginx"
       ],
         "portMappings":[
           {
             "containerPort": 9113,
             "protocol": "tcp"
           }
         ]
       }
     ],
     "networkMode": "bridge",
     "placementConstraints": [],
     "family": "nginx-plus-sample-stack"
   }
   ```

1. Enregistrez la définition de tâche :

   ```
   aws ecs register-task-definition --cli-input-json file://path-to-your-task-definition-json
   ```

1. Créez un service pour exécuter la tâche en saisissant la commande suivante :

   ```
   aws ecs create-service \
    --cluster your-cluster-name \
    --service-name nginx-plus-service \
    --task-definition nginx-plus-sample-stack:1 \
    --desired-count 1
   ```

   Veillez à ne pas modifier le nom du service. Nous exécuterons un service d' CloudWatch agent à l'aide d'une configuration qui recherche les tâches en utilisant les modèles de noms des services qui les ont démarrées. Par exemple, pour que l' CloudWatch agent trouve la tâche lancée par cette commande, vous pouvez spécifier la valeur de `sd_service_name_pattern` to be`^nginx-plus-service$`. La section suivante fournit plus de détails.

### Configurer l' CloudWatch agent pour récupérer les métriques NGINX Plus Prometheus
<a name="ContainerInsights-Prometheus-nginx-plus-ecs-setup-agent"></a>

La dernière étape consiste à configurer l' CloudWatch agent pour récupérer les métriques NGINX. Dans cet exemple, l' CloudWatch agent découvre la tâche via le modèle de nom de service et le port 9113, où l'exportateur expose les métriques prometheus pour NGINX. Une fois la tâche découverte et les métriques disponibles, l' CloudWatch agent commence à publier les métriques collectées dans le flux de log **nginx-prometheus-exporter**. 

**Pour configurer l' CloudWatch agent afin de récupérer les métriques NGINX**

1. Téléchargez la dernière version du fichier YAML nécessaire en saisissant la commande suivante.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml
   ```

1. Ouvrez le fichier dans un éditeur de texte et trouvez la configuration complète de l' CloudWatch agent dans la `value` clé de la section. `resource:CWAgentConfigSSMParameter` Ensuite, dans la section `ecs_service_discovery`, ajoutez la section `service_name_list_for_tasks` suivante.

   ```
   "service_name_list_for_tasks": [
     {
       "sd_job_name": "nginx-plus-prometheus-exporter",
       "sd_metrics_path": "/metrics",
       "sd_metrics_ports": "9113",
       "sd_service_name_pattern": "^nginx-plus.*"
      }
   ],
   ```

1. Dans le même fichier, ajoutez la section suivante dans la section `metric_declaration` pour autoriser les métriques NGINX Plus. Veillez à suivre le modèle d'indentation existant.

   ```
   {
     "source_labels": ["job"],
     "label_matcher": "^nginx-plus.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName"]],
     "metric_selectors": [
       "^nginxplus_connections_accepted$",
       "^nginxplus_connections_active$",
       "^nginxplus_connections_dropped$",
       "^nginxplus_connections_idle$",
       "^nginxplus_http_requests_total$",
       "^nginxplus_ssl_handshakes$",
       "^nginxplus_ssl_handshakes_failed$",
       "^nginxplus_up$",
       "^nginxplus_upstream_server_health_checks_fails$"
     ]
   },
   {
     "source_labels": ["job"],
     "label_matcher": "^nginx-plus.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName", "upstream"]],
     "metric_selectors": [
       "^nginxplus_upstream_server_response_time$"
     ]
   },
   {
     "source_labels": ["job"],
     "label_matcher": "^nginx-plus.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily", "ServiceName", "code"]],
     "metric_selectors": [
       "^nginxplus_upstream_server_responses$",
       "^nginxplus_server_zone_responses$"
     ]
   },
   ```

1. Si l' CloudWatch agent n'est pas déjà déployé dans ce cluster, passez à l'étape 8.

   Si l' CloudWatch agent est déjà déployé dans le cluster Amazon ECS à l'aide de AWS CloudFormation, vous pouvez créer un ensemble de modifications en saisissant les commandes suivantes :

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION \
       --change-set-name nginx-plus-scraping-support
   ```

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

1. Passez en revue le nouvel ensemble de modifications. **nginx-plus-scraping-support** Vous devriez voir une modification appliquée à la SSMParameter ressource **CWAgentConfig**. Exécutez le changeset et redémarrez la tâche de l' CloudWatch agent en saisissant la commande suivante :

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Patientez environ 10 secondes, puis saisissez la commande suivante.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Si vous installez l' CloudWatch agent avec la collecte de métriques Prometheus sur le cluster pour la première fois, entrez les commandes suivantes.

   ```
   ECS_CLUSTER_NAME=your_cluster_name
   AWS_REGION=your_aws_region
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

## Affichage des journaux et métriques NGINX Plus
<a name="ContainerInsights-Prometheus-Setup-nginx-plus-view"></a>

Vous pouvez maintenant afficher les métriques NGINX Plus collectées.

**Pour examiner les métriques de votre application NGINX**

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

1. Dans la région où votre cluster s'exécute, choisissez **Metrics (Métriques)** dans le volet de navigation de gauche. Trouvez l'espace de noms **ContainerInsights/Prometheus** pour voir les métriques.

1. Pour voir les événements CloudWatch Logs, choisissez **Log groups** dans le volet de navigation. Les événements se trouvent dans le groupe de journaux **/aws/containerinsights/ *your\$1cluster\$1name* /prometheus**, dans le flux de journaux. *nginx-plus-prometheus-exporter*

# Didacticiel pour l'ajout d'une nouvelle cible de récupération Prometheus : Memcached sur Amazon ECS
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs"></a>

Ce didacticiel propose une présentation pratique pour récupérer les métriques Prometheus d'un exemple d'application Memcached sur un cluster Amazon ECS avec le type de lancement EC2. La cible de l'exportateur Prometheus Memcached sera découverte automatiquement par l' CloudWatch agent par le biais de la découverte de services basée sur la définition des tâches ECS.

Memcached est un système de mise en cache de mémoire distribuée polyvalent. Il est souvent utilisé pour accélérer la vitesse des sites web dynamiques de base de données en mettant en cache les données et les objets dans la mémoire RAM pour réduire le nombre de fois où une source de données externe (telle qu'une base de données ou une API) doit être lue. Pour en savoir plus, consultez [Qu'est-ce que Memcached ?](https://www.memcached.org/).

Le [memchached\$1exporter](https://github.com/prometheus/memcached_exporter) (licence Apache 2.0) est l'un des exportateurs officiels de Prometheus. Par défaut, le memcache\$1exporter sert sur le port 0.0.0.0:9150 à l'adresse `/metrics.`

Les images Docker dans les deux référentiels Docker Hub suivants sont utilisées dans ce didacticiel : 
+ [ Memcached](https://hub.docker.com/_/memcached?tab=description)
+ [prom/memcached-exporter](https://hub.docker.com/r/prom/memcached-exporter/)

**Prérequis**

Pour collecter des métriques à partir d'un exemple d'application Prometheus pour Amazon ECS, vous devez exécuter Container Insights dans le cluster. Pour plus d'informations sur l'installation de Container Insights, consultez [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS.md).

**Topics**
+ [Définition des variables d'environnement de cluster Amazon ECS EC2](#ContainerInsights-Prometheus-Setup-memcached-ecs-environment)
+ [Installation de l'exemple d'application Memcached](#ContainerInsights-Prometheus-Setup-memcached-ecs-install-workload)
+ [Configurer l' CloudWatch agent pour extraire les métriques Prometheus de Memcached](#ContainerInsights-Prometheus-Setup-memcached-ecs-agent)
+ [Affichage de vos métriques Memcached](#ContainerInsights-Prometheus-ECS-memcached-view)

## Définition des variables d'environnement de cluster Amazon ECS EC2
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs-environment"></a>

**Pour définir des variables d'environnement de cluster Amazon ECS EC2**

1. Installez l'interface de ligne de commande (CLI) Amazon ECS, si vous ne l'avez pas déjà fait. Pour en savoir plus, consultez [Installation de l'interface de ligne de commande (CLI) Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html).

1. Définissez le nouveau nom de cluster Amazon ECS et la nouvelle région. Par exemple :

   ```
   ECS_CLUSTER_NAME=ecs-ec2-memcached-tutorial
   AWS_DEFAULT_REGION=ca-central-1
   ```

1. (Facultatif) Si vous ne possédez pas encore de cluster Amazon ECS de type de lancement EC2 dans lequel vous souhaitez installer l'exemple de charge de travail et d' CloudWatch agent Memcached, vous pouvez en créer un en saisissant la commande suivante.

   ```
   ecs-cli up --capability-iam --size 1 \
   --instance-type t3.medium \
   --cluster $ECS_CLUSTER_NAME \
   --region $AWS_REGION
   ```

   Le résultat attendu de cette commande est le suivant :

   ```
   WARN[0000] You will not be able to SSH into your EC2 instances without a key pair. 
   INFO[0000] Using recommended Amazon Linux 2 AMI with ECS Agent 1.44.4 and Docker version 19.03.6-ce 
   INFO[0001] Created cluster                               cluster=ecs-ec2-memcached-tutorial region=ca-central-1
   INFO[0002] Waiting for your cluster resources to be created... 
   INFO[0002] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
   INFO[0063] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
   INFO[0124] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
   VPC created: vpc-xxxxxxxxxxxxxxxxx
   Security Group created: sg-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Cluster creation succeeded.
   ```

## Installation de l'exemple d'application Memcached
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs-install-workload"></a>

**Pour installer l'exemple d'application Memcached qui expose les métriques Prometheus**

1. Téléchargez le CloudFormation modèle Memcached en saisissant la commande suivante.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/sample_traffic/memcached/memcached-traffic-sample.yaml
   ```

1. Définissez les noms de rôles IAM à créer pour Memcached en saisissant les commandes suivantes.

   ```
   MEMCACHED_ECS_TASK_ROLE_NAME=memcached-prometheus-demo-ecs-task-role-name
   MEMCACHED_ECS_EXECUTION_ROLE_NAME=memcached-prometheus-demo-ecs-execution-role-name
   ```

1. Installez l'exemple d'application Memcached en saisissant la commande suivante. Cet exemple installe l'application dans le mode réseau `host`.

   ```
   MEMCACHED_ECS_NETWORK_MODE=host
   
   aws cloudformation create-stack --stack-name Memcached-Prometheus-Demo-ECS-$ECS_CLUSTER_NAME-EC2-$MEMCACHED_ECS_NETWORK_MODE \
       --template-body file://memcached-traffic-sample.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=ECSNetworkMode,ParameterValue=$MEMCACHED_ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$MEMCACHED_ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$MEMCACHED_ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

La CloudFormation pile crée quatre ressources :
+ Un rôle de tâche ECS
+ Un rôle d'exécution de tâche ECS
+ Une définition de tâche Memcached
+ Un service Memcached

Dans la définition de la tâche Memcached, deux conteneurs sont définis :
+ Le conteneur principal exécute une application Memcached simple et ouvre le port 11211 pour l'accès.
+ L’autre conteneur exécute le processus d’exportation Redis OSS pour exposer les métriques Prometheus sur le port 9150. Il s'agit du contenant à découvrir et à gratter par l' CloudWatch agent.

## Configurer l' CloudWatch agent pour extraire les métriques Prometheus de Memcached
<a name="ContainerInsights-Prometheus-Setup-memcached-ecs-agent"></a>

**Pour configurer l' CloudWatch agent afin de récupérer les métriques Prometheus mises en cache par Memcached**

1. Téléchargez la dernière version du fichier `cwagent-ecs-prometheus-metric-for-awsvpc.yaml` en saisissant la commande suivante.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml
   ```

1. Ouvrez le fichier dans un éditeur de texte et recherchez la configuration complète de l' CloudWatch agent située derrière la `value` clé dans la `resource:CWAgentConfigSSMParameter` section.

   Ensuite, dans la section `ecs_service_discovery`, ajoutez la configuration suivante dans la section `task_definition_list`.

   ```
   {
       "sd_job_name": "ecs-memcached",
       "sd_metrics_ports": "9150",
       "sd_task_definition_arn_pattern": ".*:task-definition/memcached-prometheus-demo.*:[0-9]+"
   },
   ```

   Pour la section `metric_declaration`, le paramètre par défaut n'autorise aucune métrique Memcached. Ajoutez la section suivante pour autoriser les métriques Memcached. Veillez à suivre le modèle d'indentation existant.

   ```
   {
     "source_labels": ["container_name"],
     "label_matcher": "memcached-exporter-.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily"]],
     "metric_selectors": [
       "^memcached_current_(bytes|items|connections)$",
       "^memcached_items_(reclaimed|evicted)_total$",
       "^memcached_(written|read)_bytes_total$",
       "^memcached_limit_bytes$",
       "^memcached_commands_total$"
     ]
   },
   {
     "source_labels": ["container_name"],
     "label_matcher": "memcached-exporter-.*",
     "dimensions": [["ClusterName", "TaskDefinitionFamily","status","command"], ["ClusterName", "TaskDefinitionFamily","command"]],
     "metric_selectors": [
       "^memcached_commands_total$"
     ]
   },
   ```

1. Si l' CloudWatch agent est déjà déployé dans le cluster Amazon ECS par CloudFormation, vous pouvez créer un ensemble de modifications en saisissant les commandes suivantes.

   ```
   ECS_NETWORK_MODE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION \
       --change-set-name memcached-scraping-support
   ```

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

1. Vérifiez le jeu de modifications `memcached-scraping-support` nouvellement créé. Vous devriez voir une modification appliquée à la ressource `CWAgentConfigSSMParameter`. Exécutez l'ensemble de modifications et redémarrez la tâche de l' CloudWatch agent en saisissant les commandes suivantes.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Patientez environ 10 secondes, puis saisissez la commande suivante.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-EC2-$ECS_NETWORK_MODE \
   --region $AWS_REGION
   ```

1. Si vous installez l' CloudWatch agent avec la collecte de métriques Prometheus pour le cluster pour la première fois, entrez les commandes suivantes :

   ```
   ECS_NETWORK_MODEE=bridge
   CREATE_IAM_ROLES=True
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
       --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_REGION
   ```

## Affichage de vos métriques Memcached
<a name="ContainerInsights-Prometheus-ECS-memcached-view"></a>

Ce didacticiel envoie les métriques suivantes à l'espace de **ECS/ContainerInsights/Prometheus**noms dans CloudWatch. Vous pouvez utiliser la CloudWatch console pour voir les métriques de cet espace de noms.


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `memcached_current_items` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_current_connections` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_limit_bytes` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_current_bytes` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_written_bytes_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_read_bytes_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_items_evicted_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_items_reclaimed_total` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `memcached_commands_total` |  `ClusterName`, `TaskDefinitionFamily` `ClusterName` TaskDefinitionFamily, commande `ClusterName` TaskDefinitionFamily, statut, commande  | 

**Note**  
La valeur de la dimension **command** peut être : `delete`, `get`, `cas`, `set`, `decr`, `touch`, `incr` ou `flush`.  
La valeur de la dimension **status** peut être `hit`, `miss`, ou `badval`. 

Vous pouvez également créer un CloudWatch tableau de bord pour vos métriques Prometheus Memcached.

**Pour créer un tableau de bord pour les métriques Prometheus Memcached**

1. Créez des variables d'environnement, en remplaçant les valeurs ci-dessous pour correspondre à votre déploiement.

   ```
   DASHBOARD_NAME=your_memcached_cw_dashboard_name
   ECS_TASK_DEF_FAMILY=memcached-prometheus-demo-$ECS_CLUSTER_NAME-EC2-$MEMCACHED_ECS_NETWORK_MOD
   ```

1. Saisissez la commande suivante pour créer le tableau de bord.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/sample_cloudwatch_dashboards/memcached/cw_dashboard_memcached.json \
   | sed "s/{{YOUR_AWS_REGION}}/$AWS_REGION/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/$ECS_CLUSTER_NAME/g" \
   | sed "s/{{YOUR_TASK_DEF_FAMILY}}/$ECS_TASK_DEF_FAMILY/g" \
   | xargs -0 aws cloudwatch put-dashboard --dashboard-name ${DASHBOARD_NAME} --region $AWS_REGION --dashboard-body
   ```

# Didacticiel pour récupérer les métriques Prometheus Redis OSS sur Amazon ECS Fargate
<a name="ContainerInsights-Prometheus-Setup-redis-ecs"></a>

Ce didacticiel propose une présentation pratique de l’utilisation des métriques Prometheus d’un exemple d’application Redis OSS dans un cluster Amazon ECS Fargate. La cible de l'exportateur Prometheus de Redis OSS sera découverte automatiquement par l' CloudWatch agent avec le support métrique Prometheus sur la base des étiquettes docker du conteneur.

Redis OSS (https://redis.io/) est un magasin de structures de données open source (sous licence BSD) en mémoire, utilisé comme base de données, cache et agent de messages. Pour en savoir plus, consultez [redis](https://redis.io/).

redis\$1exportateur (sous licence MIT) est utilisé pour exposer les métriques Prometheus Redis OSS sur le port spécifié (par défaut : 0.0.0.0:9121). Pour en savoir plus, consultez [redis\$1exporter](https://github.com/oliver006/redis_exporter).

Les images Docker dans les deux référentiels Docker Hub suivants sont utilisées dans ce didacticiel : 
+ [ Redis](https://hub.docker.com/_/redis?tab=description)
+ [redis\$1exporter](https://hub.docker.com/r/oliver006/redis_exporter)

**Prérequis**

Pour collecter des métriques à partir d'un exemple d'application Prometheus pour Amazon ECS, vous devez exécuter Container Insights dans le cluster. Pour plus d'informations sur l'installation de Container Insights, consultez [Configuration de Container Insights sur Amazon ECS](deploy-container-insights-ECS.md).

**Topics**
+ [Définition de la variable d'environnement de cluster Amazon ECS Fargate](#ContainerInsights-Prometheus-Setup-redis-ecs-variable)
+ [Définition des variables d'environnement réseau pour le cluster Amazon ECS Fargate](#ContainerInsights-Prometheus-Setup-redis-ecs-variable2)
+ [Installer l’exemple de charge de travail Redis OSS](#ContainerInsights-Prometheus-Setup-redis-ecs-install-workload)
+ [Configurer l' CloudWatch agent pour récupérer les métriques Prometheus de Redis OSS](#ContainerInsights-Prometheus-Setup-redis-ecs-agent)
+ [Afficher vos métriques Redis OSS](#ContainerInsights-Prometheus-Setup-redis-view)

## Définition de la variable d'environnement de cluster Amazon ECS Fargate
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-variable"></a>

**Pour définir la variable d'environnement de cluster Amazon ECS Fargate**

1. Installez l'interface de ligne de commande (CLI) Amazon ECS, si vous ne l'avez pas déjà fait. Pour en savoir plus, consultez [Installation de l'interface de ligne de commande (CLI) Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html).

1. Définissez le nouveau nom de cluster Amazon ECS et la nouvelle région. Par exemple :

   ```
   ECS_CLUSTER_NAME=ecs-fargate-redis-tutorial
   AWS_DEFAULT_REGION=ca-central-1
   ```

1. (Facultatif) Si vous ne possédez pas encore de cluster Amazon ECS Fargate dans lequel vous souhaitez installer l'exemple de charge de travail CloudWatch et d'agent Redis OSS, vous pouvez en créer un en saisissant la commande suivante.

   ```
   ecs-cli up --capability-iam \
   --cluster $ECS_CLUSTER_NAME \
   --launch-type FARGATE \
   --region $AWS_DEFAULT_REGION
   ```

   Le résultat attendu de cette commande est le suivant :

   ```
   INFO[0000] Created cluster   cluster=ecs-fargate-redis-tutorial region=ca-central-1
   INFO[0001] Waiting for your cluster resources to be created...
   INFO[0001] Cloudformation stack status   stackStatus=CREATE_IN_PROGRESS
   VPC created: vpc-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Subnet created: subnet-xxxxxxxxxxxxxxxxx
   Cluster creation succeeded.
   ```

## Définition des variables d'environnement réseau pour le cluster Amazon ECS Fargate
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-variable2"></a>

**Pour définir les variables d'environnement réseau pour le cluster Amazon ECS Fargate**

1. Définissez votre VPC et votre ID de sous-réseau du cluster Amazon ECS. Si vous avez créé un nouveau cluster dans la procédure précédente, ces valeurs s'affichent dans le résultat de la commande finale. Sinon, utilisez IDs le cluster existant que vous allez utiliser avec Redis.

   ```
   ECS_CLUSTER_VPC=vpc-xxxxxxxxxxxxxxxxx
   ECS_CLUSTER_SUBNET_1=subnet-xxxxxxxxxxxxxxxxx
   ECS_CLUSTER_SUBNET_2=subnet-xxxxxxxxxxxxxxxxx
   ```

1. Dans ce didacticiel, nous allons installer l'application Redis OSS et l' CloudWatch agent dans le groupe de sécurité par défaut du VPC du cluster Amazon ECS. Le groupe de sécurité par défaut autorise toutes les connexions réseau au sein du même groupe de sécurité afin que l' CloudWatch agent puisse supprimer les métriques Prometheus exposées sur les conteneurs Redis OSS. Dans un environnement de production réel, vous souhaiterez peut-être créer des groupes de sécurité dédiés pour l'application et l' CloudWatch agent Redis OSS et définir des autorisations personnalisées pour eux. 

   Saisissez la commande suivante pour obtenir l'ID du groupe de sécurité par défaut.

   ```
   aws ec2 describe-security-groups \
   --filters Name=vpc-id,Values=$ECS_CLUSTER_VPC  \
   --region $AWS_DEFAULT_REGION
   ```

   Définissez ensuite la variable de groupe de sécurité par défaut du cluster Fargate en saisissant la commande suivante, en la *my-default-security-group* remplaçant par la valeur que vous avez trouvée dans la commande précédente.

   ```
   ECS_CLUSTER_SECURITY_GROUP=my-default-security-group
   ```

## Installer l’exemple de charge de travail Redis OSS
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-install-workload"></a>

**Pour installer l’exemple de charge de travail Redis OSS qui expose les métriques Prometheus**

1. Téléchargez le CloudFormation modèle Redis OSS en saisissant la commande suivante.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/sample_traffic/redis/redis-traffic-sample.yaml
   ```

1. Définissez les noms de rôles IAM à créer pour Redis OSS en saisissant les commandes suivantes.

   ```
   REDIS_ECS_TASK_ROLE_NAME=redis-prometheus-demo-ecs-task-role-name
   REDIS_ECS_EXECUTION_ROLE_NAME=redis-prometheus-demo-ecs-execution-role-name
   ```

1. Installez l’exemple de charge de travail Redis OSS en saisissant la commande suivante.

   ```
   aws cloudformation create-stack --stack-name Redis-Prometheus-Demo-ECS-$ECS_CLUSTER_NAME-fargate-awsvpc \
       --template-body file://redis-traffic-sample.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=SecurityGroupID,ParameterValue=$ECS_CLUSTER_SECURITY_GROUP \
                    ParameterKey=SubnetID,ParameterValue=$ECS_CLUSTER_SUBNET_1 \
                    ParameterKey=TaskRoleName,ParameterValue=$REDIS_ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$REDIS_ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region $AWS_DEFAULT_REGION
   ```

La CloudFormation pile crée quatre ressources :
+ Un rôle de tâche ECS
+ Un rôle d'exécution de tâche ECS
+ Une définition de tâche Redis OSS
+ Un service Redis OSS

Dans la définition de la tâche Redis OSS, deux conteneurs sont définis :
+ Le conteneur principal exécute une application Redis OSS simple et ouvre le port 6379 pour l’accès.
+ L’autre conteneur exécute le processus d’exportation Redis OSS pour exposer les métriques Prometheus sur le port 9121. Il s'agit du contenant à découvrir et à gratter par l' CloudWatch agent. L'étiquette docker suivante est définie afin que l' CloudWatch agent puisse découvrir ce conteneur en fonction de celle-ci.

  ```
  ECS_PROMETHEUS_EXPORTER_PORT: 9121
  ```

## Configurer l' CloudWatch agent pour récupérer les métriques Prometheus de Redis OSS
<a name="ContainerInsights-Prometheus-Setup-redis-ecs-agent"></a>

**Pour configurer l' CloudWatch agent afin de récupérer les métriques Prometheus de Redis OSS**

1. Téléchargez la dernière version du fichier `cwagent-ecs-prometheus-metric-for-awsvpc.yaml` en saisissant la commande suivante.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml
   ```

1. Ouvrez le fichier dans un éditeur de texte et recherchez la configuration complète de l' CloudWatch agent située derrière la `value` clé dans la `resource:CWAgentConfigSSMParameter` section.

   Ensuite, dans la section `ecs_service_discovery` présentée ici, la découverte de service basée sur `docker_label` est activée avec les paramètres par défaut qui sont basés sur `ECS_PROMETHEUS_EXPORTER_PORT`, qui correspond à l’étiquette docker que nous avons définie dans la définition de tâche ECS Redis OSS. Nous n'avons donc pas besoin d'apporter des modifications dans cette section :

   ```
   ecs_service_discovery": {
     "sd_frequency": "1m",
     "sd_result_file": "/tmp/cwagent_ecs_auto_sd.yaml",
   *  "docker_label": {
     },*
     ...
   ```

   Pour la section `metric_declaration`, le paramètre par défaut n’autorise aucune métrique Redis OSS. Ajoutez la section suivante pour autoriser les métriques Redis OSS. Veillez à suivre le modèle d'indentation existant.

   ```
   {
     "source_labels": ["container_name"],
     "label_matcher": "^redis-exporter-.*$",
     "dimensions": [["ClusterName","TaskDefinitionFamily"]],
     "metric_selectors": [
       "^redis_net_(in|out)put_bytes_total$",
       "^redis_(expired|evicted)_keys_total$",
       "^redis_keyspace_(hits|misses)_total$",
       "^redis_memory_used_bytes$",
       "^redis_connected_clients$"
     ]
   },
   {
     "source_labels": ["container_name"],
     "label_matcher": "^redis-exporter-.*$",
     "dimensions": [["ClusterName","TaskDefinitionFamily","cmd"]],
     "metric_selectors": [
       "^redis_commands_total$"
     ]
   },
   {
     "source_labels": ["container_name"],
     "label_matcher": "^redis-exporter-.*$",
     "dimensions": [["ClusterName","TaskDefinitionFamily","db"]],
     "metric_selectors": [
       "^redis_db_keys$"
     ]
   },
   ```

1. Si l' CloudWatch agent est déjà déployé dans le cluster Amazon ECS par CloudFormation, vous pouvez créer un ensemble de modifications en saisissant les commandes suivantes.

   ```
   ECS_LAUNCH_TYPE=FARGATE
   CREATE_IAM_ROLES=True
   ECS_CLUSTER_SUBNET=$ECS_CLUSTER_SUBNET_1
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-$ECS_CLUSTER_NAME-$ECS_LAUNCH_TYPE-awsvpc \
       --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSLaunchType,ParameterValue=$ECS_LAUNCH_TYPE \
                    ParameterKey=SecurityGroupID,ParameterValue=$ECS_CLUSTER_SECURITY_GROUP \
                    ParameterKey=SubnetID,ParameterValue=$ECS_CLUSTER_SUBNET \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region ${AWS_DEFAULT_REGION} \
       --change-set-name redis-scraping-support
   ```

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

1. Vérifiez le jeu de modifications `redis-scraping-support` nouvellement créé. Vous devriez voir une modification appliquée à la ressource `CWAgentConfigSSMParameter`. Exécutez l'ensemble de modifications et redémarrez la tâche de l' CloudWatch agent en saisissant les commandes suivantes.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 0 \
   --service cwagent-prometheus-replica-service-$ECS_LAUNCH_TYPE-awsvpc \
   --region ${AWS_DEFAULT_REGION}
   ```

1. Patientez environ 10 secondes, puis saisissez la commande suivante.

   ```
   aws ecs update-service --cluster $ECS_CLUSTER_NAME \
   --desired-count 1 \
   --service cwagent-prometheus-replica-service-$ECS_LAUNCH_TYPE-awsvpc \
   --region ${AWS_DEFAULT_REGION}
   ```

1. Si vous installez l' CloudWatch agent avec la collecte de métriques Prometheus pour le cluster pour la première fois, entrez les commandes suivantes :

   ```
   ECS_LAUNCH_TYPE=FARGATE
   CREATE_IAM_ROLES=True
   ECS_CLUSTER_SUBNET=$ECS_CLUSTER_SUBNET_1
   ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
   ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
   
   aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-$ECS_CLUSTER_NAME-$ECS_LAUNCH_TYPE-awsvpc \
       --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \
       --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                    ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                    ParameterKey=ECSLaunchType,ParameterValue=$ECS_LAUNCH_TYPE \
                    ParameterKey=SecurityGroupID,ParameterValue=$ECS_CLUSTER_SECURITY_GROUP \
                    ParameterKey=SubnetID,ParameterValue=$ECS_CLUSTER_SUBNET \
                    ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                    ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
       --capabilities CAPABILITY_NAMED_IAM \
       --region ${AWS_DEFAULT_REGION}
   ```

## Afficher vos métriques Redis OSS
<a name="ContainerInsights-Prometheus-Setup-redis-view"></a>

Ce didacticiel envoie les métriques suivantes à l'espace de **ECS/ContainerInsights/Prometheus**noms dans CloudWatch. Vous pouvez utiliser la CloudWatch console pour voir les métriques de cet espace de noms.


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `redis_net_input_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_net_output_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_expired_keys_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_evicted_keys_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_keyspace_hits_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_keyspace_misses_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_memory_used_bytes` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_connected_clients` |  ClusterName, `TaskDefinitionFamily`  | 
|  `redis_commands_total` |  ` ClusterName`, `TaskDefinitionFamily`, `cmd`  | 
|  `redis_db_keys` |  `ClusterName`, `TaskDefinitionFamily`, `db`  | 

**Note**  
Les valeurs de la dimension **cmd** peuvent être : `append`, `client`, `command`, `config`, `dbsize`, `flushall`, `get`, `incr`, `info`, `latency` ou `slowlog`.  
Les valeurs de la dimension **db** peuvent être `db0` ou `db15`. 

Vous pouvez également créer un CloudWatch tableau de bord pour vos métriques Redis OSS Prometheus.

**Pour créer un tableau de bord pour les métriques Prometheus Redis OSS**

1. Créez des variables d'environnement, en remplaçant les valeurs ci-dessous pour correspondre à votre déploiement.

   ```
   DASHBOARD_NAME=your_cw_dashboard_name
   ECS_TASK_DEF_FAMILY=redis-prometheus-demo-$ECS_CLUSTER_NAME-fargate-awsvpc
   ```

1. Saisissez la commande suivante pour créer le tableau de bord.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/redis/cw_dashboard_redis.json \
   | sed "s/{{YOUR_AWS_REGION}}/${REGION_NAME}/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/${CLUSTER_NAME}/g" \
   | sed "s/{{YOUR_NAMESPACE}}/${NAMESPACE}/g" \
   ```

# Configuration de la collecte de métriques Prometheus sur des clusters Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-install-EKS"></a>

Pour collecter les métriques Prometheus à partir de clusters exécutant Amazon EKS ou Kubernetes, vous pouvez utiliser CloudWatch l'agent comme collecteur ou utiliser Distro pour collecteur. AWS OpenTelemetry Pour plus d'informations sur l'utilisation de AWS Distro for OpenTelemetry Collector, consultez [https://aws-otel.github. io/docs/getting-started/container-insights/eks-prométhée](https://aws-otel.github.io/docs/getting-started/container-insights/eks-prometheus).

Les sections suivantes expliquent comment collecter les métriques Prometheus à l'aide de l'agent. CloudWatch Ils expliquent comment installer l' CloudWatch agent avec Prometheus monitoring sur des clusters exécutant Amazon EKS ou Kubernetes, et comment configurer l'agent pour récupérer des cibles supplémentaires. Elles fournissent également des didacticiels facultatifs pour configurer des exemples d'applications à utiliser pour les tests avec la surveillance Prometheus.

**Topics**
+ [Installez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Setup.md)

# Installez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Setup"></a>

Cette section explique comment configurer l' CloudWatch agent avec la surveillance Prometheus dans un cluster exécutant Amazon EKS ou Kubernetes. Après cela, l'agent récupère et importe automatiquement les métriques pour les applications suivantes exécutées dans ce cluster.
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy
+ Fluent Bit

Vous pouvez également configurer l'agent pour récupérer et importer à partir d'applications et sources Prometheus supplémentaires.

Avant de suivre ces étapes pour installer l' CloudWatch agent de collecte de métriques Prometheus, vous devez disposer d'un cluster exécuté sur Amazon EKS ou d'un cluster Kubernetes exécuté sur une instance Amazon EC2.

**Exigences de groupe de sécurité VPC**

Les règles d'entrée des groupes de sécurité pour les charges de travail Prometheus doivent ouvrir les ports Prometheus à l'agent pour récupérer les métriques Prometheus par CloudWatch l'adresse IP privée.

Les règles de sortie du groupe de sécurité pour l' CloudWatch agent doivent permettre à l'agent de se connecter au CloudWatch port des charges de travail Prometheus via une adresse IP privée. 

**Topics**
+ [Installez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon EKS et Kubernetes](#ContainerInsights-Prometheus-Setup-roles)
+ [Récupération de sources Prometheus supplémentaires et importation de ces métriques](ContainerInsights-Prometheus-Setup-configure.md)
+ [(En option) Configuration d'exemples d'applications Amazon EKS conteneurisées pour les test de métriques Prometheus](ContainerInsights-Prometheus-Sample-Workloads.md)

## Installez l' CloudWatch agent avec la collecte de métriques Prometheus sur les clusters Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Setup-roles"></a>

Cette section explique comment configurer l' CloudWatch agent avec la surveillance Prometheus dans un cluster exécutant Amazon EKS ou Kubernetes. Après cela, l'agent récupère et importe automatiquement les métriques pour les applications suivantes exécutées dans ce cluster.
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy
+ Fluent Bit

Vous pouvez également configurer l'agent pour récupérer et importer à partir d'applications et sources Prometheus supplémentaires.

Avant de suivre ces étapes pour installer l' CloudWatch agent de collecte de métriques Prometheus, vous devez disposer d'un cluster exécuté sur Amazon EKS ou d'un cluster Kubernetes exécuté sur une instance Amazon EC2.

**Exigences de groupe de sécurité VPC**

Les règles d'entrée des groupes de sécurité pour les charges de travail Prometheus doivent ouvrir les ports Prometheus à l'agent pour récupérer les métriques Prometheus par CloudWatch l'adresse IP privée.

Les règles de sortie du groupe de sécurité pour l' CloudWatch agent doivent permettre à l'agent de se connecter au CloudWatch port des charges de travail Prometheus via une adresse IP privée. 

**Topics**
+ [Configuration de rôles IAM](#ContainerInsights-Prometheus-Setup-roles)
+ [Installation de l' CloudWatch agent pour collecter les métriques Prometheus](#ContainerInsights-Prometheus-Setup-install-agent)

### Configuration de rôles IAM
<a name="ContainerInsights-Prometheus-Setup-roles"></a>

La première étape consiste à configurer le rôle IAM nécessaire dans le cluster. Il existe deux méthodes :
+ Configurez un rôle IAM pour un compte de service, également appelé *fonction du service*. Cette méthode fonctionne à la fois pour le type de lancement EC2 et le type de lancement Fargate.
+ Ajouter une politique IAM au rôle IAM utilisé pour le cluster. Cela ne fonctionne que pour le type de lancement EC2.

**Configurer une fonction du service (type de lancement EC2 et type de lancement Fargate)**

Pour configurer une fonction du service, saisissez la commande suivante. Remplacez *MyCluster* par le nom du cluster.

```
eksctl create iamserviceaccount \
 --name cwagent-prometheus \
--namespace amazon-cloudwatch \
 --cluster MyCluster \
--attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
--approve \
--override-existing-serviceaccounts
```

**Ajoutez une politique au rôle IAM du groupe de nœuds (type de lancement EC2 uniquement)**

**Pour configurer la politique IAM d’un groupe de nœuds pour la prise en charge de Prometheus**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Vous devez trouver le préfixe du nom du rôle IAM pour le cluster. Pour ce faire, cochez la case en regard du nom d’une instance qui se trouve dans le cluster, puis choisissez **Actions**, **Sécurité**, **Modifier le rôle IAM**. Copiez ensuite le préfixe du rôle IAM, par exemple `eksctl-dev303-workshop-nodegroup`.

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, choisissez **Rôles**.

1. Utilisez la zone de recherche pour rechercher le préfixe que vous avez copié précédemment au cours de cette procédure et choisissez ce rôle.

1. Choisissez **Attacher des politiques**.

1. Utilisez le champ de recherche pour trouver **CloudWatchAgentServerPolicy**. Cochez la case à côté de **CloudWatchAgentServerPolicy**, puis choisissez **Attacher une politique**.

### Installation de l' CloudWatch agent pour collecter les métriques Prometheus
<a name="ContainerInsights-Prometheus-Setup-install-agent"></a>

Vous devez installer l' CloudWatch agent dans le cluster pour collecter les métriques. La méthode à appliquer pour installer l'agent est différente s'il s'agit de clusters Amazon EKS ou de clusters Kubernetes.

**Supprimer les versions précédentes de l' CloudWatch agent avec le support de Prometheus**

Si vous avez déjà installé une version de l' CloudWatch agent compatible avec Prometheus dans votre cluster, vous devez supprimer cette version en saisissant la commande suivante. Cette étape est nécessaire uniquement pour les versions précédentes de l'agent avec prise en charge de Prometheus. Il n'est pas nécessaire de supprimer l' CloudWatch agent qui active Container Insights sans l'assistance de Prometheus.

```
kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
```

#### Installation de l' CloudWatch agent sur des clusters Amazon EKS avec le type de lancement EC2
<a name="ContainerInsights-Prometheus-Setup-install-agent-EKS"></a>

Pour installer l' CloudWatch agent compatible avec Prometheus sur un cluster Amazon EKS, procédez comme suit.

**Pour installer l' CloudWatch agent avec le support de Prometheus sur un cluster Amazon EKS**

1. Entrez la commande suivante pour vérifier si l'espace de noms `amazon-cloudwatch` a déjà été créé :

   ```
   kubectl get namespace
   ```

1. Si le fichier `amazon-cloudwatch` n'est pas affiché dans les résultats, créez-le en entrant la commande suivante :

   ```
   kubectl create namespace amazon-cloudwatch
   ```

1. Pour déployer l'agent avec la configuration par défaut et lui demander d'envoyer des données à la AWS région dans laquelle il est installé, entrez la commande suivante :

   ```
   kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
   ```

   En revanche; pour que l'agent envoie des données à une autre région, procédez comme suit :

   1. Téléchargez le fichier YAML de l'agent en entrant la commande suivante :

      ```
      curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
      ```

   1. Ouvrez le fichier avec un éditeur de texte et recherchez le bloc `cwagentconfig.json` du fichier.

   1. Ajoutez les lignes en surbrillance, en spécifiant la région souhaitée :

      ```
      cwagentconfig.json: |
          {
            "agent": {
              "region": "us-east-2"
            },
            "logs": { ...
      ```

   1. Enregistrez le fichier et déployez l'agent à l'aide de votre fichier mis à jour.

      ```
      kubectl apply -f prometheus-eks.yaml
      ```

#### Installation de l' CloudWatch agent sur des clusters Amazon EKS avec le type de lancement Fargate
<a name="ContainerInsights-Prometheus-Setup-install-agent-EKS-fargate"></a>

Pour installer l' CloudWatch agent compatible avec Prometheus sur un cluster Amazon EKS avec le type de lancement Fargate, procédez comme suit.

**Pour installer l' CloudWatch agent compatible avec Prometheus sur un cluster Amazon EKS avec le type de lancement Fargate**

1. Entrez la commande suivante pour créer un profil Fargate pour CloudWatch l'agent afin qu'il puisse s'exécuter dans le cluster. Remplacez *MyCluster* par le nom du cluster.

   ```
   eksctl create fargateprofile --cluster MyCluster \
   --name amazon-cloudwatch \
   --namespace amazon-cloudwatch
   ```

1. Pour installer l' CloudWatch agent, entrez la commande suivante. Remplacez *MyCluster* par le nom du cluster. Ce nom est utilisé dans le nom du groupe de journaux qui stocke les événements de journaux collectés par l'agent et est également utilisé comme dimension pour les métriques collectées par l'agent.

   *region*Remplacez-le par le nom de la région dans laquelle vous souhaitez que les métriques soient envoyées. Par exemple, `us-west-1`. 

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml | 
   sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | 
   kubectl apply -f -
   ```

#### Installation de l' CloudWatch agent sur un cluster Kubernetes
<a name="ContainerInsights-Prometheus-Setup-install-agent-Kubernetes"></a>

Pour installer l' CloudWatch agent compatible avec Prometheus sur un cluster exécutant Kubernetes, entrez la commande suivante :

```
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml | 
sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | 
kubectl apply -f -
```

Remplacez *MyCluster* par le nom du cluster. Ce nom est utilisé dans le nom du groupe de journaux qui stocke les événements de journaux collectés par l'agent et est également utilisé comme dimension pour les métriques collectées par l'agent.

*region*Remplacez-le par le nom de la AWS région dans laquelle vous souhaitez que les métriques soient envoyées. Par exemple, **us-west-1**.

#### Vérification de l'exécution de l'agent
<a name="ContainerInsights-Prometheus-Setup-install-agent-verify"></a>

Sur les clusters Amazon EKS et Kubernetes, vous pouvez entrer la commande suivante pour vérifier que l'agent est en cours d'exécution.

```
kubectl get pod -l "app=cwagent-prometheus" -n amazon-cloudwatch
```

Si les résultats incluent un module d' CloudWatch agent unique dans l'`Running`état, l'agent est en cours d'exécution et collecte les métriques Prometheus. Par défaut, l' CloudWatchagent collecte des métriques pour App Mesh, NGINX, Memcached, Java/JMX et toutes les minutes. HAProxy Pour plus d'informations sur ces métriques, consultez [Métriques Prometheus collectées par l'agent CloudWatch](ContainerInsights-Prometheus-metrics.md). Pour obtenir des instructions sur la façon d'afficher vos statistiques Prometheus dans, voir CloudWatch [Affichage de vos métriques Prometheus](ContainerInsights-Prometheus-viewmetrics.md)

Vous pouvez également configurer l' CloudWatch agent pour collecter des métriques auprès d'autres exportateurs Prometheus. Pour de plus amples informations, veuillez consulter [Récupération de sources Prometheus supplémentaires et importation de ces métriques](ContainerInsights-Prometheus-Setup-configure.md).

# Récupération de sources Prometheus supplémentaires et importation de ces métriques
<a name="ContainerInsights-Prometheus-Setup-configure"></a>

L' CloudWatch agent chargé de surveiller Prometheus a besoin de deux configurations pour récupérer les métriques Prometheus. L'une concerne les configurations standard Prometheus, comme décrit dans [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) dans la documentation Prometheus. L'autre concerne la configuration de l' CloudWatch agent.

Pour les clusters Amazon EKS, les configurations sont définies dans `prometheus-eks.yaml` (pour le type de lancement EC2) ou`prometheus-eks-fargate.yaml` (pour le type de lancement Fargate) sous la forme de deux cartes de configuration :
+ La section `name: prometheus-config` contient les paramètres pour la récupération Prometheus.
+ La `name: prometheus-cwagentconfig` section contient la configuration de l' CloudWatch agent. Vous pouvez utiliser cette section pour configurer la manière dont les métriques Prometheus sont collectées par. CloudWatch Par exemple, vous spécifiez les métriques dans lesquelles vous souhaitez CloudWatch importer et définissez leurs dimensions. 

Pour les clusters Kubernetes s'exécutant sur des instances Amazon EC2, les configurations sont définies dans le fichier YAML `prometheus-k8s.yaml` sous la forme de deux cartes de configuration :
+ La section `name: prometheus-config` contient les paramètres pour la récupération Prometheus.
+ La `name: prometheus-cwagentconfig` section contient la configuration de l' CloudWatch agent. 

Pour extraire des sources de métriques Prometheus supplémentaires et les importer, CloudWatch vous devez modifier à la fois la configuration de Prometheus Scrape et la configuration de l'agent, puis redéployer CloudWatch l'agent avec la configuration mise à jour.

**Exigences de groupe de sécurité VPC**

Les règles d'entrée des groupes de sécurité pour les charges de travail Prometheus doivent ouvrir les ports Prometheus à l'agent pour récupérer les métriques Prometheus par CloudWatch l'adresse IP privée.

Les règles de sortie du groupe de sécurité pour l' CloudWatch agent doivent permettre à l'agent de se connecter au CloudWatch port des charges de travail Prometheus via une adresse IP privée. 

## Configuration de récupération Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-global"></a>

L' CloudWatch agent prend en charge les configurations standard de Prometheus scrape, comme indiqué[https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) <scrape\$1config>dans la documentation de Prometheus. Vous pouvez modifier cette section pour mettre à jour les configurations déjà présentes dans ce fichier et ajouter des cibles de récupération Prometheus supplémentaires. Par défaut, l'exemple de fichier de configuration contient les lignes de configuration globale suivantes :

```
global:
  scrape_interval: 1m
  scrape_timeout: 10s
```
+ **scrape\$1interval**– Définit la fréquence à laquelle récupérer les cibles.
+ **scrape\$1timeout**– Définit le temps d'attente avant l'expiration d'une requête de récupération.

Vous pouvez également définir différentes valeurs pour ces paramètres au niveau de la tâche, afin de remplacer les configurations globales.

### Tâches de récupération Prometheus
<a name="ContainerInsights-Prometheus-Setup-config-scrape"></a>

Certaines tâches de scraping par défaut sont déjà configurées dans les fichiers YAML de l' CloudWatch agent. Par exemple, dans `prometheus-eks.yaml`, les tâches de récupération par défaut sont configurées dans les lignes `job_name` de la section `scrape_configs`. Dans ce fichier, la section `kubernetes-pod-jmx` par défaut suivante recoupe les métriques de JMX Exporter.

```
   - job_name: 'kubernetes-pod-jmx'
      sample_limit: 10000
      metrics_path: /metrics
      kubernetes_sd_configs:
      - role: pod
      relabel_configs:
      - source_labels: [__address__]
        action: keep
        regex: '.*:9404$'
      - action: labelmap
        regex: __meta_kubernetes_pod_label_(.+)
      - action: replace
        source_labels:
        - __meta_kubernetes_namespace
        target_label: Namespace
      - source_labels: [__meta_kubernetes_pod_name]
        action: replace
        target_label: pod_name
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_container_name
        target_label: container_name
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_controller_name
        target_label: pod_controller_name
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_controller_kind
        target_label: pod_controller_kind
      - action: replace
        source_labels:
        - __meta_kubernetes_pod_phase
        target_label: pod_phase
```

Chacune de ces cibles par défaut est supprimée et les métriques sont envoyées dans le journal des événements CloudWatch à l'aide d'un format de métrique intégré. Pour de plus amples informations, veuillez consulter [Intégration de métriques dans les journaux](CloudWatch_Embedded_Metric_Format.md).

Les événements de journal des clusters Amazon EKS et Kubernetes sont stockés dans le groupe de journaux **/aws/containerinsights/ /prometheus *cluster\$1name*** dans Logs. CloudWatch Les événements de journal des clusters Amazon ECS sont stockés dans le groupe de journaux **aws/ecs/containerinsights//*cluster\$1name*/prometheus.**

Chaque tâche de récupération est contenue dans un flux de journaux différent au sein de ce groupe de journaux. Par exemple, la tâche de récupération Prometheus `kubernetes-pod-appmesh-envoy` est définie pour App Mesh. **Toutes les métriques App Mesh Prometheus provenant des clusters Amazon EKS et Kubernetes sont envoyées au flux de journal nommé /aws/containerinsights/ >prometheus//. *cluster\$1name* kubernetes-pod-appmesh-envoy**

Pour ajouter une nouvelle cible de récupération, vous ajoutez une nouvelle section `job_name` à la section `scrape_configs` du fichier YAML et redémarrez l'agent. Pour un exemple de ce processus, consultez [Didacticiel pour l'ajout d'une nouvelle cible de récupération Prometheus : métrique du serveur d'API Prometheus](#ContainerInsights-Prometheus-Setup-new-exporters).

## CloudWatch configuration de l'agent pour Prometheus
<a name="ContainerInsights-Prometheus-Setup-cw-agent-config2"></a>

Le fichier de configuration de l' CloudWatch agent contient une `prometheus` section `metrics_collected` dédiée à la configuration du scraping de Prometheus. Elle inclut les options de configuration suivantes :
+ **cluster\$1name**– Spécifie le nom du cluster à ajouter en tant qu'étiquette dans l'évènement du journal. Ce champ est facultatif. Si vous l'omettez, l'agent peut détecter le nom du cluster Amazon EKS ou Kubernetes.
+ **log\$1group\$1name**– Spécifie le nom du groupe de journaux pour les métriques Prometheus récupérées. Ce champ est facultatif. Si vous l'omettez, utilisez CloudWatch **/aws/containerinsights/ *cluster\$1name* /prometheus** pour les journaux des clusters Amazon EKS et Kubernetes.
+ **prometheus\$1config\$1path**– Spécifie le chemin d'accès du fichier de configuration de récupération Prometheus. Si la valeur de ce champ commence par `env:`, le contenu du fichier de configuration de récupération Prometheus sera récupéré à partir de la variable d'environnement du conteneur. Ne modifiez pas ce champ.
+ **ecs\$1service\$1discovery**– Il s'agit de la section qui spécifie la configuration de la découverte de service Amazon ECS Prometheus. Pour plus d'informations, consultez . [Guide détaillé de la découverte automatique sur les clusters Amazon ECS](ContainerInsights-Prometheus-Setup-autodiscovery-ecs.md).

  La section `ecs_service_discovery` peut contenir les champs suivants :
  + `sd_frequency` est la fréquence de découverte des exportateurs Prometheus. Spécifiez un nombre et un suffixe d'unité. Par exemple, `1m` pour une fois par minute ou `30s` pour une fois toutes les 30 secondes. Les suffixes d'unités valides sont `ns`, `us`, `ms`, `s`, `m` et `h`.

    Ce champ est facultatif. La valeur par défaut est de 60 secondes (1 minute).
  + `sd_target_cluster` est le nom du cluster Amazon ECS cible pour la découverte automatique. Ce champ est facultatif. Le nom par défaut est le nom du cluster Amazon ECS sur lequel l' CloudWatch agent est installé. 
  + `sd_cluster_region` est la région du cluster Amazon ECS cible. Ce champ est facultatif. La valeur par défaut est la région du cluster Amazon ECS dans laquelle l' CloudWatch agent est installé.
  + `sd_result_file` est le chemin d'accès du fichier YAML pour les résultats de la cible Prometheus. La configuration de récupération Prometheus fera référence à ce fichier.
  + `docker_label` est une section facultative que vous pouvez utiliser pour spécifier la configuration de la découverte de service basée sur des étiquettes de docker. Si vous omettez cette section, la découverte basée sur les étiquettes docker n'est pas utilisée. Cette section peut contenir les champs suivants :
    + `sd_port_label` est le nom de l'étiquette docker du conteneur qui spécifie le port du conteneur pour les métriques Prometheus. La valeur par défaut est `ECS_PROMETHEUS_EXPORTER_PORT`. Si le conteneur ne possède pas cette étiquette docker, l' CloudWatch agent l'ignorera.
    + `sd_metrics_path_label` est le nom de l'étiquette docker du conteneur qui spécifie le chemin d'accès aux métriques Prometheus. La valeur par défaut est `ECS_PROMETHEUS_METRICS_PATH`. Si le conteneur n'a pas cette étiquette docker, l'agent utilise le chemin par défaut `/metrics`.
    + `sd_job_name_label` est le nom de l'étiquette docker du conteneur qui spécifie le nom de la tâche de récupération Prometheus. La valeur par défaut est `job`. Si le conteneur ne possède pas cette étiquette docker, l' CloudWatch agent utilise le nom de la tâche dans la configuration Prometheus Scrape.
  + `task_definition_list` est une section facultative que vous pouvez utiliser pour spécifier la configuration de la découverte de service basée sur les définitions de tâches. Si vous omettez cette section, la découverte basée sur les définitions de tâches n'est pas utilisée. Cette section peut contenir les champs suivants :
    + `sd_task_definition_arn_pattern` est le modèle à utiliser pour spécifier les définitions de tâches Amazon ECS à découvrir. Il s'agit d'une expression régulière.
    + `sd_metrics_ports` répertorie le containerPort pour les métriques Prometheus. Séparez les containerPorts par des points-virgules.
    + `sd_container_name_pattern` spécifie les noms des conteneurs de tâches Amazon ECS. Il s'agit d'une expression régulière.
    + `sd_metrics_path` spécifie le chemin de métrique Prometheus. Si vous ne spécifiez pas ce paramètre, l'agent utilise le chemin par défaut `/metrics`
    + `sd_job_name` spécifie le nom de la tâche de récupération Prometheus. Si vous omettez ce champ, l' CloudWatch agent utilise le nom de la tâche dans la configuration Prometheus Scrape.
+ **metric\$1declaration** – Ce sont des sections qui spécifient le tableau de journaux avec le format de métrique intégré à générer. Il existe des `metric_declaration` sections pour chaque source Prometheus à partir de laquelle CloudWatch l'agent importe par défaut. Chacune de ces sections comprend les champs suivants :
  + `label_matcher` est une expression régulière qui vérifie la valeur des étiquettes répertoriées dans `source_labels`. Les métriques correspondantes sont activées pour être incluses dans le format de métrique intégré envoyé à CloudWatch. 

    Si plusieurs étiquettes sont spécifiées dans `source_labels`, nous vous recommandons de ne pas utiliser les caractères `^` ou `$` dans l'expression régulière pour `label_matcher`.
  + `source_labels` spécifie la valeur des étiquettes qui sont vérifiées par la ligne `label_matcher`.
  + `label_separator` spécifie le séparateur à utiliser dans la ligne ` label_matcher` si plusieurs `source_labels` sont spécifiées. La valeur par défaut est `;`. Vous pouvez voir cette valeur par défaut utilisée dans la ligne `label_matcher` dans l'exemple suivant.
  + `metric_selectors` est une expression régulière qui spécifie les métriques à collecter et à envoyer à CloudWatch.
  + `dimensions` est la liste des étiquettes à utiliser comme dimensions CloudWatch pour chaque métrique sélectionnée.

Consultez l'exemple `metric_declaration` suivant.

```
"metric_declaration": [
  {
     "source_labels":[ "Service", "Namespace"],
     "label_matcher":"(.*node-exporter.*|.*kube-dns.*);kube-system",
     "dimensions":[
        ["Service", "Namespace"]
     ],
     "metric_selectors":[
        "^coredns_dns_request_type_count_total$"
     ]
  }
]
```

Cet exemple montre comment configurer une section de format de métrique intégrée à envoyer en tant qu'événement de journaux si les conditions suivantes sont remplies :
+ La valeur de `Service` contient `node-exporter` ou `kube-dns`.
+ La valeur du paramètre `Namespace` est `kube-system`.
+ La métrique Prometheus `coredns_dns_request_type_count_total` contient les deux étiquettes `Namespace` et `Service`.

L'événement de journal envoyé inclut la section en surbrillance suivante :

```
{
   "CloudWatchMetrics":[
      {
         "Metrics":[
            {
               "Name":"coredns_dns_request_type_count_total"
            }
         ],
         "Dimensions":[
            [
               "Namespace",
               "Service"
            ]
         ],
         "Namespace":"ContainerInsights/Prometheus"
      }
   ],
   "Namespace":"kube-system",
   "Service":"kube-dns",
   "coredns_dns_request_type_count_total":2562,
   "eks_amazonaws_com_component":"kube-dns",
   "instance":"192.168.61.254:9153",
   "job":"kubernetes-service-endpoints",
   ...
}
```

## Didacticiel pour l'ajout d'une nouvelle cible de récupération Prometheus : métrique du serveur d'API Prometheus
<a name="ContainerInsights-Prometheus-Setup-new-exporters"></a>

Le serveur d'API Kubernetes expose les métriques Prometheus sur les points de terminaison par défaut. L'exemple officiel de la configuration de récupération du serveur d'API Kubernetes est disponible sur [Github](https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus-kubernetes.yml).

Le didacticiel suivant montre comment effectuer les étapes suivantes pour commencer à importer des métriques du serveur d'API Kubernetes dans CloudWatch:
+ Ajout de la configuration de scraping Prometheus pour le serveur d'API Kubernetes au fichier YAML de l'agent. CloudWatch 
+ Configuration des définitions de métriques intégrées au format métrique dans le fichier YAML de l' CloudWatch agent.
+ (Facultatif) Création d'un CloudWatch tableau de bord pour les métriques du serveur d'API Kubernetes.

**Note**  
Le serveur d'API Kubernetes expose des métriques de jauge, de compteur, d'histogramme et de synthèse. Dans cette version de Prometheus Metrics Support CloudWatch , seule les métriques de type jauge, compteur et résumé sont importées.

**Pour commencer à collecter les métriques Prometheus du serveur d'API Kubernetes dans CloudWatch**

1. Téléchargez la dernière version du fichier `prometheus-eks.yaml`, `prometheus-eks-fargate.yaml` ou `prometheus-k8s.yaml` en saisissant l'une des commandes suivantes.

   Pour un cluster Amazon EKS avec le type de lancement EC2, saisissez la commande suivante :

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
   ```

   Pour un cluster Amazon EKS avec le type de lancement Fargate, saisissez la commande suivante :

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml
   ```

   Pour un cluster Kubernetes s'exécutant sur une instance Amazon EC2, saisissez la commande suivante :

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml
   ```

1. Ouvrez le fichier avec un éditeur de texte, recherchez la section `prometheus-config` et ajoutez la section suivante à l'intérieur de cette section. Ensuite, enregistrez les modifications :

   ```
       # Scrape config for API servers
       - job_name: 'kubernetes-apiservers'
         kubernetes_sd_configs:
           - role: endpoints
             namespaces:
               names:
                 - default
         scheme: https
         tls_config:
           ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
           insecure_skip_verify: true
         bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
         relabel_configs:
         - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
           action: keep
           regex: kubernetes;https
         - action: replace
           source_labels:
           - __meta_kubernetes_namespace
           target_label: Namespace
         - action: replace
           source_labels:
           - __meta_kubernetes_service_name
           target_label: Service
   ```

1. Pendant que le fichier YAML est toujours ouvert dans l'éditeur de texte, recherchez la section `cwagentconfig.json`. Ajoutez la sous-section suivante et enregistrez les modifications. Cette section place les métriques du serveur d'API dans la liste des CloudWatch agents autorisés. Trois types de métriques du serveur d'API sont ajoutés à la liste d'autorisation :
   + nombre d'objets etcd
   + Métriques du contrôleur d'enregistrement du serveur d'API
   + Métriques de demande du serveur API

   ```
   {"source_labels": ["job", "resource"],
     "label_matcher": "^kubernetes-apiservers;(services|daemonsets.apps|deployments.apps|configmaps|endpoints|secrets|serviceaccounts|replicasets.apps)",
     "dimensions": [["ClusterName","Service","resource"]],
     "metric_selectors": [
     "^etcd_object_counts$"
     ]
   },
   {"source_labels": ["job", "name"],
      "label_matcher": "^kubernetes-apiservers;APIServiceRegistrationController$",
      "dimensions": [["ClusterName","Service","name"]],
      "metric_selectors": [
      "^workqueue_depth$",
      "^workqueue_adds_total$",
      "^workqueue_retries_total$"
     ]
   },
   {"source_labels": ["job","code"],
     "label_matcher": "^kubernetes-apiservers;2[0-9]{2}$",
     "dimensions": [["ClusterName","Service","code"]],
     "metric_selectors": [
      "^apiserver_request_total$"
     ]
   },
   {"source_labels": ["job"],
     "label_matcher": "^kubernetes-apiservers",
     "dimensions": [["ClusterName","Service"]],
     "metric_selectors": [
     "^apiserver_request_total$"
     ]
   },
   ```

1. Si l' CloudWatch agent compatible avec Prometheus est déjà déployé dans le cluster, vous devez le supprimer en saisissant la commande suivante :

   ```
   kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
   ```

1. Déployez l' CloudWatch agent avec votre configuration mise à jour en saisissant l'une des commandes suivantes. Pour un cluster Amazon EKS avec le type de lancement EC2, saisissez :

   ```
   kubectl apply -f prometheus-eks.yaml
   ```

   Pour un cluster Amazon EKS avec le type de lancement Fargate, saisissez la commande suivante. Remplacez *MyCluster* et *region* par des valeurs correspondant à votre déploiement.

   ```
   cat prometheus-eks-fargate.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

   Pour un cluster Kubernetes, saisissez la commande suivante : Remplacez *MyCluster* et *region* par des valeurs correspondant à votre déploiement.

   ```
   cat prometheus-k8s.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

**Une fois cela fait, vous devriez voir un nouveau flux de journal nommé **kubernetes-apiservers dans le groupe de journaux /aws/containerinsights/** /prometheus. *cluster\$1name*** Ce flux de journal doit inclure les événements de journaux avec une définition intégrée du format de métrique comme suit :

```
{
   "CloudWatchMetrics":[
      {
         "Metrics":[
            {
               "Name":"apiserver_request_total"
            }
         ],
         "Dimensions":[
            [
               "ClusterName",
               "Service"
            ]
         ],
         "Namespace":"ContainerInsights/Prometheus"
      }
   ],
   "ClusterName":"my-cluster-name",
   "Namespace":"default",
   "Service":"kubernetes",
   "Timestamp":"1592267020339",
   "Version":"0",
   "apiserver_request_count":0,
   "apiserver_request_total":0,
   "code":"0",
   "component":"apiserver",
   "contentType":"application/json",
   "instance":"192.0.2.0:443",
   "job":"kubernetes-apiservers",
   "prom_metric_type":"counter",
   "resource":"pods",
   "scope":"namespace",
   "verb":"WATCH",
   "version":"v1"
}
```

Vous pouvez consulter vos métriques dans la CloudWatch console, dans l'espace de noms **ContainerInsights/Prometheus.** Vous pouvez également créer éventuellement un CloudWatch tableau de bord pour les métriques de votre serveur d'API Prometheus Kubernetes.

### (En option) Création d'un tableau de bord pour les métriques du serveur d'API Kubernetes.
<a name="ContainerInsights-Prometheus-Setup-KPI-dashboard"></a>

Pour afficher les métriques du serveur d'API Kubernetes dans votre tableau de bord, vous devez d'abord avoir effectué les étapes décrites dans les sections précédentes pour commencer à collecter ces métriques dans CloudWatch.

**Pour créer un tableau de bord pour les métriques du serveur d'API Kubernetes**

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

1. Assurez-vous d'avoir sélectionné la bonne AWS région.

1. Dans le panneau de navigation, choisissez **Dashboards** (Tableaux de bord).

1. Choisissez **Créer un tableau de bord**. Entrez un nom pour le nouveau tableau de bord, puis choisissez **Créer un tableau de bord**.

1. Dans **Ajouter à ce tableau de bord**, choisissez **Annuler**.

1. Choisissez **Actions**, **View/Edit Attributes** (Afficher/Modifier la source).

1. Téléchargez le fichier JSON suivant : [Source de tableau de bord d'API Kubernetes](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/kubernetes_api_server/cw_dashboard_kubernetes_api_server.json).

1. Ouvrez le fichier JSON que vous avez téléchargé avec un éditeur de texte et apportez les modifications suivantes :
   + Remplacez toutes les chaînes `{{YOUR_CLUSTER_NAME}}` par le nom exact de votre cluster. Assurez-vous de ne pas ajouter d'espaces avant ou après le texte.
   + Remplacez toutes les chaînes `{{YOUR_AWS_REGION}}` par le nom de la région dans laquelle les métriques sont collectées. Par exemple `us-west-2`. Assurez-vous de ne pas ajouter d'espaces avant ou après le texte.

1. Copiez l'ensemble du blob JSON et collez-le dans la zone de texte de la console CloudWatch, en remplaçant ce qui se trouve déjà dans la zone.

1. Choisissez **Mettre à jour**, **Enregistrer le tableau de bord**.

# (En option) Configuration d'exemples d'applications Amazon EKS conteneurisées pour les test de métriques Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads"></a>

Pour tester la prise en charge des métriques Prometheus CloudWatch dans Container Insights, vous pouvez configurer une ou plusieurs des charges de travail conteneurisées suivantes. L' CloudWatch agent qui prend en charge Prometheus collecte automatiquement les métriques de chacune de ces charges de travail. Pour voir les métriques collectées par défaut, consultez [Métriques Prometheus collectées par l'agent CloudWatch](ContainerInsights-Prometheus-metrics.md).

Avant de pouvoir installer l'une de ces charges de travail, vous devez installer Helm 3.x en entrant les commandes suivantes :

```
brew install helm
```

Pour plus d'informations, consultez [Helm](https://helm.sh).

**Topics**
+ [Configurer un AWS App Mesh exemple de charge de travail pour Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-appmesh.md)
+ [Configuration de NGINX avec un exemple de trafic sur Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-nginx.md)
+ [Configuration de memcached avec un exportateur de métriques sur Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-memcached.md)
+ [Configurer un Java/JMX exemple de charge de travail sur Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-javajmx.md)
+ [Configuration HAProxy avec un exportateur de métriques sur Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-haproxy.md)
+ [Didacticiel pour ajouter une nouvelle cible de récupération Prometheus : Redis OSS sur les clusters Amazon EKS et Kubernetes](ContainerInsights-Prometheus-Setup-redis-eks.md)

# Configurer un AWS App Mesh exemple de charge de travail pour Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh"></a>

Le support de Prometheus dans Container Insights prend CloudWatch en charge. AWS App Mesh Les sections suivantes expliquent comment configurer App Mesh.

**Topics**
+ [Configurer un AWS App Mesh exemple de charge de travail sur un cluster Amazon EKS avec le type de lancement EC2 ou sur un cluster Kubernetes](ContainerInsights-Prometheus-Sample-Workloads-appmesh-EKS.md)
+ [Configurer un AWS App Mesh exemple de charge de travail sur un cluster Amazon EKS avec le type de lancement Fargate](ContainerInsights-Prometheus-Sample-Workloads-appmesh-Fargate.md)

# Configurer un AWS App Mesh exemple de charge de travail sur un cluster Amazon EKS avec le type de lancement EC2 ou sur un cluster Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-EKS"></a>

Utilisez ces instructions si vous configurez App Mesh sur un cluster exécutant Amazon EKS avec le type de lancement EC2 ou un cluster Kubernetes.

## Configuration des autorisations IAM
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-iam"></a>

Vous devez ajouter la **AWSAppMeshFullAccess**politique au rôle IAM pour votre groupe de nœuds Amazon EKS ou Kubernetes. Sur Amazon EKS, le nom du groupe de nœuds ressemble à `eksctl-integ-test-eks-prometheus-NodeInstanceRole-ABCDEFHIJKL`. Sur Kubernetes, il peut ressembler à `nodes.integ-test-kops-prometheus.k8s.local`.

## Installation d'App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-install"></a>

Pour installer le contrôleur App Mesh Kubernetes, suivez les instructions dans [App Mesh Controller](https://github.com/aws/eks-charts/tree/master/stable/appmesh-controller#app-mesh-controller).

## Installation d'un exemple d'application
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-application"></a>

[aws-app-mesh-examples](https://github.com/aws/aws-app-mesh-examples)contient plusieurs procédures pas à pas de Kubernetes App Mesh. Pour ce didacticiel, vous installez un exemple d'application de couleur qui montre comment les acheminements http peuvent utiliser les en-têtes pour faire correspondre les requêtes entrantes.

**Pour utiliser un exemple d'application App Mesh pour tester Container Insights**

1. Installez l'application en suivant ces instructions : [https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-http-headers](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-http-headers). 

1. Lancez un pod curler pour générer du trafic :

   ```
   kubectl -n default run -it curler --image=tutum/curl /bin/bash
   ```

1. Enroulez différents points de terminaison en changeant les en-têtes HTTP. Exécutez la commande curl plusieurs fois, comme indiqué :

   ```
   curl -H "color_header: blue" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   
   curl -H "color_header: red" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   
   curl -H "color_header: yellow" front.howto-k8s-http-headers.svc.cluster.local:8080/; echo;
   ```

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

1. Dans la AWS région dans laquelle votre cluster est exécuté, choisissez **Metrics** dans le volet de navigation. La métrique se trouve dans l'espace de noms **ContainerInsights/Prometheus.**

1. Pour voir les événements CloudWatch Logs, choisissez **Log groups** dans le volet de navigation. Les évènements sont dans le groupe de journaux ` /aws/containerinsights/your_cluster_name/prometheus ` du flux de journaux `kubernetes-pod-appmesh-envoy`.

## Suppression de l'environnement de test App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-delete"></a>

Lorsque vous avez terminé d'utiliser App Mesh et l'exemple d'application, utilisez les commandes suivantes pour supprimer les ressources inutiles. Supprimez l'exemple d'application en saisissant la commande suivante :

```
cd aws-app-mesh-examples/walkthroughs/howto-k8s-http-headers/
kubectl delete -f _output/manifest.yaml
```

Supprimez App Mesh Controller en saisissant la commande suivante :

```
helm delete appmesh-controller -n appmesh-system
```

# Configurer un AWS App Mesh exemple de charge de travail sur un cluster Amazon EKS avec le type de lancement Fargate
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-Fargate"></a>

Utilisez ces instructions si vous configurez App Mesh sur un cluster exécutant Amazon EKS avec le type de lancement Fargate.

## Configuration des autorisations IAM
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh--fargate-iam"></a>

Pour configurer les autorisations IAM, saisissez la commande suivante : Remplacez *MyCluster* par le nom de votre cluster.

```
eksctl create iamserviceaccount --cluster MyCluster \
 --namespace howto-k8s-fargate \
 --name appmesh-pod \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \
 --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \
 --override-existing-serviceaccounts \
 --approve
```

## Installation d'App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-install"></a>

Pour installer le contrôleur App Mesh Kubernetes, suivez les instructions dans [App Mesh Controller](https://github.com/aws/eks-charts/tree/master/stable/appmesh-controller#app-mesh-controller). Veillez à suivre les instructions pour Amazon EKS avec le type de lancement Fargate.

## Installation d'un exemple d'application
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-application"></a>

[aws-app-mesh-examples](https://github.com/aws/aws-app-mesh-examples)contient plusieurs procédures pas à pas de Kubernetes App Mesh. Pour ce didacticiel, vous installez un exemple d'application de couleur qui fonctionne pour les clusters Amazon EKS avec le type de lancement Fargate.

**Pour utiliser un exemple d'application App Mesh pour tester Container Insights**

1. Installez l'application en suivant ces instructions : [https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-fargate). 

   Ces instructions supposent que vous créez un nouveau cluster avec le bon profil Fargate. Si vous souhaitez utiliser un cluster Amazon EKS que vous avez déjà configuré, vous pouvez utiliser les commandes suivantes pour configurer ce cluster pour cette démonstration. Remplacez *MyCluster* par le nom de votre cluster.

   ```
   eksctl create iamserviceaccount --cluster MyCluster \
    --namespace howto-k8s-fargate \
    --name appmesh-pod \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapDiscoverInstanceAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSAppMeshFullAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSCloudMapFullAccess \
    --override-existing-serviceaccounts \
    --approve
   ```

   ```
   eksctl create fargateprofile --cluster MyCluster \
   --namespace howto-k8s-fargate --name howto-k8s-fargate
   ```

1. Port avant le déploiement de l'application frontale :

   ```
   kubectl -n howto-k8s-fargate port-forward deployment/front 8080:8080
   ```

1. Enroulez l'application frontale :

   ```
   while true; do  curl -s http://localhost:8080/color; sleep 0.1; echo ; done
   ```

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

1. Dans la AWS région dans laquelle votre cluster est exécuté, choisissez **Metrics** dans le volet de navigation. La métrique se trouve dans l'espace de noms **ContainerInsights/Prometheus.**

1. Pour voir les événements CloudWatch Logs, choisissez **Log groups** dans le volet de navigation. Les évènements sont dans le groupe de journaux ` /aws/containerinsights/your_cluster_name/prometheus ` du flux de journaux `kubernetes-pod-appmesh-envoy`.

## Suppression de l'environnement de test App Mesh
<a name="ContainerInsights-Prometheus-Sample-Workloads-appmesh-fargate-delete"></a>

Lorsque vous avez terminé d'utiliser App Mesh et l'exemple d'application, utilisez les commandes suivantes pour supprimer les ressources inutiles. Supprimez l'exemple d'application en saisissant la commande suivante :

```
cd aws-app-mesh-examples/walkthroughs/howto-k8s-fargate/
kubectl delete -f _output/manifest.yaml
```

Supprimez App Mesh Controller en saisissant la commande suivante :

```
helm delete appmesh-controller -n appmesh-system
```

# Configuration de NGINX avec un exemple de trafic sur Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-nginx"></a>

NGINX est un serveur web qui peut également être utilisé comme équilibreur de charge et proxy inverse. Pour plus d'informations sur la façon dont Kubernetes utilise NGINX pour es entrées, veuillez consulter [kubernetes/ingress-nginx](https://github.com/kubernetes/ingress-nginx).

**Pour installer NGINX avec un exemple de service de trafic pour tester la prise en charge de Container Insights Prometheus**

1. Saisissez la commande suivante pour ajouter le référentiel ingress-nginx Helm.

   ```
   helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
   ```

1. Entrez la commande suivante :

   ```
   kubectl create namespace nginx-ingress-sample
   
   helm install my-nginx ingress-nginx/ingress-nginx \
   --namespace nginx-ingress-sample \
   --set controller.metrics.enabled=true \
   --set-string controller.metrics.service.annotations."prometheus\.io/port"="10254" \
   --set-string controller.metrics.service.annotations."prometheus\.io/scrape"="true"
   ```

1. Vérifiez si les services ont démarré correctement en entrant la commande suivante :

   ```
   kubectl get service -n nginx-ingress-sample
   ```

   La sortie de cette commande doit afficher plusieurs colonnes, y compris une colonne `EXTERNAL-IP`.

1. Définissez une variable `EXTERNAL-IP` avec la valeur de la colonne `EXTERNAL-IP` dans la ligne du contrôleur d'entrée NGINX.

   ```
   EXTERNAL_IP=your-nginx-controller-external-ip
   ```

1. Démarrez un exemple de trafic NGINX en entrant la commande suivante. 

   ```
   SAMPLE_TRAFFIC_NAMESPACE=nginx-sample-traffic
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_traffic/nginx-traffic/nginx-traffic-sample.yaml | 
   sed "s/{{external_ip}}/$EXTERNAL_IP/g" | 
   sed "s/{{namespace}}/$SAMPLE_TRAFFIC_NAMESPACE/g" | 
   kubectl apply -f -
   ```

1. Entrez la commande suivante pour vérifier que l'état des trois pods est `Running`.

   ```
   kubectl get pod -n $SAMPLE_TRAFFIC_NAMESPACE
   ```

   S'ils sont en cours d'exécution, vous devriez bientôt voir des métriques dans l'espace de noms **ContainerInsights/Prometheus.**

**Pour désinstaller NGINX et l'exemple d'application de trafic**

1. Supprimez l'exemple de service de trafic en entrant la commande suivante :

   ```
   kubectl delete namespace $SAMPLE_TRAFFIC_NAMESPACE
   ```

1. Supprimez la sortie NGINX par le nom de la version Helm. 

   ```
   helm uninstall my-nginx --namespace nginx-ingress-sample
   kubectl delete namespace nginx-ingress-sample
   ```

# Configuration de memcached avec un exportateur de métriques sur Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-memcached"></a>

memcached est un système de mise en cache d'objets mémoire open source. Pour plus d'informations, consultez [What is Memcached?](https://www.memcached.org).

Si vous exécutez memcached sur un cluster avec le type de lancement Fargate, vous devez configurer un profil Fargate avant de réaliser les étapes de cette procédure. Pour configurer le profil, saisissez la commande suivante. Remplacez *MyCluster* par le nom de votre cluster.

```
eksctl create fargateprofile --cluster MyCluster \
--namespace memcached-sample --name memcached-sample
```

**Pour installer memcached avec un exportateur de métriques afin de tester la prise en charge de Container Insights Prometheus**

1. Saisissez la commande suivante pour ajouter le référentiel :

   ```
   helm repo add bitnami https://charts.bitnami.com/bitnami
   ```

1. Entrez la commande suivante pour créer un nouvel espace de noms :

   ```
   kubectl create namespace memcached-sample
   ```

1. Entrez la commande suivante pour installer Memcached

   ```
   helm install my-memcached bitnami/memcached --namespace memcached-sample \
   --set metrics.enabled=true \
   --set-string serviceAnnotations.prometheus\\.io/port="9150" \
   --set-string serviceAnnotations.prometheus\\.io/scrape="true"
   ```

1. Entrez la commande suivante pour vérifier l'annotation du service en cours d'exécution :

   ```
   kubectl describe service my-memcached-metrics -n memcached-sample
   ```

   Les deux annotations suivantes doivent s'afficher :

   ```
   Annotations:   prometheus.io/port: 9150
                  prometheus.io/scrape: true
   ```

**Pour désinstaller memcached**
+ Entrez la commande suivante :

  ```
  helm uninstall my-memcached --namespace memcached-sample
  kubectl delete namespace memcached-sample
  ```

# Configurer un Java/JMX exemple de charge de travail sur Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx"></a>

JMX Exporter est un exportateur Prometheus officiel qui peut récupérer et exposer des mBeans JMX en tant que métriques Prometheus. Pour plus d'informations, consultez [prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

Container Insights peut collecter des métriques Prometheus prédéfinies à partir de Java Virtual Machine (JVM), Java et Tomcat (Catalina) à l'aide de JMX Exporter.

## Configuration de récupération Prometheus par défaut
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-default"></a>

Par défaut, l' CloudWatch agent compatible avec Prometheus supprime les métriques `http://CLUSTER_IP:9404/metrics` Prometheus Java/JMX présentes sur chaque pod d'un cluster Amazon EKS ou Kubernetes. Cette opération est exécutée par la découverte `role: pod` de Prometheus `kubernetes_sd_config`. 9404 est le port par défaut alloué pour JMX Exporter par Prometheus. Pour plus d'informations sur la découverte `role: pod`, consultez [pod](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#pod). Vous pouvez configurer JMX Exporter pour qu'il expose les métriques sur un autre port ou chemin d'accès. Si vous modifiez le port ou le chemin, mettez à jour le jmx scrape\$1config par défaut dans la carte de configuration de l' CloudWatch agent. Exécutez la commande suivante pour obtenir la configuration actuelle de l' CloudWatch agent Prometheus :

```
kubectl describe cm prometheus-config -n amazon-cloudwatch
```

Les champs à modifier sont les champs `/metrics` et `regex: '.*:9404$'`, comme mis en évidence dans l'exemple suivant.

```
job_name: 'kubernetes-jmx-pod'
sample_limit: 10000
metrics_path: /metrics
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__address__]
  action: keep
  regex: '.*:9404$'
- action: replace
  regex: (.+)
  source_labels:
```

## Autre configuration de récupération Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-other"></a>

Si vous exposez votre application en cours d'exécution sur un ensemble de pods avec les exportateurs Prometheus Java/JMX par un service Kubernetes, vous pouvez également basculer pour utiliser la découverte `role: service` ou `role: endpoint` de Prometheus `kubernetes_sd_config`. Pour plus d'informations sur ces méthodes de découverte, consultez [service](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#service), [endpoints (points de terminaison)](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#endpoints), et [<kubernetes\$1sd\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config). 

D'autres méta-étiquettes sont fournies par ces deux modes de découverte de services, ce qui peut vous être utile pour créer les dimensions CloudWatch des métriques. Par exemple, vous pouvez réétiqueter `__meta_kubernetes_service_name` sur `Service` et l'inclure dans la dimension de vos métriques. Pour plus d'informations sur la personnalisation de vos CloudWatch indicateurs et de leurs dimensions, consultez. [CloudWatch configuration de l'agent pour Prometheus](ContainerInsights-Prometheus-Setup-configure-ECS.md#ContainerInsights-Prometheus-Setup-cw-agent-config)

## Image Docker avec JMX Exporter
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-docker"></a>

Ensuite, créez une image Docker. Les sections suivantes fournissent deux exemples de fichiers Docker.

Lorsque vous avez créé l'image, chargez-la dans Amazon EKS ou Kubernetes, puis exécutez la commande suivante pour vérifier que les métriques Prometheus sont exposées par `JMX_EXPORTER` sur le port 9404. Remplacez *\$1JAR\$1SAMPLE\$1TRAFFIC\$1POD* par le nom du pod en cours d'exécution et remplacez *\$1JAR\$1SAMPLE\$1TRAFFIC\$1NAMESPACE* par l'espace de noms de votre application. 

Si vous exécutez JMX Exporter sur un cluster avec le type de lancement Fargate, vous devez configurer un profil Fargate avant de réaliser les étapes de cette procédure. Pour configurer le profil, saisissez la commande suivante. Remplacez *MyCluster* par le nom de votre cluster.

```
eksctl create fargateprofile --cluster MyCluster \
--namespace $JAR_SAMPLE_TRAFFIC_NAMESPACE\
 --name $JAR_SAMPLE_TRAFFIC_NAMESPACE
```

```
kubectl exec $JAR_SAMPLE_TRAFFIC_POD -n $JARCAT_SAMPLE_TRAFFIC_NAMESPACE -- curl http://localhost:9404
```

## Exemple : image Apache Tomcat Docker avec métriques Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-tomcat"></a>

Le serveur Apache Tomcat expose les mBeans JMX par défaut. Vous pouvez intégrer JMX Exporter avec Tomcat pour exposer les mBeans JMX en tant que métriques Prometheus. L'exemple de fichier Docker suivant montre les étapes à suivre pour créer une image de test : 

```
# From Tomcat 9.0 JDK8 OpenJDK 
FROM tomcat:9.0-jdk8-openjdk 

RUN mkdir -p /opt/jmx_exporter

COPY ./jmx_prometheus_javaagent-0.12.0.jar /opt/jmx_exporter
COPY ./config.yaml /opt/jmx_exporter
COPY ./setenv.sh /usr/local/tomcat/bin 
COPY your web application.war /usr/local/tomcat/webapps/

RUN chmod  o+x /usr/local/tomcat/bin/setenv.sh

ENTRYPOINT ["catalina.sh", "run"]
```

La liste suivante explique les quatre lignes `COPY` de ce fichier Docker.
+ Téléchargez le dernier fichier JAR JMX Exporter [https://github.com/prometheus/depuis](https://github.com/prometheus/jmx_exporter) jmx\$1exporter.
+ `config.yaml` est le fichier de configuration de JMX Exporter. Pour plus d'informations, consultez [https://github.com/prometheus/jmx\$1exporter \$1Configuration](https://github.com/prometheus/jmx_exporter#Configuration ).

  Voici un exemple de fichier de configuration pour Java et Tomcat :

  ```
  lowercaseOutputName: true
  lowercaseOutputLabelNames: true
  
  rules:
  - pattern: 'java.lang<type=OperatingSystem><>(FreePhysicalMemorySize|TotalPhysicalMemorySize|FreeSwapSpaceSize|TotalSwapSpaceSize|SystemCpuLoad|ProcessCpuLoad|OpenFileDescriptorCount|AvailableProcessors)'
    name: java_lang_OperatingSystem_$1
    type: GAUGE
  
  - pattern: 'java.lang<type=Threading><>(TotalStartedThreadCount|ThreadCount)'
    name: java_lang_threading_$1
    type: GAUGE
  
  - pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+)'
    name: catalina_globalrequestprocessor_$3_total
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina global $3
    type: COUNTER
  
  - pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount)'
    name: catalina_servlet_$3_total
    labels:
      module: "$1"
      servlet: "$2"
    help: Catalina servlet $3 total
    type: COUNTER
  
  - pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount)'
    name: catalina_threadpool_$3
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina threadpool $3
    type: GAUGE
  
  - pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions)'
    name: catalina_session_$3_total
    labels:
      context: "$2"
      host: "$1"
    help: Catalina session $3 total
    type: COUNTER
  
  - pattern: ".*"
  ```
+ `setenv.sh` est un script de démarrage Tomcat pour démarrer JMX exporter avec Tomcat et exposer les métriques Prometheus sur le port 9404 de l'hôte local. Il fournit également à JMX Exporter le chemin d'accès au fichier `config.yaml`.

  ```
  $ cat setenv.sh 
  export JAVA_OPTS="-javaagent:/opt/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=9404:/opt/jmx_exporter/config.yaml $JAVA_OPTS"
  ```
+ Votre application web .war est le fichier `war` de votre application web à charger par Tomcat.

Créez une image Docker avec cette configuration et téléchargez-la dans un référentiel d'images.

## Exemple : image Docker d'application Java Jar avec métriques Prometheus
<a name="ContainerInsights-Prometheus-Sample-Workloads-javajmx-jar"></a>

L'exemple de fichier Docker suivant montre les étapes à suivre pour créer une image de test : 

```
# Alpine Linux with OpenJDK JRE
FROM openjdk:8-jre-alpine

RUN mkdir -p /opt/jmx_exporter

COPY ./jmx_prometheus_javaagent-0.12.0.jar /opt/jmx_exporter
COPY ./SampleJavaApplication-1.0-SNAPSHOT.jar /opt/jmx_exporter
COPY ./start_exporter_example.sh /opt/jmx_exporter
COPY ./config.yaml /opt/jmx_exporter

RUN chmod -R o+x /opt/jmx_exporter
RUN apk add curl

ENTRYPOINT exec /opt/jmx_exporter/start_exporter_example.sh
```

La liste suivante explique les quatre lignes `COPY` de ce fichier Docker.
+ Téléchargez le dernier fichier JAR JMX Exporter [https://github.com/prometheus/depuis](https://github.com/prometheus/jmx_exporter) jmx\$1exporter.
+ `config.yaml` est le fichier de configuration de JMX Exporter. Pour plus d'informations, consultez [https://github.com/prometheus/jmx\$1exporter \$1Configuration](https://github.com/prometheus/jmx_exporter#Configuration ).

  Voici un exemple de fichier de configuration pour Java et Tomcat :

  ```
  lowercaseOutputName: true
  lowercaseOutputLabelNames: true
  
  rules:
  - pattern: 'java.lang<type=OperatingSystem><>(FreePhysicalMemorySize|TotalPhysicalMemorySize|FreeSwapSpaceSize|TotalSwapSpaceSize|SystemCpuLoad|ProcessCpuLoad|OpenFileDescriptorCount|AvailableProcessors)'
    name: java_lang_OperatingSystem_$1
    type: GAUGE
  
  - pattern: 'java.lang<type=Threading><>(TotalStartedThreadCount|ThreadCount)'
    name: java_lang_threading_$1
    type: GAUGE
  
  - pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+)'
    name: catalina_globalrequestprocessor_$3_total
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina global $3
    type: COUNTER
  
  - pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount)'
    name: catalina_servlet_$3_total
    labels:
      module: "$1"
      servlet: "$2"
    help: Catalina servlet $3 total
    type: COUNTER
  
  - pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount)'
    name: catalina_threadpool_$3
    labels:
      port: "$2"
      protocol: "$1"
    help: Catalina threadpool $3
    type: GAUGE
  
  - pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions)'
    name: catalina_session_$3_total
    labels:
      context: "$2"
      host: "$1"
    help: Catalina session $3 total
    type: COUNTER
  
  - pattern: ".*"
  ```
+ `start_exporter_example.sh` est le script pour démarrer l'application JAR avec les métriques Prometheus exportées. Il fournit également à JMX Exporter le chemin d'accès au fichier `config.yaml`.

  ```
  $ cat start_exporter_example.sh 
  java -javaagent:/opt/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=9404:/opt/jmx_exporter/config.yaml -cp  /opt/jmx_exporter/SampleJavaApplication-1.0-SNAPSHOT.jar com.gubupt.sample.app.App
  ```
+ SampleJavaApplication-1.0-Snapshot.jar est l'exemple de fichier jar de l'application Java. Remplacez-le par l'application Java que vous souhaitez surveiller.

Créez une image Docker avec cette configuration et téléchargez-la dans un référentiel d'images.

# Configuration HAProxy avec un exportateur de métriques sur Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Sample-Workloads-haproxy"></a>

HAProxy est une application proxy open source. Pour de plus amples informations, veuillez consulter [HAProxy](https://www.haproxy.org).

Si vous exécutez HAProxy un cluster avec le type de lancement Fargate, vous devez configurer un profil Fargate avant de suivre les étapes de cette procédure. Pour configurer le profil, saisissez la commande suivante. Remplacez *MyCluster* par le nom de votre cluster.

```
eksctl create fargateprofile --cluster MyCluster \
--namespace haproxy-ingress-sample --name haproxy-ingress-sample
```

**À installer HAProxy avec un exportateur de métriques pour tester le support Prometheus de Container Insights**

1. Entrez la commande suivante pour ajouter le référentiel de l'incubateur Helm :

   ```
   helm repo add haproxy-ingress https://haproxy-ingress.github.io/charts
   ```

1. Entrez la commande suivante pour créer un nouvel espace de noms :

   ```
   kubectl create namespace haproxy-ingress-sample
   ```

1. Entrez les commandes suivantes pour l'installation HAProxy :

   ```
   helm install haproxy haproxy-ingress/haproxy-ingress \
   --namespace haproxy-ingress-sample \
   --set defaultBackend.enabled=true \
   --set controller.stats.enabled=true \
   --set controller.metrics.enabled=true \
   --set-string controller.metrics.service.annotations."prometheus\.io/port"="9101" \
   --set-string controller.metrics.service.annotations."prometheus\.io/scrape"="true"
   ```

1. Entrez la commande suivante pour confirmer l'annotation du service :

   ```
   kubectl describe service haproxy-haproxy-ingress-metrics -n haproxy-ingress-sample
   ```

   Les annotations suivantes doivent s'afficher.

   ```
   Annotations:   prometheus.io/port: 9101
                  prometheus.io/scrape: true
   ```

**Pour désinstaller HAProxy**
+ Entrez la commande suivante :

  ```
  helm uninstall haproxy --namespace haproxy-ingress-sample
  kubectl delete namespace haproxy-ingress-sample
  ```

# Didacticiel pour ajouter une nouvelle cible de récupération Prometheus : Redis OSS sur les clusters Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-Setup-redis-eks"></a>

Ce didacticiel propose une présentation pratique de l’utilisation des métriques Prometheus d’un exemple d’application Redis OSS sur Amazon EKS et Kubernetes. Redis OSS (https://redis.io/) est un magasin de structures de données open source (sous licence BSD) en mémoire, utilisé comme base de données, cache et agent de messages. Pour en savoir plus, consultez [redis](https://redis.io/).

redis\$1exportateur (sous licence MIT) est utilisé pour exposer les métriques Prometheus Redis OSS sur le port spécifié (par défaut : 0.0.0.0:9121). Pour en savoir plus, consultez [redis\$1exporter](https://github.com/oliver006/redis_exporter).

Les images Docker dans les deux référentiels Docker Hub suivants sont utilisées dans ce didacticiel : 
+ [ Redis](https://hub.docker.com/_/redis?tab=description)
+ [redis\$1exporter](https://hub.docker.com/r/oliver006/redis_exporter)

**Pour installer un exemple de charge de travail Redis OSS qui expose les métriques Prometheus**

1. Définissez l’espace de noms pour l’exemple de charge de travail Redis OSS.

   ```
   REDIS_NAMESPACE=redis-sample
   ```

1. Si vous exécutez Redis OSS sur un cluster avec le type de lancement Fargate, vous devez configurer un profil Fargate. Pour configurer le profil, saisissez la commande suivante. Remplacez *MyCluster* par le nom de votre cluster.

   ```
   eksctl create fargateprofile --cluster MyCluster \
   --namespace $REDIS_NAMESPACE --name $REDIS_NAMESPACE
   ```

1. Saisissez la commande suivante pour installer l’exemple de charge de travail Redis OSS.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_traffic/redis/redis-traffic-sample.yaml \
   | sed "s/{{namespace}}/$REDIS_NAMESPACE/g" \
   | kubectl apply -f -
   ```

1. L’installation comprend un service nommé `my-redis-metrics` qui expose les métriques Redis OSS Prometheus sur le port 9121. Saisissez la commande suivante pour obtenir les détails du service : 

   ```
   kubectl describe service/my-redis-metrics  -n $REDIS_NAMESPACE
   ```

   Dans la `Annotations` section des résultats, vous verrez deux annotations correspondant à la configuration Prometheus Scrape de l'agent, afin qu'il puisse découvrir CloudWatch automatiquement les charges de travail :

   ```
   prometheus.io/port: 9121
   prometheus.io/scrape: true
   ```

   La configuration de récupération Prometheus associée est disponible dans la section `- job_name: kubernetes-service-endpoints` de `kubernetes-eks.yaml` ou `kubernetes-k8s.yaml`.

**Pour commencer à collecter les métriques Prometheus de Redis OSS dans CloudWatch**

1. Téléchargez la dernière version du fichier `kubernetes-eks.yaml` ou `kubernetes-k8s.yaml` en saisissant l'une des commandes suivantes. Pour un cluster Amazon EKS avec le type de lancement EC2, saisissez cette commande.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
   ```

   Pour un cluster Amazon EKS avec le type de lancement Fargate, saisissez cette commande.

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml
   ```

   Pour un cluster Kubernetes s'exécutant sur une instance Amazon EC2, saisissez cette commande :

   ```
   curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml
   ```

1. Ouvrez le fichier avec un éditeur de texte et trouvez la section `cwagentconfig.json`. Ajoutez la sous-section suivante et enregistrez les modifications. Assurez-vous que l'indentation suive le modèle existant.

   ```
   {
     "source_labels": ["pod_name"],
     "label_matcher": "^redis-instance$",
     "dimensions": [["Namespace","ClusterName"]],
     "metric_selectors": [
       "^redis_net_(in|out)put_bytes_total$",
       "^redis_(expired|evicted)_keys_total$",
       "^redis_keyspace_(hits|misses)_total$",
       "^redis_memory_used_bytes$",
       "^redis_connected_clients$"
     ]
   },
   {
     "source_labels": ["pod_name"],
     "label_matcher": "^redis-instance$",
     "dimensions": [["Namespace","ClusterName","cmd"]],
     "metric_selectors": [
       "^redis_commands_total$"
     ]
   },
   {
     "source_labels": ["pod_name"],
     "label_matcher": "^redis-instance$",
     "dimensions": [["Namespace","ClusterName","db"]],
     "metric_selectors": [
       "^redis_db_keys$"
     ]
   },
   ```

   La section que vous avez ajoutée place les métriques Redis OSS dans la liste des CloudWatch agents autorisés. Pour une liste de ces métriques, reportez-vous à la section suivante.

1. Si l' CloudWatch agent compatible avec Prometheus est déjà déployé dans ce cluster, vous devez le supprimer en saisissant la commande suivante.

   ```
   kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
   ```

1. Déployez l' CloudWatch agent avec votre configuration mise à jour en saisissant l'une des commandes suivantes. Remplacez *MyCluster* et *region* adaptez-le à vos paramètres.

   Pour un cluster Amazon EKS avec le type de lancement EC2, saisissez cette commande.

   ```
   kubectl apply -f prometheus-eks.yaml
   ```

   Pour un cluster Amazon EKS avec le type de lancement Fargate, saisissez cette commande.

   ```
   cat prometheus-eks-fargate.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

   Pour un cluster Kubernetes, saisissez cette commande.

   ```
   cat prometheus-k8s.yaml \
   | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" \
   | kubectl apply -f -
   ```

## Affichage de vos métriques Prometheus Redis OSS
<a name="ContainerInsights-Prometheus-Setup-redis-eks-view"></a>

Ce didacticiel envoie les métriques suivantes à l'espace de noms **ContainerInsights/Prometheus** dans. CloudWatch Vous pouvez utiliser la CloudWatch console pour voir les métriques de cet espace de noms.


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `redis_net_input_bytes_total` |  ClusterName, `Namespace`  | 
|  `redis_net_output_bytes_total` |  ClusterName, `Namespace`  | 
|  `redis_expired_keys_total` |  ClusterName, `Namespace`  | 
|  `redis_evicted_keys_total` |  ClusterName, `Namespace`  | 
|  `redis_keyspace_hits_total` |  ClusterName, `Namespace`  | 
|  `redis_keyspace_misses_total` |  ClusterName, `Namespace`  | 
|  `redis_memory_used_bytes` |  ClusterName, `Namespace`  | 
|  `redis_connected_clients` |  ClusterName, `Namespace`  | 
|  `redis_commands_total` |  ClusterName`Namespace`, cmd  | 
|  `redis_db_keys` |  ClusterName,`Namespace`, base de données  | 

**Note**  
Les valeurs de la dimension **cmd** peuvent être : `append`, `client`, `command`, `config`, `dbsize`, `flushall`, `get`, `incr`, `info`, `latency` ou `slowlog`.  
Les valeurs de la dimension **db** peuvent être `db0` ou `db15`. 

Vous pouvez également créer un CloudWatch tableau de bord pour vos métriques Redis OSS Prometheus.

**Pour créer un tableau de bord pour les métriques Prometheus Redis OSS**

1. Créez des variables d'environnement, en remplaçant les valeurs ci-dessous pour correspondre à votre déploiement.

   ```
   DASHBOARD_NAME=your_cw_dashboard_name
   REGION_NAME=your_metric_region_such_as_us-east-1
   CLUSTER_NAME=your_k8s_cluster_name_here
   NAMESPACE=your_redis_service_namespace_here
   ```

1. Saisissez la commande suivante pour créer le tableau de bord.

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/redis/cw_dashboard_redis.json \
   | sed "s/{{YOUR_AWS_REGION}}/${REGION_NAME}/g" \
   | sed "s/{{YOUR_CLUSTER_NAME}}/${CLUSTER_NAME}/g" \
   | sed "s/{{YOUR_NAMESPACE}}/${NAMESPACE}/g" \
   ```

# Conversion du type métrique Prometheus par l'Agent CloudWatch
<a name="ContainerInsights-Prometheus-metrics-conversion"></a>

Les bibliothèques clientes Prometheus proposent quatre types de métriques principaux : 
+ Compteur
+ Jauge
+ Résumé
+ Histogramme

L' CloudWatch agent prend en charge les types de métriques de compteur, de jauge et de synthèse.

 Les métriques Prometheus dont le type de métrique d'histogramme n'est pas pris en charge sont supprimées par l'agent. CloudWatch Pour de plus amples informations, veuillez consulter [Journalisation des métriques Prometheus ignorées](ContainerInsights-Prometheus-troubleshooting-EKS.md#ContainerInsights-Prometheus-troubleshooting-droppedmetrics).

**Métriques de jauge**

Une métrique de jauge Prometheus est une métrique qui représente une valeur numérique unique qui peut arbitrairement monter et descendre. L' CloudWatch agent extrait les métriques de jauge et envoie ces valeurs directement.

**Métriques de compteur**

Une métrique de compteur Prometheus est une métrique cumulative qui représente un compteur monotone unique dont la valeur ne peut qu'augmenter ou être réinitialisée à zéro. L' CloudWatch agent calcule un delta à partir du scrape précédent et envoie la valeur delta sous forme de valeur métrique dans le journal des événements. L' CloudWatch agent commencera donc à produire un événement journal à partir de la deuxième éraflure et continuera avec les éraflures suivantes, le cas échéant.

**Métriques de résumé**

Une métrique de résumé Prometheus est un type de métrique complexe qui est représenté par plusieurs points de données. Elle fournit un nombre total d'observations et une somme de toutes les valeurs observées. Elle calcule les quantiles configurables sur une fenêtre temporelle coulissante.

La somme et le nombre d'une métrique de résumé sont cumulatifs, mais les quantiles ne le sont pas. L'exemple suivant illustre la variance des quantiles.

```
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 7.123e-06
go_gc_duration_seconds{quantile="0.25"} 9.204e-06
go_gc_duration_seconds{quantile="0.5"} 1.1065e-05
go_gc_duration_seconds{quantile="0.75"} 2.8731e-05
go_gc_duration_seconds{quantile="1"} 0.003841496
go_gc_duration_seconds_sum 0.37630427
go_gc_duration_seconds_count 9774
```

L' CloudWatch agent gère la somme et le nombre d'une métrique récapitulative de la même manière qu'il gère les contre-métriques, comme décrit dans la section précédente. L' CloudWatch agent conserve les valeurs quantiles telles qu'elles ont été initialement indiquées.

# Métriques Prometheus collectées par l'agent CloudWatch
<a name="ContainerInsights-Prometheus-metrics"></a>

L' CloudWatch agent bénéficiant du support de Prometheus collecte automatiquement les métriques de plusieurs services et charges de travail. Les métriques collectées par défaut sont répertoriées dans les sections suivantes. Vous pouvez également configurer l'agent pour collecter plus de métriques à partir de ces services, et pour collecter des métriques Prometheus à partir d'autres applications et services. Pour plus d'informations sur la collecte de métriques supplémentaires, consultez [CloudWatch configuration de l'agent pour Prometheus](ContainerInsights-Prometheus-Setup-configure-ECS.md#ContainerInsights-Prometheus-Setup-cw-agent-config).

**Les métriques Prometheus collectées à partir des clusters Amazon EKS et Kubernetes se trouvent dans l'espace de noms /Prometheus. ContainerInsights** Les métriques Prometheus collectées à partir des clusters Amazon ECS se trouvent dans l'espace de noms. **ECS/ContainerInsights/Prometheus** 

**Topics**
+ [Métriques Prometheus pour App Mesh](#ContainerInsights-Prometheus-metrics-appmesh)
+ [Métriques Prometheus pour NGINX](#ContainerInsights-Prometheus-metrics-nginx)
+ [Métriques Prometheus pour Memcached](#ContainerInsights-Prometheus-metrics-memcached)
+ [Métriques Prometheus pour Java/JMX](#ContainerInsights-Prometheus-metrics-jmx)
+ [Métriques Prometheus pour HAProxy](#ContainerInsights-Prometheus-metrics-haproxy)

## Métriques Prometheus pour App Mesh
<a name="ContainerInsights-Prometheus-metrics-appmesh"></a>

Les métriques suivantes sont automatiquement collectées à partir de App Mesh.

**Métriques Prometheus pour App Mesh sur les clusters Amazon EKS et Kubernetes**


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `envoy_http_downstream_rq_total` |  ClusterName, `Namespace`  | 
|  `envoy_http_downstream_rq_xx` |  ClusterName, `Namespace` ClusterName, envoy\$1http\$1conn\$1manager\$1prefix`Namespace`, envoy\$1response\$1code\$1class  | 
|  `envoy_cluster_upstream_cx_rx_bytes_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_tx_bytes_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_membership_healthy` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_membership_total` |  ClusterName, `Namespace`  | 
|  `envoy_server_memory_heap_size` |  ClusterName, `Namespace`  | 
|  `envoy_server_memory_allocated` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_connect_timeout` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_pending_failure_eject` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_pending_overflow` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_timeout` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_try_per_timeout` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_rx_reset` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_destroy_local_with_active_rq` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_cx_destroy_remote_active_rq` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_maintenance_mode` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_paused_reading_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_resumed_reading_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_backed_up_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_flow_control_drained_total` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_retry` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_retry_success` |  ClusterName, `Namespace`  | 
|  `envoy_cluster_upstream_rq_retry_overflow` |  ClusterName, `Namespace`  | 
|  `envoy_server_live` |  ClusterName, `Namespace`  | 
|  `envoy_server_uptime` |  ClusterName, `Namespace`  | 

**Métriques Prometheus pour App Mesh sur les clusters Amazon ECS**


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `envoy_http_downstream_rq_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_http_downstream_rq_xx` |  ClusterName, `TaskDefinitionFamily` | 
|  `envoy_cluster_upstream_cx_rx_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_tx_bytes_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_membership_healthy` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_membership_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_memory_heap_size` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_memory_allocated` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_connect_timeout` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_pending_failure_eject` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_pending_overflow` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_timeout` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_try_per_timeout` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_rx_reset` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_destroy_local_with_active_rq` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_cx_destroy_remote_active_rq` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_maintenance_mode` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_paused_reading_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_resumed_reading_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_backed_up_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_flow_control_drained_total` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_retry` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_retry_success` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_cluster_upstream_rq_retry_overflow` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_live` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_server_uptime` |  ClusterName, `TaskDefinitionFamily`  | 
|  `envoy_http_downstream_rq_xx` |  ClusterName, envoy\$1http\$1conn\$1manager\$1prefix TaskDefinitionFamily, envoy\$1response\$1code\$1class ClusterName, TaskDefinitionFamily envoy\$1response\$1code\$1class | 

**Note**  
`TaskDefinitionFamily` est l'espace de noms Kubernetes du maillage.  
La valeur de `envoy_http_conn_manager_prefix` peut être `ingress`, `egress` ou `admin`.   
La valeur de `envoy_response_code_class` peut être `1` (signifie `1xx`), `2` (signifie `2xx`), `3` (signifie `3xx`), `4` (signifie `4xx`), ou `5` (signifie `5xx`). 

## Métriques Prometheus pour NGINX
<a name="ContainerInsights-Prometheus-metrics-nginx"></a>

Les métriques suivantes sont automatiquement collectées à partir de NGINX sur les clusters Amazon EKS et Kubernetes.


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `nginx_ingress_controller_nginx_process_cpu_seconds_total` |  ClusterName, `Namespace`, Service  | 
|  `nginx_ingress_controller_success` |  ClusterName, `Namespace`, Service  | 
|  `nginx_ingress_controller_requests` |  ClusterName, `Namespace`, Service  | 
|  `nginx_ingress_controller_nginx_process_connections` |  ClusterName, `Namespace`, Service  | 
|  `nginx_ingress_controller_nginx_process_connections_total` |  ClusterName, `Namespace`, Service  | 
|  `nginx_ingress_controller_nginx_process_resident_memory_bytes` |  ClusterName, `Namespace`, Service  | 
|  `nginx_ingress_controller_config_last_reload_successful` |  ClusterName, `Namespace`, Service  | 
|  `nginx_ingress_controller_requests` |  ClusterName,`Namespace`, Service, statut  | 

## Métriques Prometheus pour Memcached
<a name="ContainerInsights-Prometheus-metrics-memcached"></a>

Les métriques suivantes sont automatiquement collectées à partir de Memcached sur les clusters Amazon EKS et Kubernetes.


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `memcached_current_items` |  ClusterName, `Namespace`, Service  | 
|  `memcached_current_connections` |  ClusterName, `Namespace`, Service  | 
|  `memcached_limit_bytes` |  ClusterName, `Namespace`, Service  | 
|  `memcached_current_bytes` |  ClusterName, `Namespace`, Service  | 
|  `memcached_written_bytes_total` |  ClusterName, `Namespace`, Service  | 
|  `memcached_read_bytes_total` |  ClusterName, `Namespace`, Service  | 
|  `memcached_items_evicted_total` |  ClusterName, `Namespace`, Service  | 
|  `memcached_items_reclaimed_total` |  ClusterName, `Namespace`, Service  | 
|  `memcached_commands_total` |  ClusterName, `Namespace`, Service ClusterName,`Namespace`, Service, commande ClusterName,`Namespace`, Service, statut, commande  | 

## Métriques Prometheus pour Java/JMX
<a name="ContainerInsights-Prometheus-metrics-jmx"></a>

**Métriques collectées sur les clusters Amazon EKS et Kubernetes**

Sur les clusters Amazon EKS et Kubernetes, Container Insights peut collecter les métriques Prometheus prédéfinies suivantes à partir de Java Virtual Machine (JVM), Java et Tomcat (Catalina) à l'aide de JMX Exporter. Pour plus d'informations, consultez [ prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter) sur Github.

**Java/JMX sur les clusters Amazon EKS et Kubernetes**


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `jvm_classes_loaded` |  `ClusterName`, `Namespace`  | 
|  `jvm_threads_current` |  `ClusterName`, `Namespace`  | 
|  `jvm_threads_daemon` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_totalswapspacesize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_systemcpuload` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_processcpuload` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_freeswapspacesize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_totalphysicalmemorysize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_freephysicalmemorysize` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_openfiledescriptorcount` |  `ClusterName`, `Namespace`  | 
|  `java_lang_operatingsystem_availableprocessors` |  `ClusterName`, `Namespace`  | 
|  `jvm_memory_bytes_used` |  `ClusterName`, `Namespace`, area  | 
|  `jvm_memory_pool_bytes_used` |  `ClusterName`, `Namespace`, pool  | 

**Note**  
Les valeurs de la dimension `area` peuvent être `heap` ou `nonheap`.  
Les valeurs de la dimension `pool` peuvent être `Tenured Gen`, `Compress Class Space`, `Survivor Space`, `Eden Space`, `Code Cache` ou `Metaspace`.

**Tomcat/JMX sur les clusters Amazon EKS et Kubernetes**

Outre les Java/JMX métriques du tableau précédent, les métriques suivantes sont également collectées pour la charge de travail Tomcat.


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `catalina_manager_activesessions` |  `ClusterName`, `Namespace`  | 
|  `catalina_manager_rejectedsessions` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_bytesreceived` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_bytessent` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_requestcount` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_errorcount` |  `ClusterName`, `Namespace`  | 
|  `catalina_globalrequestprocessor_processingtime` |  `ClusterName`, `Namespace`  | 

**Java/JMX sur les clusters Amazon ECS**


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `jvm_classes_loaded` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `jvm_threads_current` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `jvm_threads_daemon` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_totalswapspacesize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_systemcpuload` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_processcpuload` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_freeswapspacesize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_totalphysicalmemorysize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_freephysicalmemorysize` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_openfiledescriptorcount` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `java_lang_operatingsystem_availableprocessors` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `jvm_memory_bytes_used` |  `ClusterName`, TaskDefinitionFamily, région  | 
|  `jvm_memory_pool_bytes_used` |  `ClusterName` TaskDefinitionFamily, piscine  | 

**Note**  
Les valeurs de la dimension `area` peuvent être `heap` ou `nonheap`.  
Les valeurs de la dimension `pool` peuvent être `Tenured Gen`, `Compress Class Space`, `Survivor Space`, `Eden Space`, `Code Cache` ou `Metaspace`.

**Tomcat/JMX sur les clusters Amazon ECS**

Outre les Java/JMX métriques du tableau précédent, les métriques suivantes sont également collectées pour la charge de travail Tomcat sur les clusters Amazon ECS.


| Nom de la métrique | Dimensions | 
| --- | --- | 
|  `catalina_manager_activesessions` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_manager_rejectedsessions` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_bytesreceived` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_bytessent` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_requestcount` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_errorcount` |  `ClusterName`, `TaskDefinitionFamily`  | 
|  `catalina_globalrequestprocessor_processingtime` |  `ClusterName`, `TaskDefinitionFamily`  | 

## Métriques Prometheus pour HAProxy
<a name="ContainerInsights-Prometheus-metrics-haproxy"></a>

Les métriques suivantes sont automatiquement collectées à partir des clusters HAProxy Amazon EKS et Kubernetes.

Les statistiques collectées dépendent de la version d' HAProxy Ingress que vous utilisez. Pour plus d'informations sur HAProxy Ingress et ses versions, consultez [haproxy-ingress](https://artifacthub.io/packages/helm/haproxy-ingress/haproxy-ingress).


| Nom de la métrique | Dimensions | Disponibilité | 
| --- | --- | --- | 
|  `haproxy_backend_bytes_in_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_backend_bytes_out_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_backend_connection_errors_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_backend_connections_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_backend_current_sessions` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_backend_http_responses_total` |  `ClusterName`, `Namespace`, Service, code, backend  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_backend_status` |  `ClusterName`, `Namespace`, Service  |  Uniquement dans les versions 0.10 ou ultérieures d'Ingress HAProxy   | 
|  `haproxy_backend_up` |  `ClusterName`, `Namespace`, Service  |  Uniquement dans les versions d' HAProxy Ingress antérieures à 0.10  | 
|  `haproxy_frontend_bytes_in_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_frontend_bytes_out_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_frontend_connections_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_frontend_current_sessions` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_frontend_http_requests_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_frontend_http_responses_total` |  `ClusterName`, `Namespace`, Service, code, frontend  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_frontend_request_errors_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 
|  `haproxy_frontend_requests_denied_total` |  `ClusterName`, `Namespace`, Service  | Toutes les versions de HAProxy Ingress | 

**Note**  
Les valeurs de la dimension `code` peuvent être `1xx`, `2xx`, `3xx`, `4xx`, `5xx` ou `other`.  
Les valeurs de la dimension `backend` peuvent être :  
`http-default-backend``http-shared-backend`, ou `httpsback-shared-backend` pour HAProxy Ingress version 0.0.27 ou antérieure.
`_default_backend`pour les versions HAProxy d'Ingress ultérieures à 0.0.27.
Les valeurs de la dimension `frontend` peuvent être :  
`httpfront-default-backend``httpfront-shared-frontend`, ou `httpfronts` pour HAProxy Ingress version 0.0.27 ou antérieure.
`_front_http`ou `_front_https` pour les versions HAProxy d'Ingress ultérieures à 0.0.27.

# Affichage de vos métriques Prometheus
<a name="ContainerInsights-Prometheus-viewmetrics"></a>

Vous pouvez surveiller et déclencher des alarmes sur toutes vos métriques Prometheus, y compris les mesures préagrégées sélectionnées par App Mesh, NGINX, Java/JMX, Memcached HAProxy et tout autre exportateur Prometheus configuré manuellement que vous avez éventuellement ajouté. Pour plus d'informations sur la collecte de métriques à partir d'autres exportateurs Prometheus, consultez [Didacticiel pour l'ajout d'une nouvelle cible de récupération Prometheus : métrique du serveur d'API Prometheus](ContainerInsights-Prometheus-Setup-configure.md#ContainerInsights-Prometheus-Setup-new-exporters).

Dans la CloudWatch console, Container Insights fournit les rapports prédéfinis suivants : 
+ Pour les clusters Amazon EKS et Kubernetes, il existe des rapports prédéfinis pour App Mesh, NGINX, HAPROXY, Memcached et Java/JMX.
+ Pour les clusters Amazon ECS, il existe des rapports prédéfinis pour App Mesh et Java/JMX.

Container Insights fournit également des tableaux de bord personnalisés pour chacune des applications à partir desquelles Container Insights collecte des métriques organisées. Vous pouvez télécharger ces tableaux de bord sur GitHub 

**Pour afficher toutes vos métriques Prometheus**

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

1. Dans le panneau de navigation, sélectionnez ‎**Métriques**.

1. Dans la liste des espaces de noms, choisissez **ContainerInsights/Prometheus** ou. **ECS/ContainerInsights/Prometheus**

1. Choisissez l'un des ensembles de dimensions de la liste suivante. Cochez ensuite la case en regard des métriques que vous souhaitez afficher.

**Pour afficher les rapports prédéfinis sur vos métriques Prometheus**

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

1. Dans le panneau de navigation, choisissez **Surveillance des performances**.

1. Dans la liste déroulante située en haut de la page, choisissez l'une des options de Prometheus.

   Dans l'autre liste déroulante, choisissez un cluster à afficher

Nous avons également fourni des tableaux de bord personnalisés pour NGINX, App Mesh, Memcached et Java/JMX. HAProxy

**Pour utiliser un tableau de bord personnalisé fourni par Amazon**

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

1. Dans le panneau de navigation, choisissez **Dashboards** (Tableaux de bord).

1. Choisissez **Créer un tableau de bord**. Entrez un nom pour le nouveau tableau de bord, puis choisissez **Créer un tableau de bord**.

1. Dans **Ajouter à ce tableau de bord**, choisissez **Annuler**.

1. Choisissez **Actions**, **View/Edit Attributes** (Afficher/Modifier la source).

1. Téléchargez l'un des fichiers JSON suivants :
   + [ Source de tableau de bord personnalisé NGINX sur Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/nginx-ingress/cw_dashboard_nginx_ingress_controller.json).
   + [ Source de tableau de bord personnalisé App Mesh sur Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/appmesh/cw_dashboard_awsappmesh.json).
   + [Source de tableau de bord personnalisé Memcached sur Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/memcached/cw_dashboard_memcached.json)
   + [ HAProxy-Source de tableau de bord personnalisée Ingress sur Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/haproxy-ingress/cw_dashboard_haproxy_ingress.json)
   + [ Java/JMX source de tableau de bord personnalisée sur Github](https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/sample_cloudwatch_dashboards/javajmx/cw_dashboard_javajmx.json).

1. Ouvrez le fichier JSON que vous avez téléchargé avec un éditeur de texte et apportez les modifications suivantes :
   + Remplacez toutes les chaînes `{{YOUR_CLUSTER_NAME}}` par le nom exact de votre cluster. Assurez-vous de ne pas ajouter d'espaces avant ou après le texte.
   + Remplacez toutes les `{{YOUR_REGION}}` chaînes par la AWS région dans laquelle votre cluster est exécuté. Par exemple, **us-west-1** assurez-vous de ne pas ajouter d'espaces avant ou après le texte. 
   + Remplacez toutes les chaînes `{{YOUR_NAMESPACE}}` par l'espace de noms exact de votre application.
   + Remplacez toutes les chaînes `{{YOUR_SERVICE_NAME}}` par le nom de service exact de votre application. Par exemple, **haproxy-haproxy-ingress-controller-metrics**

1. Copiez l'intégralité du blob JSON et collez-le dans la zone de texte de la CloudWatch console, en remplaçant ce qui s'y trouve déjà.

1. Choisissez **Mettre à jour**, **Enregistrer le tableau de bord**.

# Résolution des problèmes rencontrés avec les métriques Prometheus
<a name="ContainerInsights-Prometheus-troubleshooting"></a>

Cette section fournit de l'aide pour résoudre les problèmes de configuration des métriques Prometheus. 

**Topics**
+ [Résolution des problèmes rencontrés avec les métriques Prometheus sur Amazon ECS](ContainerInsights-Prometheus-troubleshooting-ECS.md)
+ [Résolution des problèmes liés aux métriques Prometheus sur les clusters Amazon EKS et Kubernetes](ContainerInsights-Prometheus-troubleshooting-EKS.md)

# Résolution des problèmes rencontrés avec les métriques Prometheus sur Amazon ECS
<a name="ContainerInsights-Prometheus-troubleshooting-ECS"></a>

Cette section fournit de l'aide pour résoudre les problèmes de configuration des métriques Prometheus sur les clusters Amazon ECS. 

## Je ne vois pas les métriques de Prometheus envoyées à Logs CloudWatch
<a name="ContainerInsights-Prometheus-troubleshooting-ECS-nometrics"></a>

**Les métriques Prometheus doivent être ingérées sous forme d'événements de journal dans le groupe de journaux/. aws/ecs/containerinsights/cluster-name/Prometheus** Si le groupe de journaux n'est pas créé ou si les métriques Prometheus ne sont pas envoyées au groupe de journaux, vous devez d'abord vérifier si les cibles Prometheus ont été correctement découvertes par l'agent. CloudWatch Vérifiez ensuite le groupe de sécurité et les paramètres d'autorisation de l' CloudWatch agent. Les étapes suivantes vous guident pour réaliser le débogage.

**Étape 1 : activer le mode de débogage de CloudWatch l'agent**

Tout d'abord, passez l' CloudWatch agent en mode de débogage en ajoutant les lignes en gras suivantes à votre fichier CloudFormation modèle, `cwagent-ecs-prometheus-metric-for-bridge-host.yaml` ou`cwagent-ecs-prometheus-metric-for-awsvpc.yaml`. Ensuite, enregistrez le fichier.

```
cwagentconfig.json: |
    {
      "agent": {
        "debug": true
      },
      "logs": {
        "metrics_collected": {
```

Créez un nouvel ensemble de CloudFormation modifications par rapport à la pile existante. Définissez les autres paramètres du changeset sur les mêmes valeurs que dans votre CloudFormation pile existante. L'exemple suivant concerne un CloudWatch agent installé dans un cluster Amazon ECS utilisant le type de lancement EC2 et le mode réseau de pont.

```
ECS_NETWORK_MODE=bridge
 CREATE_IAM_ROLES=True
ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_name
ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_name
NEW_CHANGESET_NAME=your_selected_ecs_execution_role_name

aws cloudformation create-change-set --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \
    --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \
    --parameters ParameterKey=ECSClusterName,ParameterValue=$ECS_CLUSTER_NAME \
                 ParameterKey=CreateIAMRoles,ParameterValue=$CREATE_IAM_ROLES \
                 ParameterKey=ECSNetworkMode,ParameterValue=$ECS_NETWORK_MODE \
                 ParameterKey=TaskRoleName,ParameterValue=$ECS_TASK_ROLE_NAME \
                 ParameterKey=ExecutionRoleName,ParameterValue=$ECS_EXECUTION_ROLE_NAME \
    --capabilities CAPABILITY_NAMED_IAM \
    --region $AWS_REGION \
    --change-set-name $NEW_CHANGESET_NAME
```

Accédez à la CloudFormation console pour consulter le nouvel ensemble de modifications,`$NEW_CHANGESET_NAME`. Une modification doit être appliquée à la SSMParameter ressource **CWAgentConfig**. Exécutez l'ensemble de modifications et redémarrez la tâche de l' CloudWatch agent en saisissant les commandes suivantes.

```
aws ecs update-service --cluster $ECS_CLUSTER_NAME \
--desired-count 0 \
--service your_service_name_here \
--region $AWS_REGION
```

Patientez environ 10 secondes, puis saisissez la commande suivante.

```
aws ecs update-service --cluster $ECS_CLUSTER_NAME \
--desired-count 1 \
--service your_service_name_here \
--region $AWS_REGION
```

**Étape 2 : vérification des journaux de découverte de service ECS**

La définition de tâche ECS de l' CloudWatch agent active les journaux par défaut dans la section ci-dessous. Les journaux sont envoyés à CloudWatch Logs dans le groupe de journaux **/ecs/ ecs-cwagent-prometheus**.

```
LogConfiguration:
  LogDriver: awslogs
    Options:
      awslogs-create-group: 'True'
      awslogs-group: "/ecs/ecs-cwagent-prometheus"
      awslogs-region: !Ref AWS::Region
      awslogs-stream-prefix: !Sub 'ecs-${ECSLaunchType}-awsvpc'
```

Filtrez les journaux par la chaîne `ECS_SD_Stats` pour obtenir les métriques liées à la découverte de service ECS, comme illustré dans l'exemple suivant.

```
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeContainerInstances: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeInstancesRequest: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeTaskDefinition: 2
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_DescribeTasks: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: AWSCLI_ListTasks: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: Exporter_DiscoveredTargetCount: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Get_EC2MetaData: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Get_TaskDefinition: 2
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Size_ContainerInstance: 1
2020-09-1T01:53:14Z D! ECS_SD_Stats: LRUCache_Size_TaskDefinition: 2
2020-09-1T01:53:14Z D! ECS_SD_Stats: Latency: 43.399783ms
```

La signification de chaque métrique pour un cycle de découverte de service ECS particulier est la suivante :
+ **AWSCLI\$1DescribeContainerInstances**— le nombre d'appels d'`ECS::DescribeContainerInstances`API effectués.
+ **AWSCLI\$1DescribeInstancesRequest**— le nombre d'appels d'`ECS::DescribeInstancesRequest`API effectués.
+ **AWSCLI\$1DescribeTaskDefinition**— le nombre d'appels d'`ECS::DescribeTaskDefinition`API effectués.
+ **AWSCLI\$1DescribeTasks**— le nombre d'appels d'`ECS::DescribeTasks`API effectués.
+ **AWSCLI\$1ListTasks**— le nombre d'appels d'`ECS::ListTasks`API effectués.
+ **ExporterDiscoveredTargetCount**— le nombre de cibles Prometheus découvertes et exportées avec succès dans le fichier de résultats cible contenu dans le conteneur.
+ **LRUCache\$1Get\$1 EC2 MetaData** — le nombre de fois où les métadonnées des instances de conteneur ont été extraites du cache.
+ **LRUCache\$1Get\$1 TaskDefinition** — le nombre de fois où les métadonnées de définition de tâche ECS ont été extraites du cache.
+ **LRUCache\$1Size\$1 ContainerInstance** — le nombre de métadonnées d'une instance de conteneur unique mises en cache en mémoire.
+ **LRUCache\$1Size\$1 TaskDefinition** — le nombre de définitions de tâches ECS uniques mises en cache en mémoire.
+ **Latency** – combien de temps prend le cycle de découverte de service.

Vérifiez la valeur de `ExporterDiscoveredTargetCount` pour voir si les cibles Prometheus découvertes correspondent à vos attentes. Si ce n'est pas le cas, les raisons possibles sont les suivantes :
+ La configuration de la découverte de service ECS peut ne pas correspondre aux paramètres de votre application. Pour la découverte de services basée sur des étiquettes docker, il est possible que l'étiquette docker nécessaire ne soit pas configurée dans l'agent CloudWatch pour les détecter automatiquement dans vos conteneurs cibles. Pour la découverte de services basée sur l'expression régulière ARN de définition de tâche ECS, le paramètre regex de l' CloudWatch agent peut ne pas correspondre à la définition de tâche de votre application. 
+ Le rôle de tâche ECS de l' CloudWatch agent n'est peut-être pas autorisé à récupérer les métadonnées des tâches ECS. Vérifiez que les autorisations de lecture seule suivantes ont été accordées à l' CloudWatch agent :
  + `ec2:DescribeInstances`
  + `ecs:ListTasks`
  + `ecs:DescribeContainerInstances`
  + `ecs:DescribeTasks`
  + `ecs:DescribeTaskDefinition`

**Étape 3 : Vérification de la connexion réseau et de la politique de rôle de tâche ECS**

Si aucun événement de journal n'est toujours envoyé au groupe de CloudWatch journaux Logs cible, même si la valeur de `Exporter_DiscoveredTargetCount` indique que des cibles Prometheus ont été découvertes, cela peut être dû à l'un des facteurs suivants :
+ L' CloudWatch agent ne sera peut-être pas en mesure de se connecter aux ports cibles de Prometheus. Vérifiez le paramètre du groupe de sécurité sous-jacent à l' CloudWatch agent. L'adresse IP privée doit permettre à l' CloudWatch agent de se connecter aux ports de l'exportateur Prometheus. 
+ Le rôle de tâche ECS de l' CloudWatch agent n'est peut-être pas doté de la politique **CloudWatchAgentServerPolicy**gérée. Le rôle de tâche ECS de l' CloudWatchagent doit respecter cette politique pour pouvoir envoyer les métriques Prometheus sous forme d'événements de journal. Si vous avez utilisé l'exemple de CloudFormation modèle pour créer automatiquement les rôles IAM, le rôle de tâche ECS et le rôle d'exécution ECS sont dotés du moindre privilège pour effectuer la surveillance Prometheus. 

# Résolution des problèmes liés aux métriques Prometheus sur les clusters Amazon EKS et Kubernetes
<a name="ContainerInsights-Prometheus-troubleshooting-EKS"></a>

Cette section fournit de l'aide pour résoudre les problèmes de configuration des métriques Prometheus sur les clusters Amazon EKS et Kubernetes. 

## Étapes de résolution des problèmes générales sur Amazon EKS
<a name="ContainerInsights-Prometheus-troubleshooting-general"></a>

Pour vérifier que l' CloudWatch agent est en cours d'exécution, entrez la commande suivante.

```
kubectl get pod -n amazon-cloudwatch
```

La sortie doit inclure une ligne avec `cwagent-prometheus-id` dans la colonne `NAME` et `Running` dans la colonne `STATUS column.`

Pour afficher des détails sur le pod en cours d'exécution, entrez la commande suivante. *pod-name*Remplacez-le par le nom complet de votre module dont le nom commence par`cw-agent-prometheus`.

```
kubectl describe pod pod-name -n amazon-cloudwatch
```

Si CloudWatch Container Insights est installé, vous pouvez utiliser CloudWatch Logs Insights pour interroger les journaux de l' CloudWatch agent qui collecte les métriques Prometheus.

**Pour interroger les journaux d'application**

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

1. Dans le volet de navigation, sélectionnez **CloudWatch Logs Insights**.

1. Sélectionnez le groupe de journaux pour les journaux des applications, **/aws/containerinsights/ *cluster-name* /application**

1. Remplacez l'expression de requête de recherche par la requête suivante, puis choisissez **Exécuter la requête**

   ```
   fields ispresent(kubernetes.pod_name) as haskubernetes_pod_name, stream, kubernetes.pod_name, log | 
   filter haskubernetes_pod_name and kubernetes.pod_name like /cwagent-prometheus
   ```

Vous pouvez également confirmer que les métriques et les métadonnées de Prometheus sont CloudWatch ingérées sous forme d'événements Logs.

**Pour vérifier que les données Prometheus sont ingérées**

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

1. Dans le volet de navigation, sélectionnez **CloudWatch Logs Insights**.

1. Sélectionnez le fichier **/aws/containerinsights/ /prometheus *cluster-name***

1. Remplacez l'expression de requête de recherche par la requête suivante, puis choisissez **Exécuter la requête**

   ```
   fields @timestamp, @message | sort @timestamp desc | limit 20
   ```

## Journalisation des métriques Prometheus ignorées
<a name="ContainerInsights-Prometheus-troubleshooting-droppedmetrics"></a>

Cette version ne collecte pas les métriques Prometheus de type histogramme. Vous pouvez utiliser l' CloudWatch agent pour vérifier si des métriques Prometheus sont supprimées car il s'agit de métriques d'histogrammes. Vous pouvez également enregistrer une liste des 500 premières métriques Prometheus supprimées et non envoyées car il s'agit de métriques CloudWatch d'histogrammes.

Pour voir si des métriques sont ignorées, entrez la commande suivante :

```
kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
```

Si des métriques sont ignorées, les lignes suivantes s'affichent dans le fichier `/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log`.

```
I! Drop Prometheus metrics with unsupported types. Only Gauge, Counter and Summary are supported.
I! Please enable CWAgent debug mode to view the first 500 dropped metrics
```

Si ces lignes s'affichent et si vous souhaitez savoir quelles métriques sont ignorées, procédez comme suit.

**Pour enregistrer une liste des métriques Prometheus ignorées**

1. Passez l' CloudWatch agent en mode de débogage en ajoutant les lignes en gras suivantes à votre `prometheus-k8s.yaml` fichier `prometheus-eks.yaml` ou en enregistrant le fichier.

   ```
   {
         "agent": {
           "debug": true
         },
   ```

   Cette section du fichier doit alors ressembler à ceci :

   ```
   cwagentconfig.json: |
       {
         "agent": {
           "debug": true
         },
         "logs": {
           "metrics_collected": {
   ```

1. Réinstallez l' CloudWatch agent pour activer le mode de débogage en saisissant les commandes suivantes :

   ```
   kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
   kubectl apply -f prometheus.yaml
   ```

   Les métriques supprimées sont enregistrées dans le module de l' CloudWatch agent.

1. Pour récupérer les journaux depuis le module de l' CloudWatch agent, entrez la commande suivante :

   ```
   kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
   ```

   Ou, si la journalisation Fluentd de Container Insights est installée, les journaux sont également enregistrés dans le groupe de journaux Logs CloudWatch **/aws/containerinsights/ *cluster\$1name* /application**.

   Pour interroger ces journaux, vous pouvez suivre les étapes nécessaires pour interroger les journaux d'application dans [Étapes de résolution des problèmes générales sur Amazon EKS](#ContainerInsights-Prometheus-troubleshooting-general).

## Où sont ingérées CloudWatch les métriques Prometheus lorsque Logs enregistre les événements ?
<a name="ContainerInsights-Prometheus-troubleshooting-metrics_ingested"></a>

L' CloudWatch agent crée un flux de journal pour chaque configuration de tâche Prometheus Scrape. Par exemple, dans les fichiers `prometheus-eks.yaml` et `prometheus-k8s.yaml`, la ligne `job_name: 'kubernetes-pod-appmesh-envoy'` récupère les métriques App Mesh. La cible Prometheus est définie en tant que `kubernetes-pod-appmesh-envoy`. **Ainsi, toutes les métriques App Mesh Prometheus sont ingérées sous forme d'événements Logs dans le **kubernetes-pod-appmesh-envoy**flux de journaux CloudWatch sous le groupe de journaux nommé/. aws/containerinsights/cluster-name/Prometheus**

## Je ne vois pas les métriques Amazon EKS ou Kubernetes Prometheus dans les métriques CloudWatch
<a name="ContainerInsights-Prometheus-troubleshooting-no-metrics"></a>

**Tout d'abord, assurez-vous que les métriques Prometheus sont ingérées sous forme d'événements de journal dans le groupe de journaux/. aws/containerinsights/cluster-name/Prometheus** Utilisez les informations de [Où sont ingérées CloudWatch les métriques Prometheus lorsque Logs enregistre les événements ?](#ContainerInsights-Prometheus-troubleshooting-metrics_ingested) pour vous aider à vérifier le flux de journaux cible. Si le flux de journaux n'est pas créé ou s'il n'y a pas de nouveaux événements de journaux dans le flux de journaux, vérifiez les points suivants :
+ Vérifiez que les points de terminaison de l'exportateur de métriques Prometheus sont correctement configurés
+ Vérifiez que les configurations de scraping de Prometheus dans `config map: cwagent-prometheus` la section du fichier YAML de CloudWatch l'agent sont correctes. La configuration doit être la même que dans un fichier de configuration Prometheus. Pour plus d'informations, consultez [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) dans la documentation Prometheus.

Si les métriques Prometheus sont correctement ingérées sous forme d'événements de journal, vérifiez que les paramètres de format de métrique intégrés sont ajoutés aux événements du journal pour générer les métriques. CloudWatch 

```
"CloudWatchMetrics":[
   {
      "Metrics":[
         {
            "Name":"envoy_http_downstream_cx_destroy_remote_active_rq"
         }
      ],
      "Dimensions":[
         [
            "ClusterName",
            "Namespace"
         ]
      ],
      "Namespace":"ContainerInsights/Prometheus"
   }
],
```

Pour plus d'informations sur le format de métrique intégrée, consultez [Spécifications : format de métrique intégrée](CloudWatch_Embedded_Metric_Format_Specification.md).

Si aucun format métrique n'est intégré dans le journal des événements, vérifiez que la `metric_declaration` section est correctement configurée dans la `config map: prometheus-cwagentconfig` section du fichier YAML d'installation de l' CloudWatch agent. Pour de plus amples informations, veuillez consulter [Didacticiel pour l'ajout d'une nouvelle cible de récupération Prometheus : métrique du serveur d'API Prometheus](ContainerInsights-Prometheus-Setup-configure.md#ContainerInsights-Prometheus-Setup-new-exporters).

# Intégration à Application Insights
<a name="container-insights-appinsights"></a>

Amazon CloudWatch Application Insights vous aide à surveiller vos applications, à identifier et à configurer les indicateurs clés, les journaux et les alarmes pour l'ensemble de vos ressources applicatives et de votre infrastructure technologique. Pour de plus amples informations, veuillez consulter [Détectez les problèmes courants liés aux applications grâce à CloudWatch Application Insights](cloudwatch-application-insights.md).

Vous pouvez activer Application Insights pour recueillir des données supplémentaires à partir de vos applications et microservices conteneurisés. Si vous ne l'avez pas déjà fait, vous pouvez l'activer en sélectionnant **Auto-configure Application Insights (Configuration automatique d'Application Insights)** sous la vue des performances dans le tableau de bord Container Insights.

Si vous avez déjà configuré CloudWatch Application Insights pour surveiller vos applications conteneurisées, le tableau de bord Application Insights apparaît sous le tableau de bord Container Insights.

Pour plus d'informations sur Application Insight et les applications conteneurisées, consultez[Activer la surveillance des ressources Application Insights pour Amazon ECS et Amazon EKS](appinsights-setting-up-console.md#appinsights-container-insights).

# Affichage des événements du cycle de vie d’Amazon ECS dans Container Insights
<a name="container-insights-ECS-lifecycle-events"></a>

Vous pouvez consulter les événements du cycle de vie d'Amazon ECS dans la console Container Insights. Cela vous aide à corréler vos métriques, journaux et événements de conteneurs en une seule vue pour vous donner une visibilité opérationnelle plus complète.

Les événements comprennent des événements de changement d'état d'instance de conteneur, des événements de changement d'état de tâche et des événements d'action de service. Ils sont automatiquement envoyés par Amazon ECS à Amazon EventBridge et sont également collectés CloudWatch sous forme de journal d'événements. Pour plus d'informations sur ces événements, consultez [Événements Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html).

La tarification standard de Container Insights s’applique aux événements du cycle de vie d’Amazon ECS. Pour en savoir plus, consultez [Tarification Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

Pour configurer le tableau des événements du cycle de vie et créer des règles pour un cluster, vous devez disposer des autorisations `events:PutRule`, `events:PutTargets` et `logs:CreateLogGroup`. Vous devez également vous assurer qu'il existe une politique de ressources qui permet de EventBridge créer le flux de journaux et d'envoyer les CloudWatch journaux à Logs. Si cette politique de ressources n'existe pas, vous pouvez saisir la commande suivante pour la créer :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Principal": {
        "Service": ["events.amazonaws.com", "delivery.logs.amazonaws.com"]
      },
      "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/events/ecs/containerinsights/*:*",
      "Condition": {
        "StringEquals": {
        "aws:SourceAccount": "111122223333"
        },
        "ArnLike": {
        "aws:SourceArn": "arn:aws:events:us-east-1:111122223333:rule/eventsToLog*"
        }
      },
      "Sid": "TrustEventBridgeToStoreECSLifecycleLogEvents"
    }
  ]
}
```

------

Vous pouvez utiliser la commande suivante pour vérifier si vous disposez déjà de cette politique et pour confirmer que son rattachement a fonctionné correctement.

```
aws logs describe-resource-policies --region region --output json
```

Pour afficher le tableau des événements du cycle de vie, vous devez disposer des autorisations `events:DescribeRule`, `events:ListTargetsByRule` et `logs:DescribeLogGroups`.

**Pour consulter les événements du cycle de vie d'Amazon ECS dans la console CloudWatch Container Insights**

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

1. Choisissez **Insights** (Informations), **Container Insights**.

1. Choisissez **Afficher les tableaux de bord des performances**. 

1. Dans la liste déroulante suivante, choisissez soit **ECS Clusters** (Clusters ECS), soit **ECS Services** (Services ECS), soit **ECS Tasks** (Tâches ECS).

1. Si vous avez choisi **ECS Services** (Services ECS) ou **ECS Tasks** (Tâches ECS) à l'étape précédente, choisissez l'onglet **Lifecycle events** (Événements du cycle de vie).

1. Au bas de la page, si vous voyez **Configurer les événements du cycle** de vie, sélectionnez-le pour créer des EventBridge règles pour votre cluster.

   Les événements sont affichés sous les volets Container Insights et au-dessus de la section Application Insights. Pour exécuter des analyses supplémentaires et créer des visualisations additionnelles sur ces événements, choisissez **View in Logs Insights** (Afficher dans Logs Insights) dans le tableau Lifecycle Events (Événements du cycle de vie).

# Résolution des problèmes liés à Container Insights
<a name="ContainerInsights-troubleshooting"></a>

Les sections suivantes peuvent aider si vous rencontrez des problèmes avec Container Insights.

## Échec du déploiement sur Amazon EKS ou Kubernetes
<a name="ContainerInsights-setup-EKS-troubleshooting-general"></a>

Si l'agent ne se déploie pas correctement sur un cluster Kubernetes, essayez ce qui suit :
+ Exécutez la commande suivante pour obtenir la liste des pods.

  ```
  kubectl get pods -n amazon-cloudwatch
  ```
+ Exécutez la commande suivante et vérifiez les événements au bas de la sortie.

  ```
  kubectl describe pod pod-name -n amazon-cloudwatch
  ```
+ Exécutez la commande suivante pour vérifier les journaux.

  ```
  kubectl logs pod-name -n amazon-cloudwatch
  ```

## Panique non autorisée : Impossible de récupérer les données cadvisor à partir de kubelet
<a name="ContainerInsights-setup-EKS-troubleshooting-permissions"></a>

Si votre déploiement échoue avec l'erreur `Unauthorized panic: Cannot retrieve cadvisor data from kubelet`, il se peut que le mode d'autorisation Webhook ne soit pas activé pour votre Kubelet. Ce mode est obligatoire pour Container Insights. Pour de plus amples informations, veuillez consulter [Vérification des conditions requises pour Container Insights dans CloudWatch](Container-Insights-prerequisites.md).

## Déploiement de Container Insights sur un cluster supprimé puis recréé sur Amazon ECS
<a name="ContainerInsights-troubleshooting-recreate"></a>

Si vous supprimez un cluster Amazon ECS existant sur lequel Container Insights n'est pas activé et que vous le recréez avec le même nom, vous ne pouvez pas activer Container Insights sur ce nouveau cluster au moment où vous le recréez. Vous pouvez l'activer en le recréant, puis en entrant la commande suivante :

```
aws ecs update-cluster-settings --cluster myCICluster --settings name=container Insights,value=enabled
```

## Erreur de point de terminaison non valide
<a name="ContainerInsights-setup-invalid-endpoint"></a>

Si un message d'erreur similaire au suivant s'affiche, assurez-vous que vous avez remplacé tous les espaces réservés tels que *cluster-name* et présents *region-name* dans les commandes que vous utilisez par les informations correctes pour votre déploiement.

```
"log": "2020-04-02T08:36:16Z E! cloudwatchlogs: code: InvalidEndpointURL, message: invalid endpoint uri, original error: &url.Error{Op:\"parse\", URL:\"https://logs.{{region_name}}.amazonaws.com/\", Err:\"{\"}, &awserr.baseError{code:\"InvalidEndpointURL\", message:\"invalid endpoint uri\", errs:[]error{(*url.Error)(0xc0008723c0)}}\n",
```

## Les métriques ne s'affichent pas dans la console
<a name="ContainerInsights-setup-EKS-troubleshooting-nometrics"></a>

Si vous ne voyez aucune métrique de Container Insights dans le AWS Management Console, assurez-vous d'avoir terminé la configuration de Container Insights. Les métriques n'apparaissent pas avant que Container Insights n'ait été configuré complètement. Pour plus d'informations, consultez . [Configuration de Container Insights](deploy-container-insights.md).

## Métriques de pod manquantes sur Amazon EKS ou Kubernetes après la mise à niveau du cluster
<a name="ContainerInsights-troubleshooting-podmetrics-missing"></a>

Cette section peut être utile si toutes les métriques du pod ou certaines d'entre elles sont manquantes après le déploiement de l' CloudWatch agent en tant que daemonset sur un cluster nouveau ou mis à niveau, ou si un journal des erreurs s'affiche avec le message. `W! No pod metric collected`

Ces erreurs peuvent être causées par des changements dans l'exécution du conteneur, tels que containerd ou le pilote docker systemd cgroup. Vous pouvez généralement résoudre ce problème en mettant à jour votre manifeste de déploiement afin que le socket containerd de l'hôte soit monté dans le conteneur. Consultez l’exemple suivant:

```
# For full example see https://github.com/aws-samples/amazon-cloudwatch-container-insights/blob/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: cloudwatch-agent
  namespace: amazon-cloudwatch
spec:
  template:
    spec:
      containers:
        - name: cloudwatch-agent
# ...
          # Don't change the mountPath
          volumeMounts:
# ...
            - name: dockersock
              mountPath: /var/run/docker.sock
              readOnly: true
            - name: varlibdocker
              mountPath: /var/lib/docker
              readOnly: true
            - name: containerdsock # NEW mount
              mountPath: /run/containerd/containerd.sock
              readOnly: true
# ...
      volumes:
# ...
        - name: dockersock
          hostPath:
            path: /var/run/docker.sock
        - name: varlibdocker
          hostPath:
            path: /var/lib/docker
        - name: containerdsock # NEW volume
          hostPath:
            path: /run/containerd/containerd.sock
```

## Aucune métrique de pod lors de l'utilisation de Bottlerocket pour Amazon EKS
<a name="ContainerInsights-troubleshooting-bottlerocket"></a>

Bottlerocket est un système d'exploitation open source basé sur Linux qui est spécialement conçu par AWS pour exécuter des conteneurs. 

Bottlerocket utilise un chemin `containerd` sur l'hôte, vous devez donc modifier les volumes à son emplacement. Dans le cas contraire, une erreur s'affiche dans les journaux qui incluent `W! No pod metric collected`. Consultez l'exemple suivant.

```
volumes:
  # ... 
    - name: containerdsock
      hostPath:
        # path: /run/containerd/containerd.sock
        # bottlerocket does not mount containerd sock at normal place
        # https://github.com/bottlerocket-os/bottlerocket/commit/91810c85b83ff4c3660b496e243ef8b55df0973b
        path: /run/dockershim.sock
```

## Aucune métrique de FileSystem de conteneur lors de l'utilisation de l'exécution containerd pour Amazon EKS ou Kubernetes
<a name="ContainerInsights-troubleshooting-containerd"></a>

C'est un problème connu et les contributeurs de la communauté travaillent sur cette question. Pour plus d'informations, consultez les sections [Métrique d'utilisation du disque pour les containers et Les métriques [du système de fichiers conteneur ne sont pas prises en charge par Cadvisor pour containerd](https://github.com/aws/amazon-cloudwatch-agent/issues/192)](https://github.com/google/cadvisor/issues/2785) on. GitHub

## Augmentation inattendue du volume de logs due à l' CloudWatch agent lors de la collecte des métriques Prometheus
<a name="ContainerInsights-troubleshooting-log-volume-increase"></a>

Il s'agit d'une régression introduite dans la version 1.247347.6b250880 de l'agent. CloudWatch Cette régression a déjà été corrigée dans les versions plus récentes de l'agent. Son impact s'est limité aux scénarios dans lesquels les clients collectaient les journaux de l' CloudWatch agent lui-même et utilisaient également Prometheus. Pour plus d'informations, voir [[prometheus] L'agent imprime toutes les métriques supprimées lors de](https://github.com/aws/amazon-cloudwatch-agent/issues/209) la connexion. GitHub

## Dernière image docker mentionnée dans les notes de mise à jour introuvables depuis Dockerhub
<a name="ContainerInsights-troubleshooting-docker-image"></a>

Nous mettons à jour la note de mise à jour et l'identification sur Github avant de démarrer la version réelle en interne. 1 à 2 semaines sont généralement nécessaires pour voir la dernière image docker sur les registres après avoir élevé le numéro de version sur Github. Il n'y a pas de publication nocturne pour l'image du conteneur de l' CloudWatch agent. Vous pouvez créer l'image directement à partir de la source à l'emplacement suivant : [https://github.com/aws/amazon-cloudwatch-agent/tree/main/amazon-cloudwatch-container-insights/cloudwatch-agent-dockerfile](https://github.com/aws/amazon-cloudwatch-agent/tree/main/amazon-cloudwatch-container-insights/cloudwatch-agent-dockerfile)

## CrashLoopBackoff erreur sur l' CloudWatch agent
<a name="ContainerInsights-troubleshooting-crashloopbackoff"></a>

Si un `CrashLoopBackOff` message d'erreur s'affiche pour l' CloudWatch agent, assurez-vous que vos autorisations IAM sont correctement définies. Pour de plus amples informations, veuillez consulter [Vérification des conditions requises pour Container Insights dans CloudWatch](Container-Insights-prerequisites.md).

## CloudWatch agent ou module Fluentd bloqué en attente
<a name="ContainerInsights-troubleshooting-pending"></a>

Si un CloudWatch agent ou un pod Fluentd est bloqué `Pending` ou s'il présente une `FailedScheduling` erreur, déterminez si vos nœuds disposent de suffisamment de ressources de calcul en fonction du nombre de cœurs et de la quantité de RAM requis par les agents. Entrez la commande suivante pour décrire le pod :

```
kubectl describe pod cloudwatch-agent-85ppg -n amazon-cloudwatch
```

# Création de votre propre image Docker d' CloudWatch agent
<a name="ContainerInsights-build-docker-image"></a>

[Vous pouvez créer votre propre image Docker d' CloudWatch agent en vous référant au Dockerfile situé à l'adresse/. https://github.com/aws-samples/ amazon-cloudwatch-container-insights blob/latest/cloudwatch-agent-dockerfile/Dockerfile](https://github.com/aws-samples/amazon-cloudwatch-container-insights/blob/latest/cloudwatch-agent-dockerfile/Dockerfile)

Le fichier Docker prend en charge la création d'images multi-architectures directement à l'aide de `docker buildx`.

# Déploiement d'autres fonctionnalités d' CloudWatch agent dans vos conteneurs
<a name="ContainerInsights-other-agent-features"></a>

Vous pouvez déployer des fonctionnalités de surveillance supplémentaires dans vos conteneurs à l'aide de l' CloudWatch agent. Ces fonctionnalités sont les suivantes :
+ **Format de métriques intégré** – Pour en savoir plus, consultez [Intégration de métriques dans les journaux](CloudWatch_Embedded_Metric_Format.md).
+ **StatsD** – Pour en savoir plus, consultez [Récupération de métriques personnalisées avec StatsD](CloudWatch-Agent-custom-metrics-statsd.md).

Les instructions et les fichiers nécessaires se trouvent GitHub aux emplacements suivants :
+ Pour les conteneurs Amazon ECS, consultez [ Exemples de définitions de tâches Amazon ECS en fonction des modes de déploiement](https://github.com/aws-samples/amazon-cloudwatch-container-insights/tree/latest/ecs-task-definition-templates/deployment-mode).
+ Pour les conteneurs Amazon EKS et Kubernetes, consultez [ Exemples de fichiers YAML Kubernetes en fonction des modes de déploiement](https://github.com/aws-samples/amazon-cloudwatch-container-insights/tree/latest/k8s-deployment-manifest-templates/deployment-mode).

# Aperçu Lambda
<a name="Lambda-Insights"></a>

CloudWatch Lambda Insights est une solution de surveillance et de dépannage pour les applications sans serveur exécutées sur. AWS Lambda La solution collecte, agrège et résume les métriques de niveau système, notamment le temps de CPU, la mémoire, le disque et le réseau. Elle collecte, agrège et résume également des informations de diagnostic telles que des démarrages à froid et des arrêts de rôle de travail Lambda pour vous aider à circonscrire des problèmes liés à vos fonctions Lambda, ainsi qu'à les résoudre rapidement.

Lambda Insights utilise une nouvelle extension CloudWatch Lambda, fournie sous forme de couche Lambda. Lorsque vous installez cette extension sur une fonction Lambda, elle collecte des métriques au niveau du système et émet un seul événement de journal des performances pour chaque appel de cette fonction Lambda. CloudWatch utilise le formatage des métriques intégré pour extraire les métriques des événements du journal.

**Note**  
L’agent Lambda Insights est pris en charge uniquement sur les exécutions Lambda qui utilisent Amazon Linux 2 et Amazon Linux 2023.

Pour plus d'informations sur les extensions Lambda, consultez la section [Utilisation AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html) des extensions. Pour plus d'informations sur le format de métrique intégrée, consultez [Intégration de métriques dans les journaux](CloudWatch_Embedded_Metric_Format.md).

Vous pouvez utiliser Lambda Insights avec n'importe quelle fonction Lambda qui utilise un runtime Lambda prenant en charge les extensions Lambda. Pour obtenir la liste de ces runtimes, consultez [API Extensions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-extensions-api.html).

**Tarification**

Pour chaque fonction Lambda activée pour Lambda Insights, vous ne payez que votre utilisation des métriques et des journaux. Pour un exemple de tarification, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

Vous êtes facturé pour le temps d'exécution consommé par l'extension Lambda, par incréments de 1 ms. Pour plus d'informations sur la tarification Lambda, consultez [Tarification AWS Lambda](https://aws.amazon.com/lambda/pricing/).

# Démarrer avec Lambda Insights
<a name="Lambda-Insights-Getting-Started"></a>

Pour activer Lambda Insights sur une fonction Lambda, vous pouvez utiliser la touche à bascule en un clic dans la console Lambda. Vous pouvez également utiliser le AWS CLI, CloudFormation, la AWS Serverless Application Model CLI ou le AWS Cloud Development Kit (AWS CDK). 

Les sections suivantes fournissent des instructions détaillées pour la réalisation de ces étapes.

**Topics**
+ [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md)
+ [Utilisation de la console pour activer Lambda Insights sur une fonction Lambda existante](Lambda-Insights-Getting-Started-console.md)
+ [Utilisez le AWS CLI pour activer Lambda Insights sur une fonction Lambda existante](Lambda-Insights-Getting-Started-cli.md)
+ [Utiliser la AWS SAM CLI pour activer Lambda Insights sur une fonction Lambda existante](Lambda-Insights-Getting-Started-SAM-CLI.md)
+ [CloudFormation À utiliser pour activer Lambda Insights sur une fonction Lambda existante](Lambda-Insights-Getting-Started-cloudformation.md)
+ [Utilisez le AWS CDK pour activer Lambda Insights sur une fonction Lambda existante](Lambda-Insights-Getting-Started-clouddevelopmentkit.md)
+ [Utiliser le cadre sans serveur pour activer Lambda Insights sur une fonction Lambda existante](Lambda-Insights-Getting-Started-serverless.md)
+ [Activer Lambda Insights sur un déploiement d’image de conteneur Lambda](Lambda-Insights-Getting-Started-docker.md)
+ [Mettre à jour la gestion des versions de l’extension Lambda Insights sur une fonction](Lambda-Insights-Update-Extension.md)

# Versions disponibles de l'extension Lambda Insights
<a name="Lambda-Insights-extension-versions"></a>

Cette section répertorie les versions de l'extension Lambda Insights et les versions ARNs à utiliser pour ces extensions dans chaque AWS région.

**Topics**
+ [Plateformes x86-64](Lambda-Insights-extension-versionsx86-64.md)
+ [ARM64 plateformes](Lambda-Insights-extension-versionsARM.md)

# Plateformes x86-64
<a name="Lambda-Insights-extension-versionsx86-64"></a>

Cette section répertorie les versions de l'extension Lambda Insights pour les plateformes x86-64, ainsi que les versions ARNs à utiliser pour ces extensions dans chaque région. AWS 

**Important**  
Les extensions Lambda Insights 1.0.317.0 et ultérieures ne prennent pas en charge Amazon Linux 1.

## 1.0.660,0
<a name="Lambda-Insights-extension-1.0.660.0"></a>

La version 1.0.660.0 inclut le support de l'extension Lambda Insights pour les fonctions Lambda exécutées sur des instances gérées Lambda. Pour les fonctions exécutées sur des instances gérées Lambda, l'extension enverra un événement de journal EMF une fois par minute, créant ainsi 12 CloudWatch métriques avec une granularité d'une minute.

**ARNs pour la version 1.0.660.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:56`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:56`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:38`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:40`  | 
|  Asie-Pacifique (Malaisie) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:13`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:33`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:62`  | 
|  Asie-Pacifique (Nouvelle Zélande) |  `arn:aws:lambda:ap-southeast-6:727646510379:layer:LambdaInsightsExtension:6`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:45`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:63`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Asie-Pacifique (Taipei) |  `arn:aws:lambda:ap-east-2:145023102084:layer:LambdaInsightsExtension:13`  | 
|  Asie-Pacifique (Thaïlande) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:13`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:91`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:63`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:25`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:51`  | 
|  China (Ningxia) |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:51`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:64`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:56`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:63`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:40`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:61`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:39`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:33`  | 
|  Mexique (Centre) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:13`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:56`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:39`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:63`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:24`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:24`  | 

## 1,0,498.0
<a name="Lambda-Insights-extension-1.0.498.0"></a>

La version 1.0.498.0 inclut des corrections de bogues et des améliorations de performances.

**ARNs pour la version 1.0.498.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:52`  | 
|  Asie-Pacifique (Thaïlande) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:8`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:52`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:34`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:36`  | 
|  Asie-Pacifique (Malaisie) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:9`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:29`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:58`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:41`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:59`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:87`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:59`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:21`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:48`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:48`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:52`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:59`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:36`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:57`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:35`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:29`  | 
|  Mexique (Centre) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:8`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:52`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:35`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:59`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:24`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:24`  | 
|  Asie-Pacifique (Nouvelle Zélande) |  `arn:aws:lambda:ap-southeast-6:727646510379:layer:LambdaInsightsExtension:1`  | 
|  Asie-Pacifique (Taipei) |  `arn:aws:lambda:ap-east-2:145023102084:layer:LambdaInsightsExtension:8`  | 

## 1.0.404.0
<a name="Lambda-Insights-extension-1.0.404.0"></a>

La version 1.0.404.0 réduit la taille binaire de l’extension Lambda Insights d’environ 10 Mo à environ 6 Mo et réduit par la suite la taille du zip de la couche d’extension Lambda Insights d’environ 4 Mo à environ 2,7 Mo. Elle réduit également la consommation globale de mémoire de l’agent d’environ 10 Mo à environ 7 Mo.

**ARNs pour la version 1.0.404.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:47`  | 
|  Asie-Pacifique (Thaïlande) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:3`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:47`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:29`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:33`  | 
|  Asie-Pacifique (Malaisie) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:4`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:24`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:37`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:83`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:16`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:46`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:46`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:56`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:47`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:31`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:30`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:23`  | 
|  Mexique (Centre) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:3`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:47`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:30`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:24`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:24`  | 

## 1,0,391,0
<a name="Lambda-Insights-extension-1.0.391.0"></a>

**Important**  
La version 1.0.391.0 modifie la façon dont Lambda Insights collecte et signale l’utilisation des threads. Dans les versions précédentes de l’extension, la métrique `threads_max` rapportait le nombre maximum de threads en cours d’exécution dans le processus dont l’ID de processus est 1. À partir de la version 1.0.391.0, cette métrique rapporte le nombre maximal de threads qui étaient en cours d’exécution à tout moment pendant l’exécution de la fonction, dans tous les processus de l’environnement d’exécution. Cela inclut les processus de la fonction Lambda, les processus des extensions, les processus system/runtime spécifiques, etc. Cela rend la métrique `threads_max` plus complète tout en évaluant les threads restants pour votre utilisation. Pour plus d’informations sur les quotas de threads et de processus, consultez [Quotas Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

La version 1.0.391.0 ajoute également la prise en charge des régions Asie-Pacifique (Thaïlande) et Mexique (Centre).

**ARNs pour la version 1.0.391.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:46`  | 
|  Asie-Pacifique (Thaïlande) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension:2`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:46`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:28`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:32`  | 
|  Asie-Pacifique (Malaisie) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:3`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:23`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:36`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:82`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:15`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:45`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:45`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:55`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:46`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:54`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:30`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:29`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:23`  | 
|  Mexique (Centre) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension:2`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:46`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:29`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:54`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:23`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:23`  | 

## 1,0,333.0
<a name="Lambda-Insights-extension-1.0.333.0"></a>

La version 1.0.333.0 inclut des corrections de bogues.

**ARNs pour la version 1.0.333.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:44`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:44`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:26`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:30`  | 
|  Asie-Pacifique (Malaisie) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension:1`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:21`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:34`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:80`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:13`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:43`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:43`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:53`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:44`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:28`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:27`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:21`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:44`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:27`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:21`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:21`  | 

## 1,0317,0
<a name="Lambda-Insights-extension-1.0.317.0"></a>

La version 1.0.317.0 inclut la suppression de la prise en charge de la plateforme Amazon Linux 1, ainsi que des corrections de bogues. Il inclut également le soutien aux AWS GovCloud (US) régions.

**ARNs pour la version 1.0.317.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:43`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:43`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:25`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:29`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:20`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:33`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:79`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:12`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:42`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:42`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:52`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:43`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:27`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:26`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:20`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:43`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:26`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension:19`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension:19`  | 

## 1.0.295.0
<a name="Lambda-Insights-extension-1.0.295.0"></a>

La version 1.0.295.0 inclut des mises à jour de dépendances pour toutes les exécutions compatibles.

**ARNs pour la version 1.0.295.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:42`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:42`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:24`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:28`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:19`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:32`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:78`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:11`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:41`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:41`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:51`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:42`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:26`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:25`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:19`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:42`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:25`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:50`  | 

## 1.0.275.0
<a name="Lambda-Insights-extension-1.0.275.0"></a>

La version 1.0.275.0 inclut d’importantes mises à jour de dépendances pour toutes les exécutions compatibles.

**ARNs pour la version 1.0.275.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:40`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:40`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:22`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:26`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:17`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:47`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:30`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:76`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:9`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:39`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:39`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:49`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:40`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:48`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:24`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:46`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:23`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:17`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:40`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:23`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:48`  | 

## 1.0.273.0
<a name="Lambda-Insights-extension-1.0.273.0"></a>

La version 1.0.273.0 inclut d’importantes corrections de bogues pour toutes les exécutions compatibles et ajoute la prise en charge de Canada-Ouest (Calgary).

**ARNs pour la version 1.0.273.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:35`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:35`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:17`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:21`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:12`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:43`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:26`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:44`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:72`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:44`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension:4`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:36`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:36`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:45`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:35`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:44`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:19`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:42`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:17`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:12`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:35`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:18`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:44`  | 

## 1,0,229,0
<a name="Lambda-Insights-extension-1.0.229.0"></a>

La version 1.0.229.0 inclut des correctifs de bogues importants pour toutes les exécutions compatibles et prend désormais en charge la région d’Israël (Tel Aviv).

**ARNs pour la version 1.0.229.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:28`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:28`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:10`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:14`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension:5`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:36`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:19`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:37`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:60`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:37`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:29`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:29`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:38`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:28`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:37`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:12`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:35`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:11`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension:5`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:28`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:11`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:37`  | 

## 1.0.178.0
<a name="Lambda-Insights-extension-1.0.178.0"></a>

La version 1.0.178.0 ajoute le support pour les régions suivantes AWS .
+ Asie-Pacifique (Hyderabad)
+ Asie-Pacifique (Jakarta)
+ Europe (Espagne)
+ Europe (Zurich)
+ Moyen-Orient (EAU)

**ARNs pour la version 1.0.178.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:35`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:33`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:25`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:25`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension:8`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension:11`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:31`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:2`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:32`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:50`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:32`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:26`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:26`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:35`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:33`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:25`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:32`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension:10`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:30`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension:7`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:25`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension:9`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:32`  | 

## 1.0.143.0
<a name="Lambda-Insights-extension-1.0.143.0"></a>

La version 1.0.143.0 inclut des corrections de bogues compatibles avec Python 3.7 et Go 1.x. Le moteur d'exécution Lambda Python 3.6 est obsolète. Pour plus d'informations, veuillez consulter la rubrique [Environnement d'exécution Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).

**ARNs pour la version 1.0.143.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:20`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:13`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:13`  | 
|  Asia Pacific (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:2`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:32`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:14`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:14`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:21`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:13`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:20`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:13`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:20`  | 

## 1.0.135.0
<a name="Lambda-Insights-extension-1.0.135.0"></a>

La version 1.0.135.0 inclut des corrections de bogues concernant la façon dont Lambda Insights collecte et signale l'utilisation du disque et du descripteur de fichier. Dans les versions précédentes de l'extension, la métrique `tmp_free` indiquait l'espace libre maximal dans le répertoire `/tmp` pendant l'exécution d'une fonction. Cette version modifie la métrique pour signaler la valeur minimale à la place, ce qui la rend plus utile lors de l'évaluation de l'utilisation du disque. Pour plus d'informations sur les quotas de stockage du répertoire `tmp`, consultez [Quotas Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

La version 1.0.135.0 signale également l'utilisation du descripteur de fichier (`fd_use` et `fd_max`) en tant que valeur maximale entre les processus plutôt que de générer des rapports au niveau du système d'exploitation. 

**ARNs pour la version 1.0.135.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:11`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:11`  | 
|  Asia Pacific (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension:1`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:25`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:11`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:11`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:11`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:18`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:11`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:18`  | 

## 1,0119,0
<a name="Lambda-Insights-extension-1.0.119.0"></a>

**ARNs pour la version 1.0.119.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:9`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:9`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asie-Pacifique (Séoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:23`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:9`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:9`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:9`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:16`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:9`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:16`  | 

## 1,098.0
<a name="Lambda-Insights-extension-1.0.98.0"></a>

Cette version supprime la journalisation inutile et résout également un problème lié aux appels locaux de la AWS Serverless Application Model CLI. Pour plus d'informations sur ce problème, voir [Ajouter des LambdaInsightsExtension résultats dans le délai d'expiration avec « sam local invoke](https://github.com/aws/aws-sam-cli/issues/2469) ».

**ARNs pour la version 1.0.98.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension:8`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension:8`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asie-Pacifique (Séoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension:8`  | 
|  Chine (Ningxia) ; |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension:8`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension:8`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:14`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension:8`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:14`  | 

## 1,089.0
<a name="Lambda-Insights-extension-1.0.89.0"></a>

Cette version corrige l'horodatage de l'événement de performance pour toujours représenter le début de l'invocation de la fonction.

**ARNs pour la version 1.0.89.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asie-Pacifique (Séoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:12`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:12`  | 

## 1.0.86.0
<a name="Lambda-Insights-extension-1.0.86.0"></a>

Avec la version 1.0.54.0 de l'extension, il arrivait que les métriques de mémoire soient indiquées de manière incorrecte et soient supérieures à 100 %. La version 1.0.86.0 corrige le problème de mesure de la mémoire en utilisant les mêmes données d'événement que les métriques de la plateforme Lambda. Cela signifie que vous pouvez voir un changement spectaculaire dans les valeurs enregistrées de métrique de la mémoire. Ceci est réalisé en utilisant la nouvelle API Logs Lambda. Elle fournit une mesure plus précise de l'utilisation de la mémoire de l'environnement de test Lambda. Cependant, il faut savoir que l'API Logs Lambda ne peut pas fournir des événements de rapport de plateforme si un environnement de test de fonction expire et est ralenti. Dans ce cas, Lambda Insights ne peut pas enregistrer les métriques d'invocation. Pour plus d'informations sur l'API Logs Lambda, consultez [API Logs AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-logs-api.html).

**Nouvelles fonctions de la version 1.0.86.0**
+ Utilise l'API Logs Lambda pour corriger la métrique de mémoire. Cela résout le problème précédent où les statistiques de la mémoire étaient supérieures à 100 %.
+ Introduit `Init Duration` en tant que nouvelle CloudWatch métrique.
+ Utilise l'ARN d'appel pour ajouter une dimension de **version** pour les alias et les versions invoquées. Si vous utilisez des alias ou des versions Lambda pour réaliser des déploiements incrémentiels (tels que des déploiements bleu/vert), vous pouvez afficher vos métriques selon l'alias appelé. La dimension de **version** n'est pas appliquée si la fonction n'utilise pas d'alias ou de version. Pour plus d'informations, consultez les [alias de fonction Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html).
+ Ajoute un `billed_mb_ms field` aux événements de performance pour afficher le coût par appel. Cela ne prend pas en compte les coûts associés à la simultanéité provisionnée.
+ Ajoute des champs `billed_duration` et `duration` aux événements de performance.

**ARNs pour la version 1.0.86.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asie-Pacifique (Séoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:11`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:11`  | 

## 1.0.54.0
<a name="Lambda-Insights-extension-1.0.54.0"></a>

La version 1.0.54.0 est la première version de l'extension Lambda Insights.

**ARNs pour la version 1.0.54.0**

Le tableau suivant répertorie les ARNs options à utiliser pour cette version de l'extension dans chaque AWS région où elle est disponible.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asie-Pacifique (Séoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension:2`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension:2`  | 

# ARM64 plateformes
<a name="Lambda-Insights-extension-versionsARM"></a>

Cette section répertorie les versions de l'extension Lambda Insights pour les ARM64 plateformes, ainsi que les versions ARNs à utiliser pour ces extensions dans chaque AWS région.

**Important**  
Les extensions Lambda Insights 1.0.317.0 et ultérieures ne prennent pas en charge Amazon Linux 1.

## 1.0.660,0
<a name="Lambda-Insights-extension-ARM-1.0.660.0"></a>

La version 1.0.660.0 inclut le support de l'extension Lambda Insights pour les fonctions Lambda exécutées sur des instances gérées Lambda. Pour les fonctions exécutées sur des instances gérées Lambda, l'extension enverra un événement de journal EMF une fois par minute, créant ainsi 12 CloudWatch métriques avec une granularité d'une minute.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:33`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asie-Pacifique (Malaisie) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:33`  | 
|  Asie-Pacifique (Nouvelle Zélande) |  `arn:aws:lambda:ap-southeast-6:727646510379:layer:LambdaInsightsExtension-Arm64:165`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:28`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Asie-Pacifique (Taipei) |  `arn:aws:lambda:ap-east-2:145023102084:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asie-Pacifique (Thaïlande) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:42`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Canada Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Chine (Pékin) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension-Arm64:4`  | 
|  China (Ningxia) |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Mexique (Centre) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:6`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:6`  | 

## 1,0,498.0
<a name="Lambda-Insights-extension-ARM-1.0.498.0"></a>

La version 1.0.498.0 inclut des corrections de bogues et des améliorations de performances.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asie-Pacifique (Melbourne) |  `arn:aws:lambda:ap-southeast-4:158895979263:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Asie-Pacifique (Malaisie) |  `arn:aws:lambda:ap-southeast-5:590183865173:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Asie-Pacifique (Thaïlande) |  `arn:aws:lambda:ap-southeast-7:761018874580:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:38`  | 
|  Asie-Pacifique (Séoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:24`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Canada-Ouest (Calgary) |  `arn:aws:lambda:ca-west-1:946466191631:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Europe (Zurich) |  `arn:aws:lambda:eu-central-2:033019950311:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Israël (Tel Aviv) |  `arn:aws:lambda:il-central-1:459530977127:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Mexique (Centre) |  `arn:aws:lambda:mx-central-1:879381266642:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Middle East (Bahrain) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:26`  | 
|  Moyen-Orient (EAU) |  `arn:aws:lambda:me-central-1:732604637566:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Chine (Beijing) |  `arn:aws-cn:lambda:cn-north-1:488211338238:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Chine (Ningxia) |  `arn:aws-cn:lambda:cn-northwest-1:488211338238:layer:LambdaInsightsExtension-Arm64:1`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:6`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:6`  | 

## 1.0.404.0
<a name="Lambda-Insights-extension-ARM-1.0.404.0"></a>

La version 1.0.404.0 réduit la taille binaire de l’extension Lambda Insights d’environ 9 Mo à environ 5 Mo, et réduit par la suite la taille du zip de la couche d’extension Lambda Insights d’environ 3,7 Mo à environ 2,5 Mo. Elle réduit également la consommation globale de mémoire de l’agent d’environ 11 Mo à environ 7 Mo.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:25`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:34`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:6`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:6`  | 

## 1,0,391,0
<a name="Lambda-Insights-extension-ARM-1.0.391.0"></a>

**Important**  
La version 1.0.391.0 modifie la façon dont Lambda Insights collecte et signale l’utilisation des threads. Dans les versions précédentes de l’extension, la métrique `threads_max` rapportait le nombre maximum de threads en cours d’exécution dans le processus dont l’ID de processus est 1. À partir de la version 1.0.391.0, cette métrique rapporte le nombre maximal de threads qui étaient en cours d’exécution à tout moment pendant l’exécution de la fonction, dans tous les processus de l’environnement d’exécution. Cela inclut les processus de la fonction Lambda, les processus des extensions, les processus system/runtime spécifiques, etc. Cela rend la métrique `threads_max` plus complète tout en évaluant les threads restants pour votre utilisation. Pour plus d’informations sur les quotas de threads et de processus, consultez [Quotas Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:24`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:8`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:24`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:33`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:8`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:5`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:5`  | 

## 1,0,333.0
<a name="Lambda-Insights-extension-ARM-1.0.333.0"></a>

La version 1.0.333.0 inclut des corrections de bogues.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:6`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:22`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:31`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:6`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:3`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:3`  | 

## 1,0317,0
<a name="Lambda-Insights-extension-ARM-1.0.317.0"></a>

La version 1.0.317.0 inclut la suppression de la prise en charge de la plateforme Amazon Linux 1, ainsi que des corrections de bogues. Il inclut également le soutien aux AWS GovCloud (US) régions.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:21`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:30`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:19`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  AWS GovCloud (USA Est) |  `arn:aws-us-gov:lambda:us-gov-east-1:122132214140:layer:LambdaInsightsExtension-Arm64:1`  | 
|  AWS GovCloud (US-Ouest) |  `arn:aws-us-gov:lambda:us-gov-west-1:751350123760:layer:LambdaInsightsExtension-Arm64:1`  | 

## 1.0.295.0
<a name="Lambda-Insights-extension-ARM-1.0.295.0"></a>

La version 1.0.295.0 inclut des mises à jour de dépendances pour toutes les exécutions compatibles.


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:20`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:15`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:17`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:29`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 

## 1.0.275.0
<a name="Lambda-Insights-extension-ARM-1.0.275.0"></a>

La version 1.0.275.0 inclut des corrections de bogues pour tous les exécutions compatibles et la prise en charge des régions Europe (Espagne) et Asie-Pacifique (Hyderabad). 


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asie-Pacifique (Hyderabad) |  `arn:aws:lambda:ap-south-2:891564319516:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:18`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:13`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:15`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:27`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:16`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-2:352183217350:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 

## 1.0.273.0
<a name="Lambda-Insights-extension-ARM-1.0.273.0"></a>

La version 1.0.273.0 inclut des corrections de bogues pour tous les environnements d'exécution compatibles. 


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:9`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:14`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:11`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:23`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:12`  | 
|  Europe (Milan) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:9`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:10`  | 

## 1,0,229,0
<a name="Lambda-Insights-extension-ARM-1.0.229.0"></a>

La version 1.0.229.0 inclut des correctifs de bogues pour toutes les exécutions compatibles. En outre, elle prend désormais en charge les régions suivantes : 
+ USA Ouest (Californie du Nord)
+ Afrique (Le Cap)
+ Asie-Pacifique (Hong Kong)
+ Asie-Pacifique (Jakarta)
+ Asie-Pacifique (Osaka)
+ Asie-Pacifique (Séoul)
+ Canada (Centre)
+ Europe (Milan)
+ Europe (Paris)
+ Europe (Stockholm)
+ Moyen-Orient (Bahreïn)
+ Amérique du Sud (São Paulo)


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:7`  | 
|  USA Ouest (Californie du Nord) |  `arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Afrique (Le Cap) |  `arn:aws:lambda:af-south-1:012438385374:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Hong Kong) |  `arn:aws:lambda:ap-east-1:519774774795:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Jakarta) |  `arn:aws:lambda:ap-southeast-3:439286490199:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:7`  | 
|  Asie-Pacifique (Osaka) |  `arn:aws:lambda:ap-northeast-3:194566237122:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asia Pacific (Seoul) |  `arn:aws:lambda:ap-northeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:4`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:11`  | 
|  Canada (Centre) |  `arn:aws:lambda:ca-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:5`  | 
|  Europe (Espagne) |  `arn:aws:lambda:eu-south-1:339249233099:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europe (Paris) |  `arn:aws:lambda:eu-west-3:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Europe (Stockholm) |  `arn:aws:lambda:eu-north-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 
|  Moyen-Orient (Bahreïn) |  `arn:aws:lambda:me-south-1:285320876703:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Amérique du Sud (São Paulo) |  `arn:aws:lambda:sa-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:3`  | 

## 1.0.135.0
<a name="Lambda-Insights-extension-ARM-1.0.135.0"></a>

La version 1.0.135.0 inclut des corrections de bogues concernant la façon dont Lambda Insights collecte et signale l'utilisation du disque et du descripteur de fichier. Dans les versions précédentes de l'extension, la métrique `tmp_free` indiquait l'espace libre maximal dans le répertoire `/tmp` pendant l'exécution d'une fonction. Cette version modifie la métrique pour signaler la valeur minimale à la place, ce qui la rend plus utile lors de l'évaluation de l'utilisation du disque. Pour plus d'informations sur les quotas de stockage du répertoire `tmp`, consultez [Quotas Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).

La version 1.0.135.0 signale également l'utilisation du descripteur de fichier (`fd_use` et `fd_max`) en tant que valeur maximale entre les processus plutôt que de générer des rapports au niveau du système d'exploitation. 


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:2`  | 

## 1,0119,0
<a name="Lambda-Insights-extension-ARM-1.0.119.0"></a>


| Région | ARN | 
| --- | --- | 
|  USA Est (Virginie du Nord) |  `arn:aws:lambda:us-east-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  USA Est (Ohio) |  `arn:aws:lambda:us-east-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  USA Ouest (Oregon) |  `arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asie-Pacifique (Mumbai) |  `arn:aws:lambda:ap-south-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asie-Pacifique (Singapour) |  `arn:aws:lambda:ap-southeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asie-Pacifique (Sydney) |  `arn:aws:lambda:ap-southeast-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Asie-Pacifique (Tokyo) |  `arn:aws:lambda:ap-northeast-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Europe (Francfort) |  `arn:aws:lambda:eu-central-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Europe (Irlande) |  `arn:aws:lambda:eu-west-1:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 
|  Europe (Londres) |  `arn:aws:lambda:eu-west-2:580247275435:layer:LambdaInsightsExtension-Arm64:1`  | 

# Utilisation de la console pour activer Lambda Insights sur une fonction Lambda existante
<a name="Lambda-Insights-Getting-Started-console"></a>

 Effectuez les étapes suivantes dans la console Lambda afin d'activer Lambda Insights sur une fonction Lambda existante. 

**Pour activer Lambda Insights sur une fonction Lambda**

1. Ouvrez la AWS Lambda console à l'adresse [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1.  Choisissez le nom d'une fonction, puis sélectionnez l'onglet **Configuration** sur l'écran suivant. 

1.  Sous l’onglet **Configuration**, sélectionnez **Outils de surveillance et d’opérations** dans le menu de navigation de gauche, puis sélectionnez **Modifier**. 

    Vous êtes redirigé vers un écran où vous pouvez modifier les outils de surveillance. 

1. Sous **Surveillance améliorée Lambda Insights**, sélectionnez **Modifier**.

1. **Sous **CloudWatch Lambda Insights,** activez la **surveillance améliorée**, puis choisissez Enregistrer.** 

# Utilisez le AWS CLI pour activer Lambda Insights sur une fonction Lambda existante
<a name="Lambda-Insights-Getting-Started-cli"></a>

Procédez comme suit pour utiliser Lambda Insights AWS CLI pour activer Lambda Insights sur une fonction Lambda existante.

**Étape 1 : mise à jour des autorisations de fonction**

**Pour mettre à jour des autorisations de fonction**
+ Associez la politique IAM **CloudWatchLambdaInsightsExecutionRolePolicy**gérée au rôle d'exécution de la fonction en saisissant la commande suivante. 

  ```
  aws iam attach-role-policy \
  --role-name function-execution-role \
  --policy-arn "arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy"
  ```

**Étape 2 : installation de l'extension Lambda**

Installez l'extension Lambda en saisissant la commande suivante. Remplacez la valeur ARN pour le paramètre `layers` avec l'ARN qui correspond à votre région et à la version d'extension que vous souhaitez utiliser. Pour de plus amples informations, veuillez consulter [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

```
aws lambda update-function-configuration \
   --function-name function-name \
   --layers "arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14"
```

**Étape 3 : activer le point de CloudWatch terminaison VPC Logs**

Cette étape n'est nécessaire que pour les fonctions exécutées dans un sous-réseau privé sans accès à Internet, et si vous n'avez pas encore configuré de point de terminaison VPC (Virtual Private Cloud) CloudWatch Logs.

Si vous devez effectuer cette étape, saisissez la commande suivante en remplaçant les espaces réservés par des informations pour votre VPC.

Pour plus d'informations, consultez la section [Utilisation CloudWatch des journaux avec les points de terminaison VPC de l'interface](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html).

```
aws ec2 create-vpc-endpoint \
--vpc-id vpcId \
--vpc-endpoint-type Interface \
--service-name com.amazonaws.region.logs \
--subnet-id subnetId 
--security-group-id securitygroupId
```

# Utiliser la AWS SAM CLI pour activer Lambda Insights sur une fonction Lambda existante
<a name="Lambda-Insights-Getting-Started-SAM-CLI"></a>

Procédez comme suit pour utiliser Lambda Insights AWS SAM AWS CLI pour activer Lambda Insights sur une fonction Lambda existante.

Si la dernière version de la AWS SAM CLI n'est pas encore installée, vous devez d'abord l'installer ou la mettre à niveau. Pour plus d'informations, consultez la section [Installation de la AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html).

**Étape 1 : installation de la couche**

Pour rendre l'extension Lambda Insights disponible pour toutes vos fonctions Lambda, ajoutez une propriété `Layers` à la section `Globals` de votre modèle SAM avec l'ARN de la couche Lambda Insights. L'exemple ci-dessous utilise la couche pour la version initiale de Lambda Insights. Pour obtenir la dernière version de la couche d'extension Lambda Insights, consultez [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

```
Globals:
  Function:
    Layers:
      - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

Pour activer cette couche pour une seule fonction, ajoutez la propriété `Layers` à la fonction, comme illustré dans cet exemple.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

**Étape 2 : ajout de la politique gérée**

Pour chaque fonction, ajoutez la politique **CloudWatchLambdaInsightsExecutionRolePolicy**IAM.

AWS SAM ne prend pas en charge les politiques globales, vous devez donc les activer individuellement pour chaque fonction, comme indiqué dans cet exemple. Pour plus d'informations sur les variables globales, consultez [Section Globals](https://github.com/aws/serverless-application-model/blob/master/docs/globals.rst). 

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Policies:
        - CloudWatchLambdaInsightsExecutionRolePolicy
```

**Appel local**

La AWS SAM CLI prend en charge les extensions Lambda. Cependant, chaque invocation exécutée localement réinitialise l'environnement d'exécution. Les données Lambda Insights ne seront pas disponibles à partir d'invocations locales, car le runtime est redémarré sans événement d'arrêt. Pour plus d'informations, voir [Version 1.6.0 - Ajout de la prise en charge des tests locaux des AWS Lambda extensions](https://github.com/aws/aws-sam-cli/releases/tag/v1.6.0).

**Résolution des problèmes**

Pour dépanner votre installation Lambda Insights, ajoutez la variable d'environnement suivante à votre fonction Lambda afin d'activer la journalisation du débogage.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          LAMBDA_INSIGHTS_LOG_LEVEL: info
```

# CloudFormation À utiliser pour activer Lambda Insights sur une fonction Lambda existante
<a name="Lambda-Insights-Getting-Started-cloudformation"></a>

Suivez ces étapes CloudFormation pour activer Lambda Insights sur une fonction Lambda existante.

**Étape 1 : installation de la couche**

Ajoutez la couche Lambda Insights à la propriété `Layers` dans l'ARN de couche Lambda Insights. L'exemple ci-dessous utilise la couche pour la version initiale de Lambda Insights. Pour obtenir la dernière version de la couche d'extension Lambda Insights, consultez [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

```
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:580247275435:layer:LambdaInsightsExtension:14"
```

**Étape 2 : ajout de la politique gérée**

Ajoutez la politique **CloudWatchLambdaInsightsExecutionRolePolicy**IAM à votre rôle d'exécution de fonction.

```
Resources:
  MyFunctionExecutionRole:
    Type: 'AWS::IAM::Role'
    Properties:
      ManagedPolicyArns:
        - 'arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy'
```

**Étape 3 : (facultatif) ajout d'un point de terminaison d'un VPC**

Cette étape n'est nécessaire que pour les fonctions exécutées dans un sous-réseau privé sans accès à Internet, et si vous n'avez pas encore configuré de point de terminaison VPC (Virtual Private Cloud) CloudWatch Logs. Pour plus d'informations, consultez la section [Utilisation CloudWatch des journaux avec les points de terminaison VPC de l'interface](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html).

```
Resources:
  CloudWatchLogsVpcPrivateEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      PrivateDnsEnabled: 'true'
      VpcEndpointType: Interface
      VpcId: !Ref: VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.logs
      SecurityGroupIds:
        - !Ref InterfaceVpcEndpointSecurityGroup
      SubnetIds:
        - !Ref PublicSubnet01
        - !Ref PublicSubnet02
        - !Ref PublicSubnet03
```

# Utilisez le AWS CDK pour activer Lambda Insights sur une fonction Lambda existante
<a name="Lambda-Insights-Getting-Started-clouddevelopmentkit"></a>

Procédez comme suit pour utiliser Lambda Insights AWS CDK pour activer Lambda Insights sur une fonction Lambda existante. Pour suivre ces étapes, vous devez déjà utiliser le AWS CDK pour gérer vos ressources.

Les commandes de cette section sont disponibles TypeScript.

Tout d'abord, mettez à jour les autorisations de fonction.

```
executionRole.addManagedPolicy(
 ManagedPolicy.fromAwsManagedPolicyName('CloudWatchLambdaInsightsExecutionRolePolicy')
);
```

Ensuite, installez l'extension sur la fonction Lambda. Remplacez la valeur ARN pour le paramètre `layerArn` avec l'ARN qui correspond à votre région et à la version d'extension que vous souhaitez utiliser. Pour de plus amples informations, veuillez consulter [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

```
import lambda = require('@aws-cdk/aws-lambda');
const layerArn = 'arn:aws:lambda:us-west-1:580247275435:layer:LambdaInsightsExtension:14';
const layer = lambda.LayerVersion.fromLayerVersionArn(this, 'LayerFromArn', layerArn);
```

Si nécessaire, activez le point de terminaison du cloud privé virtuel (VPC) pour les CloudWatch journaux. Cette étape n'est nécessaire que pour les fonctions exécutées dans un sous-réseau privé sans accès à Internet, et si vous n'avez pas encore configuré de point de terminaison CloudWatch Logs VPC.

```
const cloudWatchLogsEndpoint = vpc.addInterfaceEndpoint('cwl-gateway', {
  service: InterfaceVpcEndpointAwsService.CLOUDWATCH_LOGS,
});

cloudWatchLogsEndpoint.connections.allowDefaultPortFromAnyIpv4();
```

# Utiliser le cadre sans serveur pour activer Lambda Insights sur une fonction Lambda existante
<a name="Lambda-Insights-Getting-Started-serverless"></a>

Suivez ces étapes pour utiliser l'infrastructure sans serveur et activer Lambda Insights sur une fonction Lambda existante. Pour plus d'informations sur l'infrastructure sans serveur, consultez [serverless.com](https://www.serverless.com/).

Pour ce faire, un plugin Lambda Insights pour infrastructure sans serveur est nécessaire. Pour de plus amples informations, veuillez consulter [serverless-plugin-lambda-insights](https://www.npmjs.com/package/serverless-plugin-lambda-insights).

Si la dernière version de l'interface de ligne de commande sans serveur n'est pas déjà installée, vous devez d'abord l'installer ou la mettre à niveau. Pour plus d'informations, voir [Commencer avec Serverless Framework Open Source & AWS](https://www.serverless.com/framework/docs/getting-started/).

**Pour utiliser l'infrastructure sans serveur et activer Lambda Insights sur une fonction Lambda**

1. Installez le plugin sans serveur pour Lambda Insights en exécutant la commande suivante dans votre répertoire sans serveur :

   ```
   npm install --save-dev serverless-plugin-lambda-insights
   ```

1. Dans votre fichier `serverless.yml`, ajoutez le plugin dans la section `plugins` comme indiqué :

   ```
   provider:
     name: aws
   plugins:
     - serverless-plugin-lambda-insights
   ```

1. Activez Lambda Insights.
   + Vous pouvez activer Lambda Insights individuellement par fonction en ajoutant la propriété suivante au fichier serverless.yml.

     ```
     functions:
       myLambdaFunction:
         handler: src/app/index.handler
         lambdaInsights: true #enables Lambda Insights for this function
     ```
   + Vous pouvez activer Lambda Insights pour toutes les fonctions du fichier `serverless.yml` en ajoutant la section personnalisée suivante :

     ```
     custom:
       lambdaInsights:
         defaultLambdaInsights: true #enables Lambda Insights for all functions
     ```

1. Redéployez le service sans serveur en saisissant la commande suivante :

   ```
   serverless deploy
   ```

   Toutes les fonctions sont redéployées et Lambda Insights est activé pour les fonctions que vous avez spécifiées. Cette commande active Lambda Insights en ajoutant la couche Lambda Insights et en attachant les autorisations nécessaires à l'aide de la stratégie IAM `arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy`.

# Activer Lambda Insights sur un déploiement d’image de conteneur Lambda
<a name="Lambda-Insights-Getting-Started-docker"></a>

Pour activer Lambda Insights sur une fonction Lambda déployée en tant qu'image de conteneur, ajoutez des lignes dans votre Dockerfile. Ces lignes installent l'agent Lambda Insights comme une extension dans votre image de conteneur. Les lignes à ajouter sont différentes pour les conteneurs x86-64 et les conteneurs. ARM64 

**Note**  
L’agent Lambda Insights est pris en charge uniquement sur les exécutions Lambda qui utilisent Amazon Linux 2 et Amazon Linux 2023.

**Topics**
+ [Déploiement d'images de conteneur x86-64](#Lambda-Insights-Getting-Started-docker-x86-64)
+ [ARM64 déploiement d'images de conteneurs](#Lambda-Insights-Getting-Started-docker-ARM64)

## Déploiement d'images de conteneur x86-64
<a name="Lambda-Insights-Getting-Started-docker-x86-64"></a>

Pour activer Lambda Insights sur une fonction Lambda déployée en tant qu'image de conteneur exécutée sur un conteneur x86-64, ajoutez les lignes suivantes dans votre Dockerfile. Ces lignes installent l'agent Lambda Insights comme une extension dans votre image de conteneur.

```
RUN curl -O https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm && \
    rpm -U lambda-insights-extension.rpm && \
    rm -f lambda-insights-extension.rpm
```

Après avoir créé votre fonction Lambda, attribuez la politique **CloudWatchLambdaInsightsExecutionRolePolicy**IAM au rôle d'exécution de la fonction, et Lambda Insights est activé sur la fonction Lambda basée sur l'image du conteneur.

**Note**  
Pour utiliser une ancienne version de l'extension Lambda Insights, remplacez l'URL des commandes précédentes par cette URL : `https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.1.0.111.0.rpm`. Pour de plus amples informations, veuillez consulter [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

**Pour vérifier la signature du package d'agent Lambda Insights sur un serveur Linux**

1. Saisissez la commande suivante pour télécharger la clé publique.

   ```
   shell$ wget https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/lambda-insights-extension.gpg
   ```

1. Saisissez la commande suivante pour importer la clé publique dans votre porte-clés.

   ```
   shell$ gpg --import lambda-insights-extension.gpg
   ```

   La sortie est similaire à ce qui suit. Notez la valeur `key`, car vous en aurez besoin lors de l'étape suivante. Dans cet exemple de sortie, la valeur clé est `848ABDC8`.

   ```
   gpg: key 848ABDC8: public key "Amazon Lambda Insights Extension" imported
   gpg: Total number processed: 1
   gpg: imported: 1  (RSA: 1)
   ```

1. Vérifiez l'empreinte digitale en saisissant la commande suivante. Remplacez `key-value` avec la valeur de la clé de l'étape précédente.

   ```
   shell$  gpg --fingerprint key-value
   ```

   La chaîne d'empreinte digitale dans la sortie de cette commande doit être équivalente à `E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8`. Si la chaîne ne correspond pas, n'installez pas l'agent et contactez AWS.

1. Après avoir vérifié l'empreinte digitale, vous pouvez l'utiliser pour vérifier le package d'agent Lambda Insights. Téléchargez le fichier signature de package en saisissant la commande suivante.

   ```
   shell$  wget https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm.sig
   ```

1. Vérifiez la signature en saisissant la commande suivante.

   ```
   shell$ gpg --verify lambda-insights-extension.rpm.sig lambda-insights-extension.rpm
   ```

   Le résultat doit ressembler à ce qui suit :

   ```
   gpg: Signature made Thu 08 Apr 2021 06:41:00 PM UTC using RSA key ID 848ABDC8
   gpg: Good signature from "Amazon Lambda Insights Extension"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: E0AF FA11 FFF3 5BD7 349E  E222 479C 97A1 848A BDC8
   ```

   La sortie attendue peut être composée d'un avertissement concernant une signature approuvée. Une clé est uniquement approuvée si vous ou une personne de confiance l'a signée. Cela ne signifie pas que la signature n'est pas valide, mais seulement que vous n'avez pas vérifié la clé publique.

   Si la sortie contient `BAD signature`, vérifiez si vous avez effectué les étapes correctement. Si vous recevez toujours une `BAD signature` réponse, contactez le fichier téléchargé AWS et évitez de l'utiliser.

### Exemple x86-64
<a name="Lambda-Insights-Getting-Started-docker-example"></a>

Cette section inclut un exemple d'activation de Lambda Insights sur une fonction Python Lambda basée sur une image de conteneur.

**Exemple d'activation de Lambda Insights sur une image de conteneur Lambda**

1. Créez un fichier Dockerfile semblable à ce qui suit :

   ```
   FROM public.ecr.aws/lambda/python:3.8
   
   // extra lines to install the agent here
   RUN curl -O https://lambda-insights-extension.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension.rpm && \
       rpm -U lambda-insights-extension.rpm && \
       rm -f lambda-insights-extension.rpm
     
   COPY index.py ${LAMBDA_TASK_ROOT}
   CMD [ "index.handler" ]
   ```

1. Créez un fichier Python nommé `index.py`, qui est semblable à ce qui suit :

   ```
   def handler(event, context):
     return {
       'message': 'Hello World!'
     }
   ```

1. Placez le fichier Dockerfile et `index.py` dans le même répertoire. Ensuite, exécutez les étapes suivantes dans ce répertoire pour créer l'image Docker et la télécharger sur Amazon ECR.

   ```
   // create an ECR repository
   aws ecr create-repository --repository-name test-repository
   // build the docker image
   docker build -t test-image .
   // sign in to AWS
   aws ecr get-login-password | docker login --username AWS --password-stdin "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com
   // tag the image
   docker tag test-image:latest "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   // push the image to ECR
   docker push "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   ```

1. Utilisez cette image Amazon ECR que vous venez de créer pour créer la fonction Lambda.

1.  Assignez la politique **CloudWatchLambdaInsightsExecutionRolePolicy**IAM au rôle d'exécution de la fonction.

## ARM64 déploiement d'images de conteneurs
<a name="Lambda-Insights-Getting-Started-docker-ARM64"></a>

Pour activer Lambda Insights sur une fonction Lambda déployée sous forme d'image de conteneur exécutée sur un conteneur AL2 \$1aarch64 (qui utilise une ARM64 architecture), ajoutez les lignes suivantes dans votre Dockerfile. Ces lignes installent l'agent Lambda Insights comme une extension dans votre image de conteneur.

```
RUN curl -O https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm && \
    rpm -U lambda-insights-extension-arm64.rpm && \
    rm -f lambda-insights-extension-arm64.rpm
```

Après avoir créé votre fonction Lambda, attribuez la politique **CloudWatchLambdaInsightsExecutionRolePolicy**IAM au rôle d'exécution de la fonction, et Lambda Insights est activé sur la fonction Lambda basée sur l'image du conteneur.

**Note**  
Pour utiliser une ancienne version de l'extension Lambda Insights, remplacez l'URL des commandes précédentes par cette URL : `https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.1.0.229.0.rpm`. Pour de plus amples informations, veuillez consulter [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

**Pour vérifier la signature du package d'agent Lambda Insights sur un serveur Linux**

1. Saisissez la commande suivante pour télécharger la clé publique.

   ```
   shell$ wget https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/lambda-insights-extension.gpg
   ```

1. Saisissez la commande suivante pour importer la clé publique dans votre porte-clés.

   ```
   shell$ gpg --import lambda-insights-extension.gpg
   ```

   La sortie est similaire à ce qui suit. Notez la valeur `key`, car vous en aurez besoin lors de l'étape suivante. Dans cet exemple de sortie, la valeur clé est `848ABDC8`.

   ```
   gpg: key 848ABDC8: public key "Amazon Lambda Insights Extension" imported
   gpg: Total number processed: 1
   gpg: imported: 1  (RSA: 1)
   ```

1. Vérifiez l'empreinte digitale en saisissant la commande suivante. Remplacez `key-value` avec la valeur de la clé de l'étape précédente.

   ```
   shell$  gpg --fingerprint key-value
   ```

   La chaîne d'empreinte digitale dans la sortie de cette commande doit être équivalente à `E0AF FA11 FFF3 5BD7 349E E222 479C 97A1 848A BDC8`. Si la chaîne ne correspond pas, n'installez pas l'agent et contactez AWS.

1. Après avoir vérifié l'empreinte digitale, vous pouvez l'utiliser pour vérifier le package d'agent Lambda Insights. Téléchargez le fichier signature de package en saisissant la commande suivante.

   ```
   shell$  wget https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm.sig
   ```

1. Vérifiez la signature en saisissant la commande suivante.

   ```
   shell$ gpg --verify lambda-insights-extension-arm64.rpm.sig lambda-insights-extension-arm64.rpm
   ```

   Le résultat doit ressembler à ce qui suit :

   ```
   gpg: Signature made Thu 08 Apr 2021 06:41:00 PM UTC using RSA key ID 848ABDC8
   gpg: Good signature from "Amazon Lambda Insights Extension"
   gpg: WARNING: This key is not certified with a trusted signature!
   gpg:          There is no indication that the signature belongs to the owner.
   Primary key fingerprint: E0AF FA11 FFF3 5BD7 349E  E222 479C 97A1 848A BDC8
   ```

   La sortie attendue peut être composée d'un avertissement concernant une signature approuvée. Une clé est uniquement approuvée si vous ou une personne de confiance l'a signée. Cela ne signifie pas que la signature n'est pas valide, mais seulement que vous n'avez pas vérifié la clé publique.

   Si la sortie contient `BAD signature`, vérifiez si vous avez effectué les étapes correctement. Si vous recevez toujours une `BAD signature` réponse, contactez le fichier téléchargé AWS et évitez de l'utiliser.

### ARM64 Exemple
<a name="Lambda-Insights-Getting-Started-docker-example-ARM64"></a>

Cette section inclut un exemple d'activation de Lambda Insights sur une fonction Python Lambda basée sur une image de conteneur.

**Exemple d'activation de Lambda Insights sur une image de conteneur Lambda**

1. Créez un fichier Dockerfile semblable à ce qui suit :

   ```
   FROM public.ecr.aws/lambda/python:3.8
   // extra lines to install the agent here
   RUN curl -O https://lambda-insights-extension-arm64.s3-ap-northeast-1.amazonaws.com/amazon_linux/lambda-insights-extension-arm64.rpm && \
       rpm -U lambda-insights-extension-arm64.rpm && \
       rm -f lambda-insights-extension-arm64.rpm
     
   COPY index.py ${LAMBDA_TASK_ROOT}
   CMD [ "index.handler" ]
   ```

1. Créez un fichier Python nommé `index.py`, qui est semblable à ce qui suit :

   ```
   def handler(event, context):
     return {
       'message': 'Hello World!'
     }
   ```

1. Placez le fichier Dockerfile et `index.py` dans le même répertoire. Ensuite, exécutez les étapes suivantes dans ce répertoire pour créer l'image Docker et la télécharger sur Amazon ECR.

   ```
   // create an ECR repository
   aws ecr create-repository --repository-name test-repository
   // build the docker image
   docker build -t test-image .
   // sign in to AWS
   aws ecr get-login-password | docker login --username AWS --password-stdin "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com
   // tag the image
   docker tag test-image:latest "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   // push the image to ECR
   docker push "${ACCOUNT_ID}".dkr.ecr."${REGION}".amazonaws.com/test-repository:latest
   ```

1. Utilisez cette image Amazon ECR que vous venez de créer pour créer la fonction Lambda.

1.  Assignez la politique **CloudWatchLambdaInsightsExecutionRolePolicy**IAM au rôle d'exécution de la fonction.

# Mettre à jour la gestion des versions de l’extension Lambda Insights sur une fonction
<a name="Lambda-Insights-Update-Extension"></a>

En tant que bonne pratique, nous vous recommandons de maintenir votre extension Lambda Insights à jour avec la dernière version. Les rubriques de cette page expliquent comment procéder.

**Note**  
Cette page explique comment mettre à jour la version de l’extension utilisée par une fonction qui utilise déjà Lambda Insights. Pour plus d’informations sur la façon de démarrer avec Lambda Insights, consultez [Démarrer avec Lambda Insights](Lambda-Insights-Getting-Started.md).

## Utiliser la console Lambda pour mettre à jour la version de l’extension Lambda Insights
<a name="Lambda-Insights-Update-Extension-console"></a>

Suivez les étapes suivantes pour utiliser la console Lambda afin de mettre à jour la version de l’extension Lambda Insights.

**Pour mettre à jour à l’aide de la console Lambda**

1. Ouvrez la AWS Lambda console à l'adresse [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Choisissez le nom de votre fonction .

1. Dans la section **Couches**, sélectionnez **Modifier**.

1. Dans la liste des couches, recherchez **LambdaInsightsExtension**puis remplacez la version de la couche par la dernière version répertoriée dans[Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

1. Choisissez **Enregistrer**.

## Utilisez le AWS CLI pour mettre à jour la version de l'extension Lambda Insights
<a name="Lambda-Insights-Update-Extension-CLI"></a>

Pour utiliser le AWS CLI pour mettre à jour la version de l'extension Lambda Insights, entrez la commande suivante. Remplacez la valeur ARN pour le paramètre layers avec l’ARN qui correspond à votre région et à la version d’extension que vous souhaitez utiliser. Pour plus d’informations sur la dernière version publiée de la couche d’extension Lambda Insights, consultez [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

```
aws lambda update-function-configuration \
--function-name function-name \
--layers "arn:aws:lambda:us-west-1:111122223333:layer:LambdaInsightsExtension:53"
```

## Utilisez la AWS SAM CLI pour mettre à jour l'extension Lambda Insights sur une ou plusieurs fonctions
<a name="Lambda-Insights-Update-Extension-SAM-CLI"></a>

Pour mettre à jour la version de l'extension Lambda Insights pour toutes vos fonctions Lambda, mettez à jour la `Layers` propriété dans la `Globals` section de votre modèle d'application AWS sans serveur (SAM) avec l'ARN de la couche Lambda Insights. Pour plus d’informations sur la dernière version publiée de la couche d’extension Lambda Insights, consultez [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

Ce qui suit met à jour toutes vos fonctions Lambda.

```
Globals:
  Function:
    Layers:
       - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

Ce qui suit ne met à jour qu’une seule fonction.

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

## CloudFormation À utiliser pour mettre à jour l'extension Lambda Insights sur une ou plusieurs fonctions
<a name="Lambda-Insights-Update-Extension-CloudFormation"></a>

Pour mettre à jour la version de l'extension Lambda Insights en utilisant CloudFormation, mettez à jour la couche d'extension dans la `Layers` propriété au sein de la CloudFormation ressource de la fonction, comme dans l'exemple suivant. Pour plus d’informations sur la dernière version publiée de la couche d’extension Lambda Insights, consultez [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

```
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Layers:
        - !Sub "arn:aws:lambda:${AWS::Region}:111122223333:layer:LambdaInsightsExtension:53"
```

## Utilisez le AWS CDK pour mettre à jour l'extension Lambda Insights sur une ou plusieurs fonctions
<a name="Lambda-Insights-Update-Extension-CDK"></a>

Vous pouvez mettre à jour la version de l’extension sur la fonction Lambda en remplaçant la valeur ARN du paramètre `layerArn` par l’ARN correspondant à votre région et à la version de l’extension que vous voulez utiliser. Pour plus d’informations sur la dernière version publiée de la couche d’extension Lambda Insights, consultez [Versions disponibles de l'extension Lambda Insights](Lambda-Insights-extension-versions.md).

```
import lambda = require('@aws-cdk/aws-lambda'); 
const layerArn = 'arn:aws:lambda:us-west-1:111122223333:layer:LambdaInsightsExtension:53'; 
const layer = lambda.LayerVersion.fromLayerVersionArn(this, 'LayerFromArn', layerArn);
```

## Utiliser le cadre sans serveur pour mettre à jour l’extension Lambda Insights sur une ou plusieurs fonctions
<a name="Lambda-Insights-Update-Extension-Serverless"></a>

Suivez ces étapes pour utiliser le cadre sans serveur afin de mettre à jour la version de l’extension Lambda Insights sur une fonction Lambda existante. Pour plus d’informations sur le cadre sans serveur, consultez la [Documentation du cadre sans serveur](https://serverless.com).

Cette méthode utilise un plug-in Lambda Insights pour le Sans serveur. Pour de plus amples informations, veuillez consulter [serverless-plugin-lambda-insights](https://www.npmjs.com/package/serverless-plugin-lambda-insights).

Si la dernière version de l’interface de ligne de commande sans serveur n’est pas déjà installée, vous devez d’abord l’installer ou la mettre à niveau. Pour plus d’informations, consultez [Configuration du cadre sans serveur avec AWS](https://www.serverless.com/framework/docs/getting-started/).

**Pour mettre à jour à l’aide de la console Lambda**

1. Mettez à jour Lambda Insights. Si vous ne l’avez pas encore fait, ajoutez une section `custom` à la fin du fichier et spécifiez la version de Lambda Insights à l’intérieur d’une propriété `lambdaInsightsVersion`.

   ```
   custom:
       lambdaInsights:
           lambdaInsightsVersion: 53 #specify the Layer Version
   ```

1. Redéployez le service sans serveur en saisissant la commande suivante.

   ```
   serverless deploy
   ```

## Mettre à jour la version de l’extension Lambda Insights sur un déploiement d’image de conteneur Lambda
<a name="Lambda-Insights-Update-Extension-container"></a>

Pour mettre à jour Lambda Insights sur une image de conteneur Lambda, suivez les étapes indiquées dans [Activer Lambda Insights sur un déploiement d’image de conteneur Lambda](Lambda-Insights-Getting-Started-docker.md) pour reconstruire l’image avec la dernière version de Lambda Insights. Utilisez ensuite le AWS CLI pour [mettre à jour le code de fonction](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html) et fournir une URI d'image de conteneur comme valeur du `--image-uri` paramètre.

# Affichage de vos métriques Lambda Insights
<a name="Lambda-Insights-view-metrics"></a>

Après avoir installé l'extension Lambda Insights sur une fonction Lambda qui a été invoquée, vous pouvez utiliser la CloudWatch console pour consulter vos métriques. Vous pouvez bénéficier d'une vue d'ensemble multifonctions, ou vous concentrer sur une seule fonction. Vous pouvez également consulter les métriques des fonctions Lambda exécutées sur des instances gérées.

Pour obtenir la liste des métriques Lambda Insights, consultez [Métriques collectées par Lambda Insights](Lambda-Insights-metrics.md).

**Pour consulter la vue d'ensemble multifonctions de vos métriques Lambda Insights**

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

1. Dans le volet de navigation de gauche, sélectionnez **Insights**, **Lambda Insights**.

1. **Dans le menu déroulant de la **vue Lambda Insights** en haut de la page, sélectionnez Functions.**

1. Choisissez **Multifonctions**.

   La partie supérieure de la page affiche des graphiques contenant des métriques agrégées de toutes vos fonctions Lambda dans la région pour lesquelles Lambda Insights est activé. Un tableau répertoriant les fonctions est repris plus bas sur la page.

1. Pour filtrer par nom de fonction et réduire le nombre de fonctions affichées, saisissez une partie du nom de la fonction dans la zone de texte située en haut de la page.

1. Pour ajouter cette vue à un tableau de bord en tant que widget, choisissez **Add to dashboard** (Ajouter au tableau de bord).

**Pour afficher les métriques d'une fonction unique**

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

1. Dans le volet de navigation de gauche, sélectionnez **Insights**, **Lambda Insights**.

1. **Dans le menu déroulant de la **vue Lambda Insights** en haut de la page, sélectionnez Functions.**

1. Choisissez **Fonction unique**.

   La partie supérieure de la page affiche des graphiques contenant des métriques pour la fonction sélectionnée.

1. Si vous avez activé la fonction X-Ray, vous pouvez sélectionner un seul ID de suivi. Cette action ouvre la page de la carte de suivi X-Ray pour cette invocation. De là, vous pouvez faire un zoom arrière pour voir le suivi distribué et les autres services impliqués dans le traitement de cette transaction spécifique. Pour plus d’informations sur la carte de suivi X-Ray, veuillez consulter la rubrique [Using the X-Ray Trace Map](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-servicemap.html). 

1. Pour ouvrir CloudWatch Logs Insights et zoomer sur une erreur spécifique, choisissez **Afficher les journaux** dans le tableau au bas de la page.

1. Pour ajouter cette vue à un tableau de bord en tant que widget, choisissez **Add to dashboard** (Ajouter au tableau de bord).

**Pour afficher les métriques des fonctions Lambda exécutées sur des instances gérées**

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

1. Dans le volet de navigation de gauche, sélectionnez **Insights**, **Lambda Insights**.

1. Dans le menu déroulant de la **vue Lambda Insights** en haut de la page, sélectionnez **Managed** Instances Functions.

   La page affiche la vue Instances gérées avec des métriques pour vos fonctions Lambda exécutées sur des instances gérées.

1. Dans la section **Vues**, sélectionnez un niveau de granularité pour afficher vos statistiques :
   + **Fournisseur de capacité** : affiche les statistiques agrégées au niveau du fournisseur de capacité.
   + **Type d'instance** : affiche les métriques agrégées au niveau du type d'instance.
   + **Fonction** : affiche les métriques au niveau de chaque fonction. La partie supérieure de la page affiche des graphiques avec des statistiques agrégées de toutes vos fonctions Lambda dans la région dans laquelle Lambda Insights est activé. Un tableau répertoriant les fonctions est repris plus bas sur la page. Pour filtrer par nom de fonction, saisissez une partie du nom de la fonction dans la zone située en haut de la page.

1. Utilisez la section **Filtres** pour filtrer par fournisseur de capacité, type d'instance ou fonction.

1. Pour ajouter cette vue à un tableau de bord en tant que widget, choisissez **Add to dashboard** (Ajouter au tableau de bord).

# Intégration à Application Insights
<a name="lambda-insights-appinsights"></a>

Amazon CloudWatch Application Insights vous aide à surveiller vos applications, à identifier et à configurer les indicateurs clés, les journaux et les alarmes pour l'ensemble de vos ressources applicatives et de votre infrastructure technologique. Pour de plus amples informations, veuillez consulter [Détectez les problèmes courants liés aux applications grâce à CloudWatch Application Insights](cloudwatch-application-insights.md).

Vous pouvez activer Application Insights pour recueillir des données supplémentaires à partir de vos fonctions Lambda. Si vous ne l'avez pas déjà fait, vous pouvez l'activer en sélectionnant **Auto-configure Application Insights** (Configuration automatique d'Application Insights) dans l'onglet **Application Insights**, sous la vue des performances dans le tableau de bord Lambda Insights.

**Si vous avez déjà configuré CloudWatch Application Insights pour surveiller vos fonctions Lambda, le tableau de bord Application Insights apparaît sous le tableau de bord Lambda Insights, dans l'onglet Application Insights.**

# Métriques collectées par Lambda Insights
<a name="Lambda-Insights-metrics"></a>

Lambda Insights collecte plusieurs métriques à partir des fonctions Lambda où il est installé. Certaines de ces mesures sont disponibles sous forme de données agrégées de séries chronologiques dans CloudWatch Metrics. Les autres mesures ne sont pas agrégées sous forme de séries chronologiques, mais peuvent être trouvées dans les entrées de journal au format métrique intégré à l'aide de CloudWatch Logs Insights.

**Topics**
+ [Fonctions Lambda](Lambda-Insights-metrics-lambda-functions.md)
+ [Fonctions Lambda des instances gérées](Lambda-Insights-metrics-managed-instances.md)

# Fonctions Lambda
<a name="Lambda-Insights-metrics-lambda-functions"></a>

Les métriques suivantes sont disponibles sous forme de données agrégées de séries chronologiques dans CloudWatch Metrics in the `LambdaInsights` namespace pour les fonctions Lambda standard.


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `cpu_total_time` |  function\$1name function\$1name, version  |  Somme de `cpu_system_time` et `cpu_user_time`. Unité : millisecondes  | 
|  `init_duration` |  function\$1name function\$1name, version  |  Temps consacré à la phase `init` du cycle de vie de l'environnement d'exécution Lambda. Unité : millisecondes  | 
|  `memory_utilization` |  function\$1name function\$1name, version  |  Mémoire maximale mesurée en pourcentage de la mémoire allouée à la fonction. Unité : pourcentage  | 
|  `used_memory_max` |  function\$1name function\$1name, version  |  Mémoire mesurée de l'environnement d'exécution de la fonction. Unité : mégaoctets  | 
|  `rx_bytes` |  function\$1name function\$1name, version  |  Nombre d'octets reçus par la fonction. Unité : octets  | 
|  `tmp_free` |  function\$1name function\$1name, version  |  Quantité d'espace disponible dans le répertoire `/tmp`. Unité : octets  | 
|  `tmp_used` |  function\$1name function\$1name, version  |  Quantité d'espace utilisée dans le répertoire `/tmp`. Unité : octets  | 
|  `tx_bytes` |  function\$1name function\$1name, version  |  Nombre d'octets envoyés par la fonction. Unité : octets  | 
|  `total_memory` |  function\$1name function\$1name, version  |  Quantité de mémoire allouée à votre fonction Lambda. Elle équivaut à la taille de la mémoire de votre fonction. Unité : mégaoctets  | 
|  `total_network` |  function\$1name function\$1name, version  |  Somme de `rx_bytes` et `tx_bytes`. Même pour les fonctions qui n'exécutent pas de I/O tâches, cette valeur est généralement supérieure à zéro en raison des appels réseau effectués par le moteur d'exécution Lambda. Unité : octets  | 
|  `used_memory_max` |  function\$1name function\$1name, version  |  Mémoire mesurée de l'environnement de test de la fonction. Unité : mégaoctets  | 

Les métriques suivantes peuvent être trouvées dans les entrées de journal au format métrique intégré à l'aide de CloudWatch Logs Insights. Pour plus d'informations sur CloudWatch Logs Insights, consultez [Analyser les données des CloudWatch journaux avec Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

Pour plus d'informations sur le format de métrique intégrée, consultez [Intégration de métriques dans les journaux](CloudWatch_Embedded_Metric_Format.md).


| Nom des métriques | Description | 
| --- | --- | 
|  `agent_version` |  Version actuelle de l'agent d'extension Lambda Insights exécuté sur la fonction Lambda. Unité : String  | 
|  `cpu_user_time` |  Temps passé par le CPU à exécuter le code utilisateur. Unité : millisecondes  | 
|  `cpu_system_time` |  Temps passé par le CPU à exécuter le code du noyau. Unité : millisecondes  | 
|  `cpu_total_time` |  Somme de `cpu_system_time` et `cpu_user_time`. Unité : millisecondes  | 
|  `fd_use` |  Descripteurs de fichiers actuellement utilisés. Unité : nombre  | 
|  `fd_max` |  Nombre maximum de descripteurs de fichiers pouvant être utilisés. Unité : nombre  | 
|  `version` |  Version de la fonction Lambda pour laquelle les autres métriques ont été collectées. Unité : nombre  | 
|  `agent_memory_max` |  Mémoire maximale consommée par l'agent d'extension Lambda Insights. Unité : octets  | 
|  `agent_memory_avg` |  Mémoire moyenne consommée par l'agent d'extension Lambda Insights. Unité : octets  | 
|  `memory_utilization` |  Mémoire moyenne mesurée en pourcentage de la mémoire allouée à l'environnement d'exécution. Unité : pourcentage  | 
|  `used_memory_max` |  Mémoire mesurée de l'environnement d'exécution de la fonction. Unité : mégaoctets  | 
|  `rx_bytes` |  Nombre d'octets reçus par la fonction. Unité : octets  | 
|  `tx_bytes` |  Nombre d'octets envoyés par la fonction. Unité : octets  | 
|  `threads_max` |  Nombre de threads en cours d'utilisation dans le processus de la fonction. En tant qu'auteur de fonction, vous ne contrôlez pas le nombre initial de threads créés par le runtime. Unité : nombre  | 
|  `tmp_used` |  Quantité d'espace utilisée dans le répertoire `/tmp`. Unité : octets  | 
|  `tmp_max` |  Quantité d'espace disponible dans le répertoire `/tmp`. Unité : octets  | 
|  `total_memory` |  Quantité de mémoire allouée à votre fonction Lambda. Elle équivaut à la taille de la mémoire de votre fonction. Unité : mégaoctets  | 
|  `total_network` |  Somme de `rx_bytes` et `tx_bytes`. Même pour les fonctions qui n'exécutent pas de I/O tâches, cette valeur est généralement supérieure à zéro en raison des appels réseau effectués par le moteur d'exécution Lambda. Unité : octets  | 

# Fonctions Lambda des instances gérées
<a name="Lambda-Insights-metrics-managed-instances"></a>

Les métriques suivantes sont disponibles sous forme de données agrégées de séries chronologiques dans CloudWatch Metrics in the `LambdaInsights` namespace pour les fonctions Lambda exécutées sur des instances gérées.


| Nom de la métrique | Dimensions | Description | 
| --- | --- | --- | 
|  `cpu_utilization` |  function\$1name function\$1name, version  |  Le processeur moyen mesuré en pourcentage du v CPUs alloué à l'environnement d'exécution. Unité : pourcentage  | 
|  `cpu_utilization_max` |  function\$1name function\$1name, version  |  Le processeur maximal mesuré en pourcentage du v CPUs alloué à l'environnement d'exécution. Ceci est échantillonné à intervalles d'une seconde. Unité : pourcentage  | 
|  `cpu_total_time` |  function\$1name function\$1name, version  |  Somme de `cpu_system_time` et `cpu_user_time`. Unité : millisecondes  | 
|  `memory_utilization` |  function\$1name function\$1name, version  |  Mémoire moyenne mesurée en pourcentage de la mémoire allouée à l'environnement d'exécution. Unité : pourcentage  | 
|  `memory_utilization_max` |  function\$1name function\$1name, version  |  Mémoire maximale mesurée en pourcentage de la mémoire allouée à l'environnement d'exécution. Ceci est échantillonné à des intervalles de 50 ms. Unité : pourcentage  | 
|  `used_memory_max` |  function\$1name function\$1name, version  |  Mémoire mesurée de l'environnement d'exécution de la fonction. Unité : mégaoctets  | 
|  `rx_bytes` |  function\$1name function\$1name, version  |  Nombre d'octets reçus par la fonction. Unité : octets  | 
|  `tmp_free` |  function\$1name function\$1name, version  |  Quantité d'espace disponible dans le répertoire `/tmp`. Unité : octets  | 
|  `tmp_used` |  function\$1name function\$1name, version  |  Quantité d'espace utilisée dans le répertoire `/tmp`. Unité : octets  | 
|  `tx_bytes` |  function\$1name function\$1name, version  |  Nombre d'octets envoyés par la fonction. Unité : octets  | 
|  `total_memory` |  function\$1name function\$1name, version  |  Quantité de mémoire allouée à votre fonction Lambda. Il s'agit de la même taille de mémoire que celle de votre fonction. Unité : mégaoctets  | 
|  `total_network` |  function\$1name function\$1name, version  |  Somme de `rx_bytes` et `tx_bytes`. Même pour les fonctions qui n'exécutent pas de I/O tâches, cette valeur est généralement supérieure à zéro en raison des appels réseau effectués par le moteur d'exécution Lambda. Unité : octets  | 
|  `used_memory_max` |  function\$1name function\$1name, version  |  Mémoire mesurée de l'environnement de test de la fonction. Unité : mégaoctets  | 

Les métriques suivantes peuvent être trouvées dans les entrées de journal au format métrique intégré à l'aide de CloudWatch Logs Insights. Pour plus d'informations sur CloudWatch Logs Insights, consultez [Analyser les données des CloudWatch journaux avec Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

Pour plus d'informations sur le format de métrique intégrée, consultez [Intégration de métriques dans les journaux](CloudWatch_Embedded_Metric_Format.md).


| Nom des métriques | Description | 
| --- | --- | 
|  `lambda_mode` |  Indique si cet événement de journal concerne une fonction exécutée sur des instances gérées par Lambda ou non. Si ce champ est présent dans le journal des événements, il ne peut avoir qu'une seule valeur -`managed-instance`. L'absence de ce champ indique que la fonction était une fonction Lambda normale. Unité : String  | 
|  `agent_version` |  Version actuelle de l'agent d'extension Lambda Insights exécuté sur la fonction Lambda. Unité : String  | 
|  `cpu_utilization` |  Le processeur moyen mesuré en pourcentage du v CPUs alloué à l'environnement d'exécution. Unité : pourcentage  | 
|  `cpu_utilization_max` |  Le processeur maximal mesuré en pourcentage du v CPUs alloué à l'environnement d'exécution. Ceci est échantillonné à intervalles d'une seconde. Unité : pourcentage  | 
|  `cpu_user_time` |  Temps passé par le CPU à exécuter le code utilisateur. Unité : millisecondes  | 
|  `cpu_system_time` |  Temps passé par le CPU à exécuter le code du noyau. Unité : millisecondes  | 
|  `cpu_total_time` |  Somme de `cpu_system_time` et `cpu_user_time`. Unité : millisecondes  | 
|  `fd_use` |  Descripteurs de fichiers actuellement utilisés. Unité : nombre  | 
|  `fd_max` |  Nombre maximum de descripteurs de fichiers pouvant être utilisés. Unité : nombre  | 
|  `execution_environment_init` |  Valeur booléenne indiquant si un nouvel environnement d'exécution a été créé pour cette fonction. Unité : booléen  | 
|  `version` |  Version de la fonction Lambda pour laquelle les autres métriques ont été collectées. Unité : nombre  | 
|  `agent_memory_max` |  Mémoire maximale consommée par l'agent d'extension Lambda Insights. Unité : octets  | 
|  `agent_memory_avg` |  Mémoire moyenne consommée par l'agent d'extension Lambda Insights. Unité : octets  | 
|  `memory_utilization` |  Mémoire moyenne mesurée en pourcentage de la mémoire allouée à l'environnement d'exécution. Unité : pourcentage  | 
|  `memory_utilization_max` |  Mémoire maximale mesurée en pourcentage de la mémoire allouée à l'environnement d'exécution. Ceci est échantillonné à des intervalles de 50 ms. Unité : pourcentage  | 
|  `used_memory_max` |  Mémoire mesurée de l'environnement d'exécution de la fonction. Unité : mégaoctets  | 
|  `rx_bytes` |  Nombre d'octets reçus par la fonction. Unité : octets  | 
|  `tx_bytes` |  Nombre d'octets envoyés par la fonction. Unité : octets  | 
|  `threads_max` |  Nombre de threads en cours d'utilisation dans le processus de la fonction. En tant qu'auteur de fonction, vous ne contrôlez pas le nombre initial de threads créés par le runtime. Unité : nombre  | 
|  `tmp_free` |  Quantité d'espace disponible dans le répertoire `/tmp`. Unité : octets  | 
|  `tmp_used` |  Quantité d'espace utilisée dans le répertoire `/tmp`. Unité : octets  | 
|  `tmp_max` |  Quantité d'espace disponible dans le répertoire `/tmp`. Unité : octets  | 
|  `total_memory` |  Quantité de mémoire allouée à votre fonction Lambda. Il s'agit de la même taille de mémoire que celle de votre fonction. Unité : mégaoctets  | 
|  `total_network` |  Somme de `rx_bytes` et `tx_bytes`. Même pour les fonctions qui n'exécutent pas de I/O tâches, cette valeur est généralement supérieure à zéro en raison des appels réseau effectués par le moteur d'exécution Lambda. Unité : octets  | 

# Résolution des problèmes connus et résolution des problèmes liés à CloudWatch Lambda Insights
<a name="Lambda-Insights-Troubleshooting"></a>

La première étape à privilégier pour résoudre les problèmes consiste à activer la journalisation de débogage sur l'extension Lambda Insights. Pour ce faire, définissez la variable d'environnement suivante sur votre fonction Lambda :`LAMBDA_INSIGHTS_LOG_LEVEL=info`. Pour plus d'informations, consultez [Utilisation des variables d'environnement AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).

L'extension émet des journaux dans le même groupe de journaux que votre fonction (`/aws/lambda/function-name)`. Passez en revue ces journaux pour déterminer si l'erreur peut être liée à un problème de configuration. 

## Je ne vois aucune métrique de Lambda Insights
<a name="Lambda-Insights-Troubleshooting-nometrics"></a>

Si vous ne voyez pas les métriques Lambda Insights que vous vous attendez à voir, vérifiez les possibilités suivantes :
+ **Il se peut que les métriques soient simplement retardées**. Si la fonction n'a pas encore été invoquée ou si les données n'ont pas encore été vidées, vous ne verrez pas les métriques dedans. CloudWatch Pour plus d'informations, consultez **Problèmes connus** plus loin dans cette section.
+ **Vérifiez que la fonction Lambda dispose des autorisations appropriées** : assurez-vous que la politique **CloudWatchLambdaInsightsExecutionRolePolicy**IAM est affectée au rôle d'exécution de la fonction.
+ **Vérifiez le runtime Lambda** — Lambda Insights ne prend en charge que certains runtimes Lambda. Pour obtenir une liste des runtimes pris en charge, consultez [Aperçu Lambda](Lambda-Insights.md).

  Par exemple, pour utiliser Lambda Insights sur Java 8, vous devez utiliser le runtime `java8.al2`, et non le runtime `java8`.
+ **Vérifier l'accès au réseau** : la fonction Lambda se trouve peut-être sur un sous-réseau privé VPC sans accès à Internet et aucun point de terminaison VPC n'est configuré pour les journaux. CloudWatch Pour résoudre ce problème, vous pouvez définir la variable d'environnement `LAMBDA_INSIGHTS_LOG_LEVEL=info`.

## Problèmes connus
<a name="Lambda-Insights-Troubleshooting-knownissues"></a>

Le délai des données peut atteindre 20 minutes. Lorsqu'un gestionnaire de fonctions se termine, Lambda gèle l'environnement de test (sandbox), ce qui bloque également l'extension Lambda Insights. Lorsque la fonction est en cours d'exécution, nous utilisons une stratégie de traitement par lots adaptative basée sur la fonction TPS pour produire des données. Toutefois, si la fonction cesse d'être appelée pendant une période prolongée et qu'il y a toujours des données d'événement dans la mémoire tampon, ces données peuvent être retardées jusqu'à ce que Lambda arrête l'environnement de test inactif. Lorsque Lambda arrête l'environnement de test, nous vidons les données conservées dans le tampon.

# Exemple d'événement de télémétrie dans Lambda Insights CloudWatch
<a name="Lambda-Insights-example-event"></a>

Chaque invocation d'une fonction Lambda sur laquelle Lambda Insights est activé écrit un événement de journal unique dans le groupe de journaux `/aws/lambda-insights`. Chaque événement de journal contient des métriques au format de métrique intégrée. Pour plus d'informations sur le format de métrique intégrée, consultez [Intégration de métriques dans les journaux](CloudWatch_Embedded_Metric_Format.md).

Pour analyser ces événements de journal, vous pouvez utiliser les méthodes suivantes :
+ La section Lambda Insights de la CloudWatch console, comme expliqué dans. [Affichage de vos métriques Lambda Insights](Lambda-Insights-view-metrics.md)
+ Enregistrez les requêtes d'événements à l'aide de CloudWatch Logs Insights. Pour plus d'informations, consultez la section [Analyse des données de journal avec CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).
+ Métriques collectées dans l'espace de `LambdaInsights` noms, que vous pouvez représenter graphiquement à l'aide de CloudWatch métriques.

Voici un exemple d'événement de journal Lambda Insights avec format de métrique intégrée.

```
{
    "_aws": {
        "Timestamp": 1605034324256,
        "CloudWatchMetrics": [
            {
                "Namespace": "LambdaInsights",
                "Dimensions": [
                    [ "function_name" ],
                    [ "function_name", "version" ]
                ],
                "Metrics": [
                    { "Name": "memory_utilization", "Unit": "Percent" },
                    { "Name": "total_memory", "Unit": "Megabytes" },
                    { "Name": "used_memory_max", "Unit": "Megabytes" },
                    { "Name": "cpu_total_time", "Unit": "Milliseconds" },
                    { "Name": "tx_bytes", "Unit": "Bytes" },
                    { "Name": "rx_bytes", "Unit": "Bytes" },
                    { "Name": "total_network", "Unit": "Bytes" },
                    { "Name": "init_duration", "Unit": "Milliseconds" }
                ]
            }
        ],
        "LambdaInsights": {
            "ShareTelemetry": true
        }
    },
    "event_type": "performance",
    "function_name": "cpu-intensive",
    "version": "Blue",
    "request_id": "12345678-8bcc-42f7-b1de-123456789012",
    "trace_id": "1-5faae118-12345678901234567890",
    "duration": 45191,
    "billed_duration": 45200,
    "billed_mb_ms": 11571200,
    "cold_start": true,
    "init_duration": 130,
    "tmp_free": 538329088,
    "tmp_max": 551346176,
    "threads_max": 11,
    "used_memory_max": 63,
    "total_memory": 256,
    "memory_utilization": 24,
    "cpu_user_time": 6640,
    "cpu_system_time": 50,
    "cpu_total_time": 6690,
    "fd_use": 416,
    "fd_max": 32642,
    "tx_bytes": 4434,
    "rx_bytes": 6911,
    "timeout": true,
    "shutdown_reason": "Timeout",
    "total_network": 11345,
    "agent_version": "1.0.72.0",
    "agent_memory_avg": 10,
    "agent_memory_max": 10
}
```

Voici un exemple d'événement du journal Lambda Insights pour une fonction Lambda exécutée sur des instances gérées Lambda.

```
{
    "total_network": 16443,
    "tmp_free": 531492864,
    "total_memory": 2048,
    "fd_use": 85,
    "tmp_used": 11984896,
    "execution_environment_init": false,
    "version": "3",
    "event_type": "performance",
    "agent_memory_max": 6,
    "fd_max": 1024,
    "function_name": "cpu-intensive",
    "tx_bytes": 8404,
    "memory_utilization": 3,
    "used_memory_max": 73,
    "memory_utilization_max": 3,
    "cpu_system_time": 541,
    "threads_max": 49,
    "tmp_max": 543477760,
    "cpu_utilization_max": 2,
    "agent_memory_avg": 6,
    "cpu_total_time": 815,
    "rx_bytes": 8039,
    "lambda_mode": "managed-instance",
    "agent_version": "1.0.660.0",
    "_aws": {
        "CloudWatchMetrics": [
            {
                "Namespace": "LambdaInsights",
                "Dimensions": [
                    [
                        "function_name"
                    ],
                    [
                        "function_name",
                        "version"
                    ]
                ],
                "Metrics": [
                    {
                        "Name": "cpu_total_time",
                        "Unit": "Milliseconds"
                    },
                    {
                        "Name": "cpu_utilization",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "cpu_utilization_max",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "tx_bytes",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "rx_bytes",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "total_network",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "used_memory_max",
                        "Unit": "Megabytes"
                    },
                    {
                        "Name": "memory_utilization",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "memory_utilization_max",
                        "Unit": "Percent"
                    },
                    {
                        "Name": "total_memory",
                        "Unit": "Megabytes"
                    },
                    {
                        "Name": "tmp_used",
                        "Unit": "Bytes"
                    },
                    {
                        "Name": "tmp_free",
                        "Unit": "Bytes"
                    }
                ]
            }
        ],
        "Timestamp": 1764164871353,
        "LambdaInsights": {
            "ShareTelemetry": true
        }
    },
    "cpu_utilization": 1,
    "cpu_user_time": 273
}
```

# CloudWatch Aperçu des bases de données
<a name="Database-Insights"></a>

Utilisez CloudWatch Database Insights pour surveiller et dépanner les bases de données Amazon Aurora MySQL, Amazon Aurora PostgreSQL Limitless, Amazon RDS pour SQL Server, RDS pour MySQL, RDS pour PostgreSQL, RDS pour Oracle et RDS pour MariaDB à grande échelle.

Avec Database Insights, vous pouvez surveiller votre flotte de bases de données à l’aide de tableaux de bord prédéfinis et personnalisés. Pour vous aider à analyser les performances de votre flotte, les tableaux de bord Database Insights affichent des métriques et des visualisations sélectionnées, que vous pouvez personnaliser. En présentant les métriques dans un tableau de bord unique pour toutes les bases de données de votre flotte, Database Insights vous permet de surveiller vos bases de données simultanément.

Par exemple, vous pouvez utiliser Database Insights pour trouver une base de données dont les performances sont médiocres au sein d’une flotte de centaines d’instances de base de données. Vous pouvez ensuite choisir cette instance et utiliser Database Insights pour résoudre les problèmes.

Pour plus d'informations sur la prise en charge des moteurs et des classes d'instance, consultez la section Support [du moteur de base de données Aurora, des régions et des classes d'instance pour Database Insights, et le support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.Engines.html) [du moteur de base de données, des régions et des classes d'instance Amazon RDS pour Database Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.Engines.html). Région AWS

Database Insights permet de surveiller les charges de travail sur plusieurs comptes et régions. Pour en savoir plus sur la fonctionnalité de surveillance entre comptes et régions de Database Insights, voir [Configurer la surveillance entre comptes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Database-Insights-Cross-Account-Cross-Region.html) et régions pour Database Insights. CloudWatch 

Pour commencer à utiliser Database Insights, consultez les rubriques suivantes.

**Rubriques**
+ [Commencez avec CloudWatch Database Insights](Database-Insights-Get-Started.md)
+ [Affichage du tableau de bord État de la flotte pour CloudWatch Database Insights](Database-Insights-Fleet-Health-Dashboard.md)
+ [Affichage du tableau de bord de l'instance de base de CloudWatch données pour obtenir des informations sur](Database-Insights-Database-Instance-Dashboard.md)
+ [Dépannage pour CloudWatch Database Insights](Database-Insights-Troubleshooting.md)

## Modes pour Database Insights
<a name="Database-Insights-modes"></a>

Database Insights dispose d’un mode avancé et d’un mode standard. Le mode standard est le mode par défaut pour Database Insights, et vous pouvez activer le mode avancé pour votre base de données. 

Le tableau suivant indique les fonctionnalités compatibles CloudWatch avec le mode avancé et le mode standard de Database Insights.


| Fonctionnalité | Mode standard | Mode Avancé | 
| --- | --- | --- | 
| Analyser les principaux contributeurs à la charge de base de données par dimension | Pris en charge | Pris en charge | 
| Interroger, représenter graphiquement et définir des alarmes sur les métriques de base de données avec une conservation pouvant aller jusqu’à 7 jours | Pris en charge | Pris en charge | 
| Définir des politiques de contrôle précis des accès pour restreindre l’accès aux dimensions potentiellement sensibles telles que le texte SQL | Pris en charge | Pris en charge | 
| Analyser les processus du système d’exploitation qui se déroulent dans vos bases de données avec des métriques détaillées par processus en cours d’exécution [Amazon RDS Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html) est nécessaire pour que cette fonctionnalité fonctionne. | Non pris en charge | Pris en charge | 
| Définissez et enregistrez des vues de surveillance à l'échelle du parc pour évaluer l'état de santé de la base de données à grande échelle | Non pris en charge | Pris en charge | 
| Analyser les verrous SQL avec une conservation de 15 mois et une expérience utilisateur guidée | Non pris en charge | Prise en charge uniquement pour Aurora PostgreSQL | 
| Analyser les plans d’exécution SQL avec une conservation de 15 mois et une expérience utilisateur guidée | Non pris en charge | Prise en charge uniquement pour Aurora PostgreSQL, RDS for Oracle et RDS for SQL Server | 
| Visualiser les statistiques par requête | Non pris en charge | Pris en charge | 
| Analyser les requêtes SQL lentesL'exportation des journaux de base de données vers CloudWatch Logs est requise pour que cette fonctionnalité fonctionne. | Non pris en charge | Pris en charge | 
| Afficher les services d'appel avec les signaux CloudWatch d'application | Non pris en charge | Pris en charge | 
| Afficher un tableau de bord consolidé pour toutes les télémétries de base de données, y compris les métriques, les journaux, les événements et les applicationsL'exportation des journaux de base de données vers CloudWatch Logs est requise pour afficher les journaux de base de données dans la console Database Insights. | Non pris en charge | Pris en charge | 
| Importez CloudWatch automatiquement les indicateurs de performance Insights dans | Non pris en charge | Pris en charge | 
| Afficher les événements Amazon RDS dans CloudWatch | Non pris en charge | Pris en charge | 
| Analyser les performances de la base de données pour une période de votre choix grâce à l’analyse à la demande | Non pris en charge | Pris en charge | 

**Note**  
La disponibilité des fonctionnalités de Database Insights varie selon AWS les régions, car toutes les fonctionnalités du mode avancé ne sont pas disponibles dans toutes les régions.

## Conservation des données
<a name="Database-Insights-retention"></a>

Le mode avancé de Database Insights conserve 15 mois de métriques collectées par Performance Insights.

Si Performance Insights est activé pour le mode standard, Amazon RDS conserve 7 jours de métriques du compteur Performance Insights.

Pour plus d’informations sur les métriques du compteur Performance Insights, consultez [Métriques du compteur Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html).

Pour plus d'informations sur la période de conservation des CloudWatch métriques collectées par Database Insights, consultez les rubriques suivantes.
+ [ CloudWatch Métriques Amazon pour Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMonitoring.Metrics.html) dans le *guide de l'utilisateur Amazon Aurora*
+ [ CloudWatch Métriques Amazon pour Amazon Relational Database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) Service dans le guide de l'*utilisateur Amazon RDS*
+ [ CloudWatch Métriques Amazon pour Amazon RDS Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Cloudwatch.html) dans le guide de l'*utilisateur Amazon Aurora*
+ [ CloudWatch Métriques Amazon pour Amazon RDS Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Cloudwatch.html) dans le guide de l'*utilisateur Amazon Aurora*

## Intégration de Database Insights à Performance Insights
<a name="Database-Insights-pi"></a>

Performance Insights est un service d’analyse des performances des bases de données.

Database Insights s’appuie sur les capacités de Performance Insights et les étend. Database Insights ajoute des fonctionnalités de surveillance, d’analyse et d’optimisation.

Pour activer le mode avancé de Database Insights, vous devez activer Performance Insights. 

Database Insights importe CloudWatch automatiquement les indicateurs de performance Insights dans. Le mode avancé de Database Insights conserve automatiquement pendant 15 mois toutes les métriques collectées par Database Insights, y compris les métriques et CloudWatch métriques Performance Insights. Cela se produit automatiquement lorsque vous activez le mode avancé dans une instance, sans qu’aucune configuration supplémentaire ne soit nécessaire. Pour plus d’informations sur les métriques du compteur Performance Insights, consultez [Métriques du compteur Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html) dans le *Guide de l’utilisateur Amazon Aurora*.

## Tarification
<a name="Database-Insights-pricing"></a>

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

# Commencez avec CloudWatch Database Insights
<a name="Database-Insights-Get-Started"></a>

Le mode standard de Database Insights est activé par défaut pour vos bases de données Amazon RDS et Aurora. Pour commencer à utiliser le mode avancé de Database Insights, vous pouvez créer une nouvelle base de données ou modifier une base de données existante.

Pour plus d’informations sur l’activation du mode avancé ou du mode standard de Database Insights pour une base de données Amazon RDS, consultez les rubriques suivantes.
+ [Activation du mode avancé de Database Insights pour Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) dans le *Guide de l’utilisateur Amazon RDS*
+ [Activation du mode standard de Database Insights pour Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnStandard.html) dans le *Guide de l’utilisateur Amazon RDS*
+ Activer [ou désactiver CloudWatch Database Insights lors de la création d'une instance de base de données ou d'un cluster de base de données multi-AZ pour Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurnOnCreateDatabase.html) dans le guide de l'utilisateur *Amazon RDS*

Pour plus d’informations sur l’activation du mode avancé ou du mode standard de Database Insights pour une base de données Amazon Aurora, consultez les rubriques suivantes.
+ [Activation du mode avancé de Database Insights pour Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) dans le *Guide de l’utilisateur d’Amazon Aurora*
+ [Activation du mode standard de Database Insights pour Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnStandard.html) dans le *Guide de l’Utilisateur d’Amazon Aurora*

Pour plus d’informations sur l’activation du mode avancé ou du mode standard de Database Insights pour une base de données Aurora PostgreSQL Limitless, consultez les rubriques suivantes.
+ [Activation du mode avancé de Database Insights pour la base de données Aurora PostgreSQL Limitless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/limitless-monitoring.cwdbi.advanced.html) dans le *Guide de l’utilisateur Amazon Aurora*
+ [Activation du mode standard de Database Insights pour la base de données Aurora PostgreSQL Limitless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/limitless-monitoring.cwdbi.standard.html) dans le *Guide de l’utilisateur Amazon Aurora*

## Autorisations requises pour Database Insights
<a name="w2aac26c13c31c17"></a>

Certaines autorisations IAM sont requises pour utiliser Database Insights. Database Insights nécessite des autorisations pour CloudWatch, CloudWatch Logs, Amazon RDS et Amazon RDS Performance Insights. Vous n’aurez peut-être pas besoin de fournir ces autorisations à votre utilisateur ou à votre rôle si vous disposez d’autorisations plus étendues.

Les CloudWatch autorisations suivantes sont requises pour utiliser Database Insights.
+ `cloudwatch:BatchGetServiceLevelIndicatorReport`
+ `cloudwatch:DescribeAlarms`
+ `cloudwatch:GetDashboard`
+ `cloudwatch:GetMetricData`
+ `cloudwatch:ListMetrics`
+ `cloudwatch:PutDashboard`

Les autorisations CloudWatch Logs suivantes sont requises pour utiliser Database Insights.
+ `logs:DescribeLogGroups`
+ `logs:GetQueryResults`
+ `logs:StartQuery`
+ `logs:StopQuery`

Les autorisations Amazon RDS suivantes sont requises pour utiliser Database Insights.
+ `rds:DescribeDBClusters`
+ `rds:DescribeDBInstances`
+ `rds:DescribeEvents`
+ `rds:DescribeDBShardGroups` (si vous surveillez des bases de données Aurora PostgreSQL Limitless

Les autorisations Performance Insights suivantes sont requises pour utiliser Database Insights.
+ `pi:ListAvailableResourceMetrics`
+ `pi:ListAvailableResourceDimensions`
+ `pi:DescribeDimensionKeys`
+ `pi:GetDimensionKeyDetails`
+ `pi:GetResourceMetrics`
+ `pi:ListPerformanceAnalysisReports`
+ `pi:GetResourceMetadata`
+ `pi:GetPerformanceAnalysisReport`
+ `pi:CreatePerformanceAnalysisReport`
+ `pi:DeletePerformanceAnalysisReport`
+ `pi:ListTagsForResource`
+ `pi:TagResource`
+ `pi:UntagResource`

L’exemple de politique suivant contient les autorisations requises pour un accès complet à Database Insights.

### Exemple de politique pour un accès complet
<a name="Database-Insights-permissions-sample"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
    "Effect" : "Allow",
      "Action" : [
        "cloudwatch:BatchGetServiceLevelIndicatorReport",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:GetMetricData",
        "cloudwatch:ListMetrics",
        "cloudwatch:PutDashboard"
      ],
      "Resource" : "*"
    },
    {
    "Effect" : "Allow",
      "Action" : [
        "logs:DescribeLogGroups",
        "logs:GetQueryResults",
        "logs:StartQuery",
        "logs:StopQuery"
      ],
      "Resource" : "*"
    },
    {
    "Effect" : "Allow",
      "Action" : [
        "pi:DescribeDimensionKeys",
        "pi:GetDimensionKeyDetails",
        "pi:GetResourceMetadata",
        "pi:GetResourceMetrics",
        "pi:ListAvailableResourceDimensions",
        "pi:ListAvailableResourceMetrics",
        "pi:CreatePerformanceAnalysisReport",
        "pi:GetPerformanceAnalysisReport",
        "pi:ListPerformanceAnalysisReports",
        "pi:DeletePerformanceAnalysisReport",
        "pi:TagResource",
        "pi:UntagResource",
        "pi:ListTagsForResource"
      ],
      "Resource" : "arn:aws:pi:*:*:*/rds/*"
    },
    {
    "Effect" : "Allow",
      "Action" : [
        "rds:DescribeDBInstances",
        "rds:DescribeDBClusters",
        "rds:DescribeEvents"
      ],
      "Resource" : "*"
    }
  ]
}
```

------

# Configurer la surveillance entre comptes et régions pour CloudWatch Database Insights
<a name="Database-Insights-Cross-Account-Cross-Region"></a>

 CloudWatch Database Insights prend en charge la surveillance du parc de bases de données entre comptes et entre régions, permettant ainsi une observabilité centralisée sur l'ensemble de votre infrastructure de base de données. AWS Il vous permet de surveiller, de dépanner et d'optimiser les bases de données couvrant plusieurs AWS comptes et régions à partir d'une seule expérience de console unifiée. 

**Topics**
+ [Conditions préalables](#Database-Insights-Cross-Account-Cross-Region-Prereq)
+ [Configurez vos comptes de surveillance et de source pour un accès multicompte à Database Insights](#Database-Insights-Cross-Account-Cross-Region-MonitoringSourceAccountSetup)
+ [Configuration de Database Insights pour une console multicompte et multirégion](#Database-Insights-Cross-Account-Cross-Region-setup)
+ [Utilisation des tableaux de bord inter-comptes et interrégions de Database Insights](#Database-Insights-Cross-Account-Cross-Region-Using)

## Conditions préalables
<a name="Database-Insights-Cross-Account-Cross-Region-Prereq"></a>
+ Database Insights entre comptes et entre régions nécessite à la fois l'**observabilité CloudWatch entre comptes** et la configuration préalable de la **console entre comptes et entre régions. CloudWatch ** Consultez les instructions ci-dessous pour savoir comment activer les deux.
+ Si vous les avez déjà activées, vous devrez peut-être encore configurer un partage de données supplémentaire pour que Database Insights fonctionne entre les comptes et les régions de votre environnement. Consultez les instructions ci-dessous et assurez-vous d'avoir sélectionné la bonne configuration de partage de données.

## Configurez vos comptes de surveillance et de source pour un accès multicompte à Database Insights
<a name="Database-Insights-Cross-Account-Cross-Region-MonitoringSourceAccountSetup"></a>

1. Suivez le step-by-step guide sur l'[CloudWatch observabilité entre comptes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account-Setup.html). CloudFormation des modèles sont fournis pour les déploiements d'infrastructure sous forme de code. 

1. À l'**étape 1 : configurer un compte de surveillance**, vous devez au moins sélectionner les types de données suivants à partager avec votre compte de surveillance pour que Database Insights fonctionne entre les comptes et les régions : **journaux**, **mesures**, **traces** et **signaux d'application - services, objectifs de niveau de service (SLOs)**.

1. Vous devez effectuer cette procédure pour **toutes les régions dans** lesquelles vous souhaitez configurer Database Insights avec une prise en charge entre comptes et entre régions.

## Configuration de Database Insights pour une console multicompte et multirégion
<a name="Database-Insights-Cross-Account-Cross-Region-setup"></a>

1. Suivez le step-by-step guide dans la console [multi-comptes inter-régions. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html) 

1. À **l'étape 5 : Autorisations**, vous devez au moins sélectionner les types de données suivants à partager avec votre compte de surveillance : **inclure des tableaux de bord CloudWatch automatiques et inclure** **un accès en lecture seule pour** Database Insights. Sinon, vous pouvez également opter pour un **accès complet en lecture seule à tous les éléments de votre compte**, y compris toutes les sources de données disponibles. 

1.  CloudWatch la console inter-régions étant un paramètre global, vous ne devez effectuer cette étape qu'une seule fois et elle fonctionnera pour toutes les régions. 

## Utilisation des tableaux de bord inter-comptes et interrégions de Database Insights
<a name="Database-Insights-Cross-Account-Cross-Region-Using"></a>

 **Après avoir configuré Database Insights pour la prise en charge entre comptes et entre régions, vous pouvez activer le « mode multicompte entre régions » dans la section **Filtres** du panneau de gauche, juste sous Vues de base de données.** Vous verrez un bouton à bascule situé dans le coin supérieur gauche, comme dans la capture d'écran ci-dessous. 

![\[alt text not found\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/database-insights-enable-cross-account-toggle.png)


 Une fois le mode multi-comptes inter-régions activé, de nouveaux filtres sont disponibles, qui vous permettent de sélectionner plusieurs régions et de filtrer par AWS compte et par étiquette, par type de ressource de base de données IDs et par identifiant de ressource de base de données. 

 Par défaut, votre région actuelle et tous les comptes sont sélectionnés. Si vous modifiez votre sélection de régions et de comptes, le Fleet Health Dashboard est automatiquement mis à jour pour afficher les ressources correspondant à la région sélectionnée et aux filtres de compte. 

 Depuis le tableau de bord Fleet Health, vous pouvez facilement accéder au tableau de bord des instances de base de données pour les instances appartenant à d'autres AWS comptes et régions. 

 Vous devez prendre en compte certains aspects lorsque vous travaillez avec la surveillance inter-comptes interrégions de Database Insights : 
+  Les alarmes doivent être créées uniquement dans le compte de surveillance. Les alarmes peuvent être configurées sur la base des métriques des comptes sources, mais elles doivent être créées dans le compte de surveillance. 
+  Les vues de surveillance de la flotte doivent être définies et enregistrées uniquement dans le compte de surveillance. 
+  Les tableaux de bord de métriques personnalisés du tableau de bord de l'instance de Database Insights doivent être personnalisés uniquement dans le compte de surveillance. 
+  Le nombre maximum de régions autorisées dans le tableau de bord de Database Insights Fleet Health à un moment donné est de 3. 
+  Seules les opérations de lecture sont autorisées depuis le compte de surveillance. Cela signifie que vous ne pouvez pas créer de rapports d'analyse des performances à partir du compte de surveillance. 
+  Lorsque le mode multicompte interrégional est activé dans le Fleet Health Dashboard, le filtrage par balises de AWS ressources et propriétés des ressources n'est pas disponible. 

# Affichage du tableau de bord État de la flotte pour CloudWatch Database Insights
<a name="Database-Insights-Fleet-Health-Dashboard"></a>

Vous pouvez utiliser le tableau de bord État de la flotte pour afficher un instantané de l’état de votre flotte de bases de données.

![\[Tableau de bord État de la flotte\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_fhd.png)


## Vues de l’état de la flotte
<a name="Database-Insights-fleet-views"></a>

Dans Database Insights, une *flotte de bases de données* est un groupe de bases de données que vous voulez surveiller. Vous pouvez créer une vue de surveillance pour une flotte de bases de données en sélectionnant des filtres dans le composant **Filtres**. Ce composant vous permet d’appliquer des filtres sur des propriétés, telles que les noms et les balises des clusters ou des instances. Dans le tableau de bord État de la flotte, CloudWatch affiche les bases de données qui correspondent à au moins une des conditions de filtrage pour la vue de l’état de la flotte.

![\[Filtrer par propriétés et balises\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_filter.png)


Pour créer, modifier ou supprimer des vues pour les flottes de bases de données, suivez les procédures décrites dans les rubriques suivantes.
+ [Créer une vue de l’état de la flotte pour CloudWatch Database Insights](Database-Insights-fleet-views-create.md)
+ [Modifier une vue d’état de la flotte pour CloudWatch Database Insights](Database-Insights-fleet-views-edit.md)
+ [Supprimer une vue d’état de la flotte pour CloudWatch Database Insights](Database-Insights-fleet-views-delete.md)

## Tableau récapitulatif des instances RDS
<a name="Database-Insights-instances"></a>

Utilisez le tableau **Récapitulatif des instances RDS** pour afficher l’état des alarmes, le pourcentage maximal de charge de base de données et l’heure de la dernière mise à jour de l’état pour chaque instance de votre flotte.

![\[Tableau des ressources Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-resources.png)


## Résumé de l’état des instances
<a name="Database-Insights-Instances-State-Summary"></a>

Utilisez le **Résumé de l’état des instances** pour afficher l’état de toutes les instances de votre flotte. Le résumé de l’état des instances fournit deux vues basées sur les **Alarmes** et la métrique de charge de base de données. Par défaut, CloudWatch affiche la vue **Alarmes**.

![\[Résumé de l’état des instances\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_iss.png)


Chaque nœud du nid d’abeille représente une instance. Pour plus d’informations sur une instance, vous pouvez sélectionner le nœud correspondant et choisir **Filtrer la vue par cette instance**. 

![\[Résumé de l’état des instances sélectionné\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_iss-selected.png)


Le composant en nid d’abeille résume l’état des alarmes pour les instances de votre flotte avec le nombre de nœuds dans chaque état en haut du nid d’abeille. CloudWatch affiche l’heure de la dernière actualisation des données affichées dans le nid d’abeille.

Lorsque vous passez à la vue **Charge de base de données**, vous pouvez voir l’état général de la flotte du point de vue de la métrique Charge de base de données. La charge de la base de données (Charge DB) mesure le nombre de sessions actives dans votre base de données. La charge de la base de données est la métrique clé dans Database Insights et est collectée toutes les secondes. CloudWatch classe les instances de base de données dans les états suivants en fonction des seuils de charge de la base de données. 
+ Élevé
+ Avertissement
+ Ok
+ Inactif

Vous pouvez voir les seuils de charge de la base de données en sélectionnant les icônes d’état correspondantes.

Pour plus d’informations sur la charge de la base de données pour Amazon RDS, consultez [Charge de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html) dans le *Guide de l’utilisateur Amazon RDS*. Pour plus d’informations sur la charge de base de données pour Amazon Aurora, consultez [Charge de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.ActiveSessions.html) dans le *Guide de l’utilisateur Amazon Aurora*.

Par défaut, CloudWatch affiche la charge moyenne de la base de données. Sélectionnez **Max** pour surveiller la charge maximale de la base de données pour chaque instance.

Sélectionnez un nœud dans le résumé de l’état des instances pour afficher les alarmes et la charge de la base de données pour l’instance.

## Les 10 principaux graphiques
<a name="Database-Insights-Top-Ten"></a>

Utilisez le graphique **Les 10 principales instances par charge relative de la base de données** pour afficher la tendance de la charge de la base de données au fil du temps pour les 10 instances présentant la charge de base de données la plus élevée. Le graphique fournit également les requêtes les plus fréquentes et les événements d’attente les plus fréquents pour l’instance présentant la charge de base de données la plus élevée.

![\[Les 10 principales instances par graphique de charge de la base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_top10.png)


Utilisez les graphiques **Les 10 principales instances par métrique** pour comparer deux métriques clés pour les 10 principales instances de votre flotte. Vous pouvez sélectionner les métriques suivantes.
+ Utilisation de l’UC (%)
+ Mémoire libérable (%)
+ Connexions de base de données (%)
+ Débit réseau
+ IOPS en lecture
+ IOPS en écriture
+ Latence de lecture
+ Latence en écriture

![\[Les 10 principales instances par graphiques de métriques\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-top10per.png)


## Événements Amazon RDS
<a name="Database-Insights-Events"></a>

Utilisez le résumé et le tableau **Événements** pour afficher les événements RDS pour les instances de votre flotte.

![\[Résumé des événements\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_events.png)


Pour afficher le tableau **Événements**, sélectionnez **Détails**.

![\[Détails des événements\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_events-details.png)


Pour obtenir la liste des événements pour Amazon RDS et Amazon Aurora, consultez les rubriques suivantes.
+ [Catégories d’événements Amazon RDS et messages d’événements pour Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) dans le *Guide de l’utilisateur Amazon Aurora*
+ [Catégories d’événements Amazon RDS et messages d’événements](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) dans le *Guide de l’utilisateur Amazon RDS*

## Table Services d’appel
<a name="Database-Insights-Calling-Services"></a>

Utilisez le tableau **Services appelants** pour afficher les services de la vigie applicative CloudWatch qui appellent vos points de terminaison de base de données et les métriques associées au niveau de l’application, telles que la latence ou les erreurs.

![\[Table Services d’appel\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-calling.png)


Database Insights affiche les services qui appellent vos 10 instances principales par charge de base de données. Pour afficher les services appelants pour une autre instance, sélectionnez l’instance dans le tableau de bord des instances de base de données.

Lorsque le point de terminaison appelé par l’application est un cluster Aurora, Database Insights affiche le point de terminaison d’écriture ou de lecture du cluster Aurora dans le tableau **Services appelants**, et non l’instance de base de données individuelle. Toutefois, lorsque le point de terminaison appelé par l’application est un cluster Amazon RDS, Database Insights affiche l’instance de base de données spécifique que l’application appelle au sein du cluster Amazon RDS.

Pour plus d’informations sur la vigie applicative CloudWatch, consultez [Application Signals](CloudWatch-Application-Monitoring-Sections.md).

# Créer une vue de l’état de la flotte pour CloudWatch Database Insights
<a name="Database-Insights-fleet-views-create"></a>

Pour créer une vue de l’état de la flotte, procédez comme suit.

**Pour créer une vue de l’état de la flotte**

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

1. Choisissez **Informations**.

1. Choisissez **Database Insights**.

1. Sélectionnez les filtres pour la flotte de bases de données que vous voulez surveiller.

1. Sélectionnez **Enregistrer le filtre en tant que flotte**.

1. Dans la fenêtre **Enregistrer le jeu de filtres (flotte)**, entrez un nom pour votre flotte.

1. Choisissez le bouton **Enregistrer**.

Pour accéder à la flotte enregistrée, sélectionnez le menu déroulant **Flottes enregistrées**. Sélectionnez ensuite une flotte.

# Modifier une vue d’état de la flotte pour CloudWatch Database Insights
<a name="Database-Insights-fleet-views-edit"></a>

Pour modifier une vue d’état de la flotte, procédez comme suit.

**Pour modifier une vue d’état de la flotte**

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

1. Choisissez **Informations**.

1. Choisissez **Database Insights**.

1. Sélectionnez le menu déroulant **Flottes enregistrées**.

1. Sélectionnez les points de suspension verticaux correspondant à la vue d’état de la flotte que vous voulez modifier.

1. Dans la fenêtre **Modifier le jeu de filtres (flotte)**, vous pouvez modifier le nom de la flotte et les filtres de la flotte.

1. Choisissez le bouton **Enregistrer**.

# Supprimer une vue d’état de la flotte pour CloudWatch Database Insights
<a name="Database-Insights-fleet-views-delete"></a>

Pour supprimer une vue d’état de la flotte, procédez comme suit.

**Pour supprimer une vue d’état de la flotte**

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

1. Choisissez **Informations**.

1. Choisissez **Database Insights**.

1. Sélectionnez le menu déroulant **Flottes enregistrées**.

1. Sélectionnez les points de suspension verticaux correspondant à la vue d’état de la flotte que vous voulez supprimer.

1. Dans la fenêtre **Supprimer le jeu de filtres (flotte)**, cliquez sur le bouton **Supprimer**.

# Affichage du tableau de bord de l'instance de base de CloudWatch données pour obtenir des informations sur
<a name="Database-Insights-Database-Instance-Dashboard"></a>

Utilisez le tableau de bord des instances de base de données pour afficher un instantané de l’état d’une instance de base de données.

Pour analyser les arborescences de verrouillage et les plans d’exécution pour Amazon Aurora PostgreSQL, consultez les rubriques suivantes.

**Rubriques**
+ [Analyse des arborescences de verrouillage pour Amazon Aurora PostgreSQL et Amazon RDS pour PostgreSQL avec Database Insights CloudWatch](Database-Insights-Lock-Analysis.md)
+ [Analyse des plans d’exécution avec CloudWatch Database Insights](Database-Insights-Execution-Plans.md)

## Graphique Database Load (Charge de la base de données)
<a name="Database-Insights-database-load"></a>

La *charge de la base de données (DB Load)* mesure le niveau d’activité de la session de votre base de données. La charge de base de données est la métrique clé dans Database Insights qui collecte la charge de base de données toutes les secondes.

![\[Tableau de bord de l’instance de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did.png)


Pour plus d’informations sur la charge de base de données, consultez [Charge de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html) dans le *Guide de l’utilisateur Amazon RDS* ou [Charge de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.ActiveSessions.html) dans le *Guide de l’utilisateur Amazon Aurora*.

Utilisez le graphique **Charge de base de données** pour afficher la charge de base de données divisée (regroupée) selon les dimensions suivantes pour tous les moteurs de base de données pris en charge.
+ Objet bloquant (uniquement pour les [moteurs de base de données qui prennent en charge l’analyse des verrous](Database-Insights-Lock-Analysis.md))
+ Session bloquante (uniquement pour les [moteurs de base de données qui prennent en charge l’analyse des verrous](Database-Insights-Lock-Analysis.md))
+ SQL bloquant (uniquement pour les [moteurs de base de données qui prennent en charge l’analyse des verrous](Database-Insights-Lock-Analysis.md))
+ Base de données
+ Host (Hôte)
+ SQL
+ Utilisateur
+ Éléments d’attente
+ Application (uniquement pour Amazon Aurora PostgreSQL)
+ Plans (uniquement pour les [moteurs de base de données qui prennent en charge la capture des plans d’exécution](Database-Insights-Execution-Plans.md))
+ Type de session (uniquement pour Amazon Aurora PostgreSQL)

**Note**  
Pour plus d’informations sur l’analyse de la charge Oracle PDB dans Amazon RDS, consultez [Analyse de la charge maximale Oracle PDB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.TopPDB.html) dans le *Guide de l’utilisateur Amazon RDS*.

![\[Charge de base de données dans le tableau de bord de l’instance de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload.png)


Par défaut, CloudWatch affiche DB Load sous forme de graphique à barres. Sélectionnez **Ligne** pour afficher la charge de base de données sous forme de graphique à lignes empilées.

![\[Graphique linéaire pour la charge de la base de données dans le tableau de bord de l’instance de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload-line.png)


## Onglet Analyse de la charge de la base de données
<a name="Database-Insights-DB-load-analysis"></a>

Utilisez l’onglet **Analyse de la charge de base de données** pour surveiller les principaux contributeurs à la charge de base de données pour chacune des dimensions suivantes.
+ Base de données
+ Host (Hôte)
+ SQL
+ Utilisateur
+ Éléments d’attente
+ Analyse des verrous (uniquement pour les [moteurs de base de données prenant en charge l’analyse des verrous](Database-Insights-Lock-Analysis.md))
+ Application (uniquement pour Amazon Aurora PostgreSQL)
+ Type de session (uniquement pour Amazon Aurora PostgreSQL)

![\[Tableau de bord affichant l’onglet Analyse de la charge de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_lat.png)


## Analyse des statistiques d’une requête
<a name="Database-Insights-sql-stats"></a>

Il est possible d’analyser les statistiques d’une requête présentant une charge de base de données élevée. Pour analyser les statistiques d’une requête, procédez comme suit.

**Pour analyser les statistiques des requêtes**

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

1. Choisissez **Informations**.

1. Choisissez **Database Insights**.

1. Sélectionnez la vue **Instance de base de données**.

1. Choisissez une instance de base de données.

1. Choisissez l'onglet **Top SQL (Principaux éléments SQL)**.

1. Pour afficher les statistiques d’une requête, sélectionnez une requête.  
![\[Le tableau s’affiche dans l’onglet SQL fréquemment utilisé.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/DBInsights_LoadTopSQL.png)

## Onglet Télémétrie de base de données
<a name="Database-Insights-database-telemetry"></a>

Utilisez l’onglet **Télémétrie de la base de données** pour afficher les métriques, les journaux, les événements et les requêtes lentes pour l’instance sélectionnée.

### Section Métriques pour la télémétrie de la base de données
<a name="Database-Insights-metrics-tel"></a>

La section **Métriques** affiche un tableau de bord des métriques par défaut personnalisé pour chaque type de moteur.

Vous pouvez personnaliser ce tableau de bord en y ajoutant des métriques du système d'exploitation, des métriques de compteur de base de données et CloudWatch des métriques. Vous pouvez également supprimer des métriques du tableau de bord. Vous pouvez personnaliser un tableau de bord pour chaque type de moteur dans une région de votre compte. Cela signifie que toutes les instances d’un type de moteur spécifique dans cette région du même compte auront le même tableau de bord de métriques.

Les utilisateurs qui disposent des autorisations de modification pour vos tableaux de bord dans votre compte peuvent modifier n’importe quel tableau de bord pour n’importe quel moteur.

Les modifications que vous apportez à un tableau de bord sont enregistrées automatiquement et s’appliquent à toutes les instances du moteur de base de données dans cette région et ce compte.

![\[Tableau de bord présentant des exemples des différents types de métriques de base de données.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_dbmetrics.png)


**Pour personnaliser le tableau de bord dans l’onglet Télémétrie de la base de données pour un type de moteur**

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

1. Sélectionnez **Informations**, **Database Insights**.

1. Pour **Vues de base de données**, sélectionnez **Instance de base de données**.

1. Dans la section **Filtres**, recherchez et sélectionnez l’instance de base de données pour laquelle vous voulez afficher les métriques. 

1. Sélectionnez l’onglet **Télémétrie de base de données**, puis l’onglet **Métriques**.

   Le tableau de bord par défaut de l’instance de base de données s’affiche. 

1. Pour ajouter un widget au tableau de bord, procédez comme suit :

   1. Sélectionnez **Ajouter Créer un widget**.

   1. Dans la fenêtre contextuelle **Créer un widget**, recherchez la ou les métriques que vous voulez ajouter, puis cochez la case correspondante pour chacune d’elles. Si vous sélectionnez plusieurs métriques à cette étape, elles apparaîtront toutes dans le même nouveau widget sur le tableau de bord. Sélectionnez ensuite **Créer un widget**.

      N’oubliez pas que toutes les modifications que vous apportez à ce tableau de bord s’appliqueront à tous les tableaux de bord Database Insights pour ce type de moteur dans cette région du compte.

1. Pour supprimer un graphique du tableau de bord, sélectionnez les points de suspension verticaux dans le widget, puis sélectionnez **Supprimer**.

1. Pour ajouter d’autres métriques à un widget existant dans le tableau de bord ou modifier son titre, sélectionnez les points de suspension verticaux dans le widget, puis sélectionnez **Modifier**. Dans la fenêtre contextuelle **Mettre à jour le widget**, recherchez la ou les métriques que vous voulez ajouter, cochez leurs cases, puis sélectionnez **Mettre à jour le widget**. Vous pouvez également modifier le titre du widget.

1. Après avoir personnalisé un tableau de bord, vous pouvez le réinitialiser à son état d’origine en sélectionnant **Réinitialiser le tableau de bord**.

### Section Journaux pour la télémétrie de base de données
<a name="Database-Insights-logs-tel"></a>

La section **Logs** fournit une vue des journaux de base de données exportés vers CloudWatch Logs pour l'instance de base de données sélectionnée. 

![\[Télémétrie de base de données dans le tableau de bord de l’instance de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did-telemetry-logs.png)


Pour plus d'informations sur la publication de journaux dans CloudWatch Logs for Amazon RDS, consultez la section [Publication de journaux de base de données sur Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) dans le guide de l'*utilisateur Amazon RDS*. Pour plus d'informations sur la publication de journaux dans CloudWatch Logs for Amazon Aurora, consultez la section [Publication de journaux de base de données sur Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) dans le *guide de l'utilisateur Amazon Aurora*.

Pour les bases de données Aurora PostgreSQL Limitless, les journaux sont automatiquement publiés dans Logs et peuvent CloudWatch être découverts dans la console Database Insights.

### Processus OS pour la télémétrie de base de données
<a name="Database-Insights-OS-processes"></a>

Vous pouvez utiliser l’onglet **Processus OS** dans l’onglet **Télémétrie de base de données** pour afficher les métriques du système d’exploitation (OS) sur lequel s’exécute votre instance de base de données. Les métriques fournissent un instantané des processus OS s’exécutant sur vos bases de données pour un horodatage donné, ainsi que des métriques clés telles que l’utilisation de la mémoire et du processeur pour chaque processus en cours d’exécution. Database Insights met en corrélation ces métriques avec celles de votre graphique de charge de base de données. Ainsi, si vous sélectionnez un point de données dans le graphique de charge de base de données, les données des processus du système d’exploitation sont mises à jour pour afficher la télémétrie correspondant au même horodatage.

Lorsque vous sélectionnez un point de données, Database Insights sélectionne automatiquement la période à afficher, en fonction de la plage de temps que vous avez choisie pour l’ensemble de la page. La période la plus ancienne que vous pouvez consulter dépend de la durée de conservation que vous avez configurée pour le groupe de journaux `RDSOSMetrics`.

Si vous n’avez pas sélectionné d’horodatage, le tableau est rempli par défaut avec les données de télémétrie du dernier horodatage.

**Note**  
Les informations sur les processus du système d’exploitation ne sont disponibles que si vous avez activé [Amazon RDS Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html). La surveillance améliorée entraîne des frais supplémentaires. Pour plus d’informations, consultez la section [Coût de la surveillance améliorée](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.cost). La surveillance améliorée est automatiquement activée pour les bases de données Aurora PostgreSQL Limitless.

![\[Tables des événements\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbinsights-osprocesses.png)


Dans la vue **Processus OS**, les données suivantes sont affichées pour chaque processus :
+ **ID du processus** : l’ID de ce processus.
+ **Mémoire virtuelle** : quantité de mémoire virtuelle allouée au processus, en kibioctets.
+ **Adresse résiduelle** : mémoire physique réelle utilisée par le processus.
+ **Processeur %** : pourcentage de la bande passante totale de l’UC utilisé par le processus.
+ **Mémoire %** : pourcentage de la mémoire totale utilisé par le processus.
+ **Limite VM** : quantité maximale de mémoire virtuelle pouvant être allouée au processus.

  Si la valeur de cette colonne est 0, cela signifie que les limites de mémoire virtuelle ne s’appliquent pas à ce processus.

Les données de surveillance affichées sont extraites d'Amazon CloudWatch Logs. Vous pouvez également récupérer ces métriques directement à partir du flux de log dans CloudWatch Logs. Pour plus d'informations, consultez la section [Affichage des métriques du système d'exploitation à l'aide CloudWatch des journaux](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.CloudWatchLogs.html).

Les métriques des processus du système d’exploitation ne sont pas renvoyées dans les cas suivants : 
+ Basculement de l’instance de base de données.
+ Modification de la classe d’instance de l’instance de base de données (scale compute).

Les métriques des processus du système d’exploitation sont renvoyées lors du redémarrage d’une instance de base de données, car seul le moteur de base de données est redémarré. Les métriques concernant le système d’exploitation continuent d’être relevées.

### Section Requêtes SQL lentes pour la télémétrie de base de données
<a name="Database-Insights-slow-sql-tel"></a>

Pour afficher les requêtes SQL lentes et les modèles de requêtes, vous devez activer les exportations de CloudWatch journaux vers Logs et configurer les paramètres de base de données pour votre base de données. 

Pour plus d'informations sur la publication des journaux Amazon RDS dans les CloudWatch journaux, consultez la section [Publication des journaux de base de données sur Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) RDS dans le guide de l'*utilisateur Amazon RDS*.

Pour plus d'informations sur la publication de journaux Aurora dans CloudWatch Logs, consultez la section [Publication de journaux de base de données sur Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.Procedural.UploadtoCloudWatch.html) dans le *guide de l'utilisateur Amazon Aurora*.

Pour plus d’informations sur la configuration des paramètres de base de données pour votre base de données dans Amazon RDS, consultez [Configuration de votre base de données pour surveiller les requêtes SQL lentes avec Database Insights pour Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.SlowSQL.html) dans le *Guide de l’utilisateur Amazon RDS*.

Pour plus d’informations sur la configuration des paramètres de base de données pour votre base de données dans Amazon Aurora, consultez [Configuration de votre base de données pour surveiller les requêtes SQL lentes avec Database Insights pour Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.SlowSQL.html) dans le *Guide de l’utilisateur Amazon Aurora*.

La section **Requêtes SQL lentes** fournit une liste des modèles de requêtes lentes triés par fréquence. En sélectionnant un modèle, vous pouvez afficher une liste des requêtes lentes qui correspondent au modèle sélectionné. Vous pouvez utiliser la liste des requêtes lentes pour identifier les requêtes lentes qui affectent votre instance de base de données. 

Database Insights affiche des statistiques sur les requêtes lentes. Les statistiques ne représentent que les requêtes qui dépassent le seuil de durée de requête lente configuré.

![\[Affiche des détails sur un exemple de requête SQL lente\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_slowsql.png)


**Important**  
Les requêtes lentes peuvent contenir des données sensibles. Masquez vos données sensibles avec CloudWatch des journaux. Pour plus d'informations sur le masquage des données de journal, consultez la section [Aider à protéger les données de journal sensibles grâce au masquage dans le](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html) guide de *l'utilisateur Amazon CloudWatch Logs*.

### Tables des événements
<a name="Database-Insights-events-tel"></a>

Utilisez le tableau **Événements** pour afficher les événements RDS de votre instance de base de données. Pour obtenir la liste des événements pour Amazon Aurora, consultez [Catégories d’événements Amazon RDS et messages d’événement pour Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) dans le *Guide de l’utilisateur Amazon Aurora*. Pour obtenir la liste des événements pour Amazon Relational Database Service, consultez [Catégories d’événements Amazon RDS et messages d’événement pour Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) dans le *Guide de l’utilisateur Amazon RDS*.

![\[Tables des événements\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did-events.png)


## Onglet Services d’appels
<a name="Database-Insights-calling"></a>

Database Insights affiche les services et les opérations qui appellent votre instance de base de données. Database Insights s'intègre à CloudWatch Application Signals pour fournir des mesures pour chaque service et chaque opération, notamment la disponibilité, la latence, les erreurs et le volume.

Lorsque le point de terminaison appelé par l’application est un cluster Aurora, Database Insights affiche le point de terminaison d’écriture ou de lecture du cluster Aurora dans le tableau **Services appelants**, et non l’instance de base de données individuelle. Cependant, lorsque le point de terminaison appelé par l’application est un cluster Amazon RDS, Database Insights affiche l’instance de base de données spécifique que l’application appelle au sein du cluster Amazon RDS.

![\[Onglet Services d’appels\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did-calling.png)


## Analysez les performances des bases de données à la demande avec CloudWatch Database Insights
<a name="Database-Insights-On-demand-Analysis"></a>

Analysez les performances des bases de données grâce à des analyses à la demande de vos bases de données Amazon RDS avec CloudWatch Database Insights.

Vous pouvez exécuter une analyse des performances à la demande en sélectionnant **Analyser les performances** dans le coin supérieur droit du graphique de **charge de la base** de données. Le rapport s'exécutera pendant la période sélectionnée. Utilisez l’onglet **Analyse des performances** pour afficher les rapports d’analyse des performances des bases de données de votre parc.

![\[Onglet Analyse des performances\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_dl-perfanalysis.png)


Pour plus d’informations sur les rapports d’analyse des performances pour Amazon Aurora, consultez [Analyse des performances de la base de données pour une période donnée](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod.html) dans le *Guide de l’utilisateur Amazon Aurora*.

## Intégrer les informations CloudWatch de base de données aux signaux des CloudWatch applications
<a name="Database-Insights-Integration-Application-Signals"></a>

Intégrez les informations CloudWatch de base de données aux signaux des CloudWatch applications.

Utilisez l'onglet **Services d'appel** pour afficher les services et les opérations CloudWatch Application Signals qui ont appelé un point de terminaison de l'instance sélectionnée. Par défaut, CloudWatch trie le tableau par taux d'erreur. Choisissez des valeurs dans les colonnes **Services**, **Opérations** ou **Adresse du point de terminaison** pour afficher la ressource correspondante dans la console CloudWatch Application Signals.

Pour plus d'informations sur les systèmes pris en charge pour les signaux CloudWatch d'application, consultez[Systèmes pris en charge](CloudWatch-Application-Signals-supportmatrix.md).

# Analyse des arborescences de verrouillage pour Amazon Aurora PostgreSQL et Amazon RDS pour PostgreSQL avec Database Insights CloudWatch
<a name="Database-Insights-Lock-Analysis"></a>

Pour résoudre les problèmes de performances causés par les verrous, vous pouvez analyser les arborescences de verrous des bases de données Amazon Aurora PostgreSQL et Amazon RDS for PostgreSQL avec Database Insights en utilisant les méthodes suivantes. CloudWatch 
+ Menu déroulant **Tranché par** : sélectionnez les dimensions **Objet bloquant**, **Session bloquante** ou **SQL bloquant** dans le graphique **Charge de base de données** pour voir comment les principaux bloqueurs distincts contribuent à la charge de base de données au fil du temps. Grâce au graphique de charge de base de données, vous pouvez analyser si les principaux bloqueurs sont constants ou changent souvent. Vous pouvez ensuite résoudre les problèmes liés aux bloqueurs.  
![\[Tableau SQL fréquemment utilisé avec la session de blocage sélectionnée dans le menu déroulant Tranché par\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/DBInsights_TopSQLBlocking.png)
+ Onglet **Analyse des verrous** : sélectionnez **Analyse de la charge de base de données**, puis l’onglet **Analyse des verrous** pour afficher les informations relatives aux conflits de verrous dans votre base de données.  
![\[Tableau Arbres de verrous dans le tableau de bord de charge de base de données\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/DBInsights_LoadLockAnalysis.png)

**Note**  
CloudWatch Database Insights prend en charge l'analyse des verrous pour toutes les versions d'Aurora PostgreSQL. Pour analyser les arbres de verrous, vous devez activer le mode avancé de Database Insights. Pour plus d’informations sur l’activation du mode avancé, consultez [Activation du mode avancé de Database Insights pour Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) et [Activation du mode avancé de Database Insights pour Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html)

L’onglet Analyse des verrous fournit des informations sur les conflits de verrous dans votre base de données. La visualisation de l’arborescence des verrous montre les relations et les dépendances entre les requêtes de verrous provenant de différentes sessions.

Database Insights capture des instantanés toutes les 15 secondes. Les instantanés affichent les données de verrouillage de votre base de données à un moment donné.

**Note**  
En cas de CloudWatch détection d'un **verrouillage élevé, CloudWatch affiche la bannière Verrouillage élevé détecté** dans l'onglet **Analyse du verrouillage**. CloudWatch détecte un verrouillage élevé s' CloudWatch il prend un instantané du verrouillage pour chaque intervalle de 15 secondes pendant 15 minutes consécutives.

Chaque nœud de l’arborescence représente une session spécifique. Le nœud parent est une session qui bloque ses nœuds enfants.

Pour analyser les arborescences de verrouillage, procédez comme suit.

**Pour analyser les arborescences de verrouillage**

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

1. Choisissez **Informations**.

1. Choisissez **Database Insights**.

1. Sélectionnez la vue **Instance de base de données**.

1. Choisissez une instance de base de données.

1. Sélectionnez l’onglet **Analyse de la charge de base de données**.

1. Sélectionnez l’onglet **Analyse des verrous**.

   Pour afficher les données de verrouillage d’une instance de base de données, sélectionnez une période d’un jour ou moins.

1. Sélectionnez une fenêtre d’instantané. Par défaut, Database Insights sélectionne la fenêtre d’instantané comportant le plus grand nombre de sessions bloquées.  
![\[Tableau d’analyse des verrous\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_lock-analysis.png)

1. Pour afficher les données de verrouillage d’un instantané, sélectionnez l’heure à laquelle Database Insights a pris l’instantané.

1. Pour développer un arbre de verrouillage, sélectionnez la flèche à côté de l’ID de session.  
![\[Arbre de verrouillage développé\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_lock-analysis-expand.png)

## Données d’instantané de verrouillage
<a name="Database-Insights-Lock-Analysis-snapshot-data"></a>

Database Insights fournit les informations suivantes pour chaque requête de verrouillage. Pour afficher les colonnes qui ne sont pas activées par défaut, sélectionnez l’icône **Paramètres** du tableau **Arbres de verrouillage** et activez les autres colonnes.


| Nom de la colonne | Définition  | Colonne par défaut | Remarques | 
| --- | --- | --- | --- | 
|  `session_id`  | Identifiant de session unique. |  Oui  | Le `session_id` est dérivé de `HEX(pg_stat_activity.backend_start).HEX(pg_locks.pid)`. | 
|  `pid`  | PID de ce dorsal. |  Oui  | `pg_locks.pid` | 
|  `blocked_sessions_count`  | Le nombre de sessions bloquées par ce verrou. |  Oui  | Le `blocked_sessions_count` est dérivé du nombre de sessions IDs bloquées par ce verrou. | 
|  `last_query_executed`  | La dernière requête exécutée par cette session. Pour les bloqueurs, il peut ne pas s’agir de la requête qui détient le verrou de blocage. |  Oui  | `pg_stat_activity.query` | 
|  `wait_event`  | Le nom de l’événement d’attente si le dorsal est actuellement en attente, sinon la valeur est NULL. |  Oui  | `pg_stat_activity.wait_event` | 
|  `blocking_time_(In Seconds)`  | Le temps (en secondes) écoulé depuis le début de ce verrou. |  Oui  | Le `blocking_time_(In Seconds)` est dérivé de l’heure de début de la transaction en attente (`pg_locks.waitstart`) pour le premier utilisateur en attente. | 
|  `blocking_mode`  | Le mode de verrouillage détenu par la session de blocage. |  Non  | `pg_locks.mode` | 
|  `waiting_mode`  | Le mode de verrouillage demandé par la session en attente. |  Non  | `pg_locks.mode` | 
|  `application`  | Le nom de l’application connectée à ce dorsal. |  Non  | `pg_stat_activity.application_name` | 
|  `blocking_txn_start_time`  | L’heure de début de la transaction de blocage ou null si aucune transaction n’est active. |  Non  | `pg_stat_activity.xact_start` | 
|  `waiting_start_time`  | L’heure à laquelle une session utilisateur en attente a commencé à attendre ce verrou, ou null si le verrou est détenu. |  Non  | `pg_locks.waitstart` | 
|  `session_start_time`  | L’heure à laquelle une session utilisateur a été démarrée. |  Non  | `pg_stat_activity.backend_start` | 
|  `state`  | L’état d’un dorsal.  |  Non  | `pg_stat_activity.state` | 
|  `wait_event_type`  | Le type d’événement d’attente pour lequel cette session est en attente. |  Non  | `pg_stat_activity.wait_event_type` | 
|  `last_query_exec_time`  | L’heure à laquelle la dernière requête a été démarrée. |  Non  | `pg_stat_activity.query_start` | 
|  `user`  | Le nom de l’utilisateur connecté à ce dorsal. |  Non  | `pg_stat_activity.usename` | 
|  `host`  | Le nom d’hôte du client connecté, tel que rapporté par une recherche DNS inverse de `client_addr`. Ce champ ne sera non nul que pour les connexions IP, et uniquement lorsque [log\$1hostname](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-HOSTNAME) est activé. |  Non  | `pg_stat_activity.client_hostname` | 
|  `port`  | Le numéro de port TCP utilisé par le client pour communiquer avec ce dorsal, ou `-1` si une socket Unix est utilisée. Si ce champ est nul, cela indique qu’il s’agit d’un processus serveur interne. |  Non  | `pg_stat_activity.client_port` | 
|  `client_address`  | L’adresse IP du client connecté à ce dorsal. Si ce champ est nul, cela indique soit que le client est connecté via une socket Unix sur l’ordinateur serveur, soit qu’il s’agit d’un processus interne tel que autovacuum. |  Non  | `pg_stat_activity.client_addr` | 
|  `granted`  | La valeur est vraie si le verrou est maintenu et fausse si le verrou est en attente. |  Non  | `pg_locks.granted` | 
|  `waiting_tuple`  |  Le numéro de tuple ciblé par le verrou dans la page, ou null si la cible n’est pas un tuple.  |  Non  | `pg_locks.tuple` | 
|  `waiting_page`  | Le numéro de page ciblé par le verrou dans la relation, ou null si la cible n’est pas une page de relation ou un tuple. |  Non  | `pg_locks.page` | 
|  `waiting_transaction_id`  | L’ID de la transaction ciblée par le verrou, ou null si la cible n’est pas un ID de transaction. |  Non  | `pg_locks.transactionid` | 
|  `waiting_relation`  | L’OID de la relation ciblée par le verrou, ou null si la cible n’est pas une relation ou une partie d’une relation. |  Non  | `pg_locks.relation` | 
|  `waiting_object_id`  | L’OID de la cible du verrou dans son catalogue système, ou null si la cible n’est pas un objet de base de données général. |  Non  | `pg_locks.objid` | 
|  `waiting_database_id`  | L’OID de la base de données dans laquelle la cible du verrou existe, ou zéro si la cible est un objet partagé, ou null si la cible est un ID de transaction. |  Non  | `pg_locks.database` | 
|  `waiting_database_name`  | Le nom de la base de données dans laquelle la cible du verrou existe. |  Non  | `pg_stat_activity.datname` | 
|  `waiting_locktype`  | Le type de l’objet verrouillable : relation, extension, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory ou applytransaction. |  Non  | `pg_locks.locktype` | 
|  `is_fastpath`  | La valeur est vraie si le verrou a été pris avec le chemin rapide et fausse s’il a été pris à partir de la table de verrouillage principale. |  Non  | `pg_locks.fastpath` | 

Pour plus d’informations sur les valeurs des vues `pg_stat_activity` et `pg_locks`, consultez les rubriques suivantes dans la documentation PostgreSQL.
+ [pg\$1locks](https://www.postgresql.org/docs/current/view-pg-locks.html)
+ [pg\$1stat\$1activity](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW)

# Analyse des plans d’exécution avec CloudWatch Database Insights
<a name="Database-Insights-Execution-Plans"></a>

Vous pouvez analyser les plans d’exécution pour les bases de données Amazon Aurora PostgreSQL, RDS for Microsoft SQL Server et Amazon RDS for Oracle à l’aide des méthodes suivantes.
+ Menu déroulant **Tranché par** : sélectionnez la dimension **Plans** dans le graphique **Charge de base de données** pour voir comment différents plans contribuent à la charge de base de données au fil du temps.
+ Onglet **SQL fréquemment utilisé** : sélectionnez **Analyse de la charge de base de données**, puis l’onglet **SQL fréquemment utilisé** pour afficher le nombre de plans pour chaque requête de synthèse.

  Pour analyser les plans d’exécution d’une requête de synthèse, sélectionnez la requête, puis l’onglet **Plans**. Pour plus d'informations, voir la procédure suivante.

## Prérequis
<a name="Database-Insights-Execution-Plans-prereqs"></a>

Pour analyser les plans d’exécution, vous devez utiliser le mode avancé de Database Insights. Pour plus d’informations sur l’activation du mode avancé, consultez [Activation du mode avancé de Database Insights pour Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html) et [Activation du mode avancé de Database Insights pour Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html).

Si vous utilisez Aurora PostgreSQL, vous devez également remplir les conditions préalables suivantes :
+ Votre instance de base de données doit utiliser Aurora PostgreSQL version 14.10, 15.5 ou ultérieure. Pour plus d’informations sur la mise à niveau de votre cluster de base de données Aurora PostgreSQL, consultez [Mettre à niveau des clusters de base de données Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.PostgreSQL.html) dans le *Guide de l’utilisateur Amazon Aurora*.
+ Vous devez configurer votre cluster de base de données pour analyser les plans d’exécution en définissant le paramètre `aurora_compute_plan_id` sur `on` avec l’une des options suivantes.
  + [Création d’un groupe de paramètres de base de données dans Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html) dans le *Guide de l’utilisateur Amazon Aurora*
  + [Modification des paramètres d’un groupe de paramètres de base de données dans Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.ModifyingCluster.html) dans le *Guide de l’utilisateur Amazon Aurora*

## Analyser les plans d’exécution
<a name="Database-Insights-Execution-Plans-analyze"></a>

Pour analyser les plans d’exécution, veuillez suivre la procédure suivante.

**Pour analyser les plans d’exécution**

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

1. Choisissez **Informations**.

1. Choisissez **Database Insights**.

1. Sélectionnez la vue **Instance de base de données**.

1. Choisissez une instance de base de données.

1. Choisissez l'onglet **Top SQL (Principaux éléments SQL)**. La colonne **Nombre de plans** indique le nombre de plans collectés pour chaque requête de synthèse.

1. (Facultatif) Si la colonne **Nombre de plans** n’apparaît pas, sélectionnez l’icône **Paramètres** dans le tableau **SQL fréquemment utilisé** pour personnaliser la visibilité et l’ordre des colonnes.  
![\[Paramètres du tableau des détails du plan\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/DBInsights2.png)

1. Sélectionnez une requête de synthèse pour la développer en ses instructions composantes.  
![\[Développez une requête en ses instructions composantes\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload-expand.png)

1. Faites défiler vers le bas et affichez le texte SQL. Sélectionnez ensuite l’onglet **Plans**.

   Par défaut, CloudWatch affiche le plan d’exécution estimé. Pour Aurora PostgreSQL, pour afficher les plans d’exécution réels, activez le paramètre `aurora_stat_plans.with_analyze` pour votre instance de base de données. Pour plus d’informations sur le paramètre `aurora_stat_plans.with_analyze`, consultez [Surveillance des plans d’exécution des requêtes et de la mémoire maximale pour Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Monitoring.Query.Plans.html#aurora.with_analyze) dans le *Guide de l’utilisateur Amazon Aurora*.

1. Pour comparer les plans d’une même requête de synthèse, sélectionnez deux **Plans** dans la liste **Plans pour la requête de synthèse**.

   Vous pouvez afficher un ou deux plans pour une requête à la fois. Dans la capture d’écran suivante, les deux plans concernent Aurora PostgreSQL.   
![\[Comparer les plans\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_did-plans.png)

1. Vous pouvez également afficher la contribution de chaque plan à DBLoad au fil du temps en sélectionnant **Plans** dans le menu déroulant **Trancher par** du graphique DBLoad.  
![\[Database load chart showing active sessions over time with plans contribution highlighted.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/DBInsights_OverTime.png)

# Surveillance des bases de données Aurora Limitless avec Database Insights
<a name="database-insights-limitless"></a>

Database Insights prend en charge la surveillance des bases de données [Aurora PostgreSQL Limitless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.Engines.html) au niveau de la flotte et des instances. Vos bases de données Aurora PostgreSQL Limitless sont visibles à la fois dans le tableau de bord des instances de base de données et dans le tableau de bord de l’état de la flotte.

Les bases de données Aurora PostgreSQL Limitless utilisent des *groupes de partitions*. Chaque groupe de partitions est composé de plusieurs instances de base de données qui fonctionnent ensemble pour traiter les charges de travail distribuées. Database Insights vous aide à comprendre la répartition de la charge entre les instances d’un groupe de partitions.

Dans le tableau de bord État de la flotte, Database Insights assure la surveillance de vos groupes de partitions Limitless ainsi que des autres bases de données qui composent vos flottes de bases de données. Vous pouvez obtenir une vision précise de l'état et de l'utilisation de vos groupes de DBLoad partitions Limitless de la même manière que vous le faites pour les autres bases de données du parc. Dans le tableau de bord des instances, Database Insights assure la surveillance à la fois au niveau du groupe de partitions et pour les instances individuelles au sein du groupe. Database Insights fournit une nouvelle vue par groupe de partitions où vous pouvez voir la charge de la base de données répartie entre les instances du groupe de partitions. À partir de là, vous pouvez accéder au tableau de bord d’instance spécifique au sein d’un groupe de partitions.

## Fonctionnalités disponibles pour Aurora Limitless
<a name="database-insights-limitless-features"></a>

Le tableau suivant présente les fonctionnalités disponibles pour les bases de données Aurora PostgreSQL Limitless. Il indique si chaque fonctionnalité est prise en charge dans les modes de surveillance Standard et Avancé, si elle est disponible au niveau du groupe de partitions, au niveau de l’instance, et si elle est disponible dans le tableau de bord Flotte ou Instance de Database Insights.


| Fonctionnalité | Standard | Advanced (Avancé) | ShardGroup | Instance | Tableau de bord Database Insights | 
| --- | --- | --- | --- | --- | --- | 
| Analyser les principaux contributeurs à la charge de base de données par dimension | Pris en charge | Pris en charge | Oui | Oui | Instance | 
| Interroger, représenter graphiquement et définir des alarmes sur les métriques de base de données avec une conservation pouvant aller jusqu’à 7 jours | Pris en charge | Pris en charge | Oui | Oui | Instance | 
| Définir des politiques de contrôle précis des accès pour restreindre l’accès aux dimensions potentiellement sensibles telles que le texte SQL | Pris en charge | Pris en charge | Oui | Oui | Instance | 
| Utiliser le composant Répartition de la charge pour analyser la répartition de la charge entre les instances d’un même groupe de partitions | Pris en charge | Pris en charge | Oui | Non | Instance | 
|  Analyser les processus du système d’exploitation qui se déroulent dans vos bases de données avec des métriques détaillées par processus en cours d’exécution [Amazon RDS Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html) est nécessaire pour que cette fonctionnalité fonctionne.  | Non pris en charge | Pris en charge | Non | Oui | Instance | 
| Créer et enregistrer des vues de surveillance à l’échelle de la flotte pour évaluer l’état de centaines de bases de données | Non pris en charge | Pris en charge | Oui | Non | Flotte | 
| Analyser les verrous SQL avec une conservation de 15 mois et une expérience utilisateur guidée | Non pris en charge | Non pris en charge | Non | Non | Instance | 
| Analyser les plans d’exécution SQL avec une conservation de 15 mois et une expérience utilisateur guidée | Non pris en charge | Non pris en charge | Non | Non | Instance | 
| Visualiser les statistiques par requête | Non pris en charge | Pris en charge | Non | Oui | Instance | 
| Analyser les requêtes SQL lentes L'exportation des journaux de base de données vers CloudWatch Logs est requise pour que cette fonctionnalité fonctionne. | Non pris en charge | Pris en charge | Non | Oui | Instance | 
| Afficher les services d'appel avec les signaux CloudWatch d'application | Non pris en charge | Pris en charge | Oui | Non | les deux | 
| Afficher un tableau de bord consolidé pour toutes les télémétries de base de données, y compris les métriques, les journaux, les événements et les applicationsL'exportation des journaux de base de données vers CloudWatch Logs est requise pour afficher les journaux de base de données dans la console Database Insights. | Non pris en charge | Pris en charge | Non | Oui | Instance | 
| Importez CloudWatch automatiquement les indicateurs de performance Insights dans | Non pris en charge | Pris en charge | N/A | N/A | Instance | 
| Afficher les événements Amazon RDS dans CloudWatch | Non pris en charge | Pris en charge | Oui | Non | les deux | 
| Analyser les performances de la base de données pour une période de votre choix grâce à l’analyse à la demande | Non pris en charge | Non pris en charge | Non | Non | Instance | 

**Note**  
La surveillance améliorée est automatiquement activée pour les bases de données Aurora PostgreSQL Limitless. La surveillance améliorée entraîne des frais supplémentaires. Pour plus d’informations, consultez la section [Coût de la surveillance améliorée](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.cost).   
Pour les bases de données Aurora PostgreSQL Limitless, les journaux sont automatiquement publiés dans Logs et peuvent CloudWatch être découverts dans la console Database Insights. Cela entraîne des frais supplémentaires, conformément à la tarification standard de CloudWatch Logs. Pour en savoir plus sur la tarification de CloudWatch Logs et Database Insights et pour des exemples de tarification, consultez [ CloudWatchles tarifs Amazon](https://aws.amazon.com/cloudwatch/pricing/?nc1=h_ls).

## Surveillance des groupes de partitions Aurora Limitless dans le tableau de bord État de la flotte
<a name="database-insights-limitless-fleet"></a>

 Database Insights prend en charge la surveillance des groupes de partitions Aurora Limitless dans le tableau de bord État de la flotte.

Dans cette vue, vous pouvez voir vos groupes de partitions Limitless ainsi que les autres bases de données qui composent vos flottes de bases de données. Le Fleet Health Dashboard fournit une vue précise de l'état de santé et de DBLoad l'utilisation de vos groupes de partitions Limitless, de la même manière qu'il présente les informations pour les autres bases de données de la flotte. 

![\[Tableau de bord État de la flotte de Database Insights. Le volet principal affiche une grille hexagonale représentant les instances de base de données, dont une est mise en évidence pour « shardgroup2 ». Il affiche l’utilisation de la charge de base de données pour les routeurs et les partitions. En haut à droite, un graphique présente les « 10 instances les plus utilisées par utilisation de la charge de base de données » au fil du temps. Vous trouverez ci-dessous des informations sur « db-microsoftsqlserver-enterprise -1-dbi-advanced », notamment les requêtes les plus fréquentes et les événements d'attente. Les sections inférieures n’indiquent aucun événement critique ni aucun service d’appel. La barre latérale gauche indique un total de 44 instances, dont 2 en état d’alarme, et une utilisation moyenne de la charge de base de données de 25,1 %.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_fhd.png)


 Lorsque vous affichez les bases de données Aurora Limitless dans le tableau de bord État de la flotte : 
+ Seuls les groupes de partitions sont visibles, pas les instances individuelles
+ Les groupes de partitions apparaissent dans les widgets suivants :
  + Le graphique en nid d’abeille
  + Le top 10 de DBLoad
  + Événements
  + Services d’appel
  + La liste des tables
+ DBLoad l'utilisation est prévue à la fois pour les routeurs et les partitions

Cette vue au niveau de la flotte vous permet de surveiller et de comparer les performances de vos groupes de partitions Aurora Limitless avec celles d’autres bases de données de votre flotte, offrant ainsi une vue d’ensemble complète de l’ensemble de votre flotte de bases de données.

![\[Tableau de bord Database Insights affichant une liste d’instances de base de données. Le tableau affiche 7 instances avec leur identifiant d’instance de base de données, leur état d’alarme, leur type de moteur, leur utilisation de la charge de base de données, leur dernière mise à jour d’état et leur version de base de données. Les moteurs incluent PostgreSQL, SQL Server Enterprise, Oracle Standard, Aurora MySQL et Aurora PostgreSQL. L’instance SQL Server présente la charge la plus élevée, à 25,21 %. Deux instances Aurora PostgreSQL sont étiquetées « Limitless » (illimitées) et affichent une utilisation distincte pour les partitions et les routeurs. L’interface comprend des options de filtrage, de tri et d’affichage de détails supplémentaires.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_fhd-limitless-list-view.png)


## Surveillance des bases de données Aurora PostgreSQL Limitless dans le tableau de bord des instances
<a name="database-insights-limitless-monitor"></a>

Database Insights fonctionne de la même manière pour les bases de données Aurora PostgreSQL Limitless que pour les clusters de bases de données Aurora standard. Cependant, vous suivez les métriques au niveau du groupe de partitions pour les bases de données Aurora PostgreSQL Limitless. Les deux principales métriques à suivre sont les suivantes :
+ **Charge de base de données** : mesure le niveau d’activité de votre base de données. La métrique clé est `DBLoad`, qui est collectée toutes les secondes. L’unité de la métrique `DBLoad` est le nombre moyen de sessions actives (AAS). Pour obtenir le nombre moyen de sessions actives, Database Insights échantillonne le nombre de sessions qui exécutent de manière simultanée une requête. L’AAS correspond au nombre total de sessions divisé par le nombre total d’échantillons pour une période déterminée.
+ **UC maximale** : puissance de calcul maximale disponible pour votre base de données. Pour voir si les sessions actives dépassent l’utilisation maximale de l’UC, examinez leur relation sur la ligne `Max vCPU`. La valeur `Max vCPU` est déterminée par le nombre de cœurs vCPU (processeur virtuel) de votre instance de base de données.

Vous pouvez également « diviser » la métrique `DBLoad` en dimensions, qui sont des sous-catégories de la métrique. Les dimensions les plus utiles sont les suivantes :
+ **Instances principales** : affiche la charge relative de la base de données pour vos instances ( les partitions et les routeurs) par ordre décroissant.
+ **Événements d’attente** : obligent les instructions SQL à attendre que des événements spécifiques se produisent avant de pouvoir continuer à s’exécuter. Les événements d’attente indiquent où le travail est entravé.
+ **SQL fréquemment utilisé** : affiche les requêtes qui contribuent le plus à la charge de la base de données.

![\[Tableau de bord Database Insights affichant les métriques de performances de la base de données. La section supérieure affiche un graphique linéaire suivant l’activité de la base de données de 12 h 00 à 14 h 45 le 14 juillet. En dessous, l’onglet Analyse de la charge de la base de données affiche une vue « Instances premières » répertoriant 4 instances de base de données (DTR-3-757, DTR-2-903, DAS-4-112 et DAS-5-992) avec leurs métriques d’utilisation de la charge, toutes affichant des valeurs inférieures à 0,01 AAS (sessions actives moyennes). L’interface comprend des options pour les états d’alarme, les filtres et diverses vues d’analyse.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_limitless-top-instances.png)


## Analyser la charge de la base de données pour les bases de données Aurora PostgreSQL Limitless avec Database Insights
<a name="database-insights-limitless-dbload"></a>

Avec Database Insights, vous pouvez suivre les métriques au niveau du groupe de partitions et au niveau de l’instance de base de données pour une base de données Aurora PostgreSQL Limitless. Lorsque vous analysez la charge de la base de données pour une base de données Aurora PostgreSQL Limitless, vous voulez comparer la charge de la base de données pour chaque partition et routeur au vCPU maximal.

La vue Absolu affiche le nombre de sessions actives moyennes (AAS) et le vCPU estimé. La vue Relatif affiche le rapport entre les AAS et le vCPU estimé.

![\[Tableau de bord Database Insights affichant la répartition de la charge de la base de données pour un cluster Aurora PostgreSQL shardgroup1. L’interface affiche un graphique à séries temporelles des sessions actives moyennes (AAS) et un graphique circulaire indiquant la répartition de la charge entre 5 instances de base de données. Le graphique circulaire indique un total de 261 AAS avec des pourcentages répartis entre les instances DTR-2-103, DTR-3-650, DAS-4-659, DAS-5-784 et DAS-6-336. Le tableau de bord comprend des filtres, des états d’alarmes et des options de télémétrie de base de données.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/dbi_limitless-doughnut.png)


### Analyse de la charge relative de la base de données à l’aide du tableau de bord Database Insights
<a name="analyzing-relative-db-load"></a>

Vous pouvez vouloir améliorer les performances de votre base de données Aurora PostgreSQL Limitless en suivant la charge relative de la base de données. Pour analyser la charge relative de la base de données par instance pour votre base de données Aurora PostgreSQL Limitless, procédez comme suit.

**Pour analyser la charge relative de la base de données à l’aide de la console**

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

1. Dans le volet de navigation, sélectionnez Database Insights.

1. Sélectionnez une base de données Aurora PostgreSQL Limitless. Le tableau de bord Database Insights s’affiche pour cette base de données Aurora PostgreSQL Limitless.

1. Dans la section Charge de base de données (Charge DB), sélectionnez *Instances* pour *Divisé par*. Pour afficher le rapport entre le nombre moyen de sessions actives (AAS) et les cœurs vCPU pour toutes les instances de votre base de données Aurora PostgreSQL Limitless, sélectionnez *Relatif* pour *Affiché comme*.

   Le graphique Sessions actives moyennes affiche la charge de la base de données pour les instances de votre base de données Aurora PostgreSQL Limitless.

1. Pour afficher les instances principales, sélectionnez l’onglet *Instances principales*.

1. (Facultatif) Pour analyser la charge de base de données d’une instance de votre base de données Aurora PostgreSQL Limitless, sélectionnez le nom de l’instance dans la colonne *Instances*. 

### Analyse de la charge de base de données par attentes à l’aide du tableau de bord Database Insights
<a name="analyzing-db-load-waits"></a>

Il est possible d’améliorer les performances de votre base de données Aurora PostgreSQL Limitless en suivant les événements d’attente. Pour analyser la charge de base de données par événements d’attente pour votre base de données Aurora PostgreSQL Limitless, procédez comme suit.

**Pour analyser la charge de base de données par temps d’attente pour la base de données Aurora PostgreSQL Limitless à l’aide de la console**

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

1. Dans le volet de navigation, sélectionnez Database Insights.

1. Sélectionnez une base de données Aurora PostgreSQL Limitless. Le tableau de bord Database Insights s’affiche pour cette base de données Aurora PostgreSQL Limitless.

1. Dans la section Charge de base de données (Charge DB), sélectionnez *Temps d’attente* pour *Divisé par*. Pour afficher le nombre d’AAS et le nombre estimé de vCPU, choisissez *Absolues* pour *Considéré comme*.

   Le graphique Sessions actives moyennes affiche la charge de base de données pour les instances de votre base de données Aurora PostgreSQL Limitless.

1. Faites défiler jusqu’à l’onglet *Top SQL* (Principaux éléments SQL).

1. Sélectionnez l’instruction SQL pour la développer en ses instructions composantes.

### Analyse de la répartition de la charge à l’aide du tableau de bord Database Insights
<a name="analyzing-db-load-distribution"></a>

Il est possible d’équilibrer la répartition de la charge pour les instances de votre base de données Aurora PostgreSQL Limitless. Pour analyser la répartition de la charge des instances sur une base de données Aurora PostgreSQL Limitless, procédez comme suit.

**Pour analyser la répartition de la charge des instances sur une base de données Aurora PostgreSQL Limitless à l’aide de la console**

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

1. Dans le volet de navigation, sélectionnez Database Insights.

1. Sélectionnez une base de données Aurora PostgreSQL Limitless. Le tableau de bord Database Insights s’affiche pour cette base de données Aurora PostgreSQL Limitless.

1. Dans la section Charge de base de données (Charge DB), sélectionnez *Instances* pour *Divisé par*. Pour afficher le nombre d’AAS et le nombre estimé de vCPU pour toutes les instances de votre base de données Aurora PostgreSQL Limitless, choisissez *Absolues* pour *Considéré comme*.

   Le graphique Sessions actives moyennes affiche la charge de base de données pour les instances de votre base de données Aurora PostgreSQL Limitless.

1. Pour afficher un graphique de la répartition de la charge des instances de votre base de données Aurora PostgreSQL Limitless, sélectionnez l’onglet *Répartition de la charge*.

# Dépannage pour CloudWatch Database Insights
<a name="Database-Insights-Troubleshooting"></a>

Utilisez les informations suivantes pour résoudre les problèmes liés à CloudWatch Database Insights.

## Application de balises aux ressources Amazon RDS
<a name="Database-Insights-Troubleshooting-tags"></a>

Pour appliquer des balises à vos bases de données, utilisez l’API Amazon RDS, l’AWS CLI ou la console Amazon RDS. Pour plus d’informations, consultez les rubriques suivantes.
+ [AddTagsToResource](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddTagsToResource.html) dans la *Référence API Amazon RDS*
+ [add-tags-to-resource](https://docs.aws.amazon.com/cli/latest/reference/rds/add-tags-to-resource.html) dans la *Référence des commandes en ligne Amazon RDS*
+ [Balisage des ressources Amazon Aurora et Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) dans le *Guide de l’utilisateur Amazon Aurora*

## Nombre maximal d’instances de base de données pour les flottes
<a name="Database-Insights-Troubleshooting-fleet-limit"></a>

Vous ne pouvez pas surveiller plus de 500 instances de base de données dans une flotte de bases de données. Vous pouvez utiliser des filtres pour créer une vue de l’état de la flotte avec moins de 500 instances de base de données.

# Utiliser Contributor Insights pour analyser des données à cardinalité élevée
<a name="ContributorInsights"></a>

Vous pouvez utiliser Contributor Insights pour analyser les données des journaux et créer des séries chronologiques qui affichent les données des contributeurs. Vous pouvez voir les mesures concernant les premiers contributeurs, le nombre total de contributeurs uniques et leur utilisation. Cela vous aide à trouver les principaux intervenants et à comprendre qui ou ce qui a un impact sur les performances du système. Par exemple, vous pouvez trouver de mauvais hôtes, identifier les utilisateurs du réseau les plus nombreux ou trouver ceux URLs qui génèrent le plus d'erreurs.

Vous pouvez créer vos règles à partir de zéro, et lorsque vous les utilisez, AWS Management Console vous pouvez également utiliser les exemples de règles qui ont AWS été créés. Les règles définissent les champs de journal que vous souhaitez utiliser pour définir des contributeurs, tels qu'`IpAddress`. Vous pouvez également filtrer les données du journal pour rechercher et analyser le comportement des contributeurs individuels.

CloudWatch fournit également des règles intégrées que vous pouvez utiliser pour analyser les métriques d'autres AWS services.

Toutes les règles analysent les données entrantes en temps réel.

Si vous êtes connecté à un compte configuré en tant que compte de surveillance dans le cadre de l'observabilité CloudWatch entre comptes, vous pouvez créer des règles Contributor Insights dans ce compte de surveillance afin d'analyser les groupes de journaux dans les comptes sources et dans le compte de surveillance. Vous pouvez également créer une règle unique qui analyse les groupes de journaux dans plusieurs comptes. Pour de plus amples informations, veuillez consulter [CloudWatch observabilité entre comptes](CloudWatch-Unified-Cross-Account.md).

Avec Contributor Insights, vous êtes facturé pour chaque occurrence d’un événement du journal qui correspond à une règle. Pour plus d'informations, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

**Note**  
Contributor Insights ne peut faire correspondre les entrées de journal que lorsque les valeurs numériques référencées par la règle sont comprises entre -1e9 et 1e9. Si une valeur dans une entrée de journal se trouve en dehors de cette plage, Contributor Insights ignore cette entrée de journal.

**Topics**
+ [Créez une règle Contributor Insights dans CloudWatch](ContributorInsights-CreateRule.md)
+ [Syntaxe des règles de Contributor Insights dans CloudWatch](ContributorInsights-RuleSyntax.md)
+ [CloudWatch Exemples de règles de Contributor Insights](ContributorInsights-Rule-Examples.md)
+ [Afficher les rapports Contributor Insights dans CloudWatch](ContributorInsights-ViewReports.md)
+ [Représentation graphique des métriques générées par les règles dans CloudWatch](ContributorInsights-GraphReportData.md)
+ [Utilisation des règles intégrées de Contributor Insights dans CloudWatch](ContributorInsights-BuiltInRules.md)

# Créez une règle Contributor Insights dans CloudWatch
<a name="ContributorInsights-CreateRule"></a>

Vous pouvez créer des règles pour analyser les données du journal. Tous les journaux au format JSON ou CLF (Common Log Format) peuvent être évalués. Cela inclut vos journaux personnalisés qui suivent l'un de ces formats et les journaux provenant de AWS services tels que les journaux de flux Amazon VPC, les journaux de requêtes DNS Amazon Route 53, les journaux de conteneurs Amazon ECS et les journaux provenant d' AWS CloudTrail Amazon SageMaker AI, d'Amazon RDS et d'API AWS AppSync Gateway.

Dans une règle, lorsque vous spécifiez des noms ou des valeurs de champ, toutes les correspondances sont sensibles à la casse.

Vous pouvez utiliser des exemples de règles intégrés lorsque vous créez une règle ou vous pouvez créer votre propre règle à partir de zéro. Contributor Insights inclut des exemples de règles pour les types de journaux suivants :
+ Journaux Amazon API Gateway
+ Journaux de requêtes DNS publics Amazon Route 53
+ Journaux de requête Amazon Route 53 Resolver
+ CloudWatch journaux de Container Insights
+ Journaux de flux VPC

Si vous êtes connecté à un compte configuré en tant que compte de surveillance dans le cadre de l'observabilité CloudWatch entre comptes, vous pouvez créer des règles Contributor Insights pour les groupes de journaux dans les comptes sources liés à ce compte de surveillance, en plus de créer des règles pour les groupes de journaux dans le compte de surveillance. Vous pouvez également configurer une règle unique qui surveille les groupes de journaux dans différents comptes. Pour de plus amples informations, veuillez consulter [CloudWatch observabilité entre comptes](CloudWatch-Unified-Cross-Account.md).

**Important**  
Lorsque vous accordez l'`cloudwatch:PutInsightRule`autorisation à un utilisateur, celui-ci peut par défaut créer une règle qui évalue n'importe quel groupe de CloudWatch journaux dans Logs. Vous pouvez ajouter des conditions de politique IAM qui limitent ces autorisations pour qu'un utilisateur inclue et exclue des groupes de journaux spécifiques. Pour de plus amples informations, veuillez consulter [Utilisation de clés de condition pour limiter l'accès des utilisateurs Contributor Insights aux groupes de journaux](iam-cw-condition-keys-contributor.md).

**Pour créer une règle à l'aide d'un exemple de règle intégré**

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

1. Dans le volet de navigation, sélectionnez **Journaux**, **Contributor Insights**.

1. Choisissez **Créer une règle**.

   

1.  Pour **Select log group(s)** (Sélectionner le(s) groupe(s) de journaux), sélectionnez le ou les groupes de journaux que la règle doit surveiller. Vous pouvez sélectionner jusqu'à 20 groupes de journaux. Si vous êtes connecté à un compte de surveillance configuré pour l'observabilité CloudWatch entre comptes, vous pouvez sélectionner des groupes de journaux dans les comptes sources, et vous pouvez également définir une règle unique pour analyser les groupes de journaux dans différents comptes. 

   1.  (Facultatif) Pour sélectionner tous les groupes de journaux dont le nom commence par une chaîne spécifique, choisissez **Select by prefix match** (Sélectionner par correspondance du préfixe) dans la liste déroulante, puis saisissez le préfixe. S'il s'agit d'un compte de surveillance, vous pouvez éventuellement sélectionner les comptes dans lesquels effectuer la recherche, sinon tous les comptes sont sélectionnés. 
**Note**  
 Vous encourez des frais pour chaque événement de journal correspondant à votre règle. Si vous choisissez le **Select by prefix match** (Sélectionner par correspondance du préfixe) dans la liste déroulante, soyez attentif au nombre de groupes de journaux auxquels le préfixe peut correspondre. Si vous recherchez accidentellement plus de groupes de journaux que vous ne le souhaitez, des frais inattendus peuvent vous être facturés. Pour plus d'informations, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing). 

1. Pour **Rule type** (Type de règle), choisissez **Sample rule** (Exemple de règle). Ensuite, choisissez **Select sample rule** (Sélectionner un exemple de règle) et sélectionnez la règle.

1. Pour **Format du journal**, sélectionnez le format des journaux que la règle évaluera.

1. Pour **Transformers**, sélectionnez **Activer les informations des contributeurs sur les transformateurs** pour que la règle évalue les événements du journal une fois qu'ils ont été transformés par [ CloudWatch Logs log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html) transformation. Si vous choisissez d’activer cette option :
   + Si la règle évalue des groupes de journaux qui ont des transformateurs, elle est appliquée aux versions transformées des journaux.
   + Si la règle évalue des groupes de journaux qui n’ont pas de transformateurs, elle est appliquée aux versions originales des journaux.

   Si vous ne sélectionnez pas cette option, l’évaluation s’effectue sur les événements du journal originaux dans tous les groupes de journaux, même ceux qui utilisent le transformeur. 
**Note**  
Si un groupe de journaux dispose d’un transformateur et que la transformation échoue pour certains événements du journal, ces événements ne seront pas évalués par Contributor Insights. Pour plus d’informations sur l’analyse des échecs de transformation des journaux, consultez [Métriques et erreurs de transformation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Transformation-Errors-Metrics.html).

1.  La règle d’exemple que vous avez choisie a rempli les champs **Format du journal**, **Contribution**, **Filtres** et **Agrégation**. Vous pouvez ajuster ces valeurs, si vous le souhaitez. 

1. Choisissez **Suivant**.

1. Pour **Rule name (Nom de la règle)**, entrez un nom. Les caractères valides sont A-Z, a-z, 0-9, (trait d'union), (trait de soulignement) et (point).

1. Indiquez si vous souhaitez créer la règle dans un état désactivé ou activé. Si vous choisissez de l'activer, la règle commence immédiatement à analyser vos données. Vous encourez des frais lorsque vous exécutez des règles activées. Pour en savoir plus, consultez [Tarification Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

   Contributor Insights analyse uniquement les nouveaux événements de journal après la création d'une règle. Une règle ne peut pas traiter les événements des journaux précédemment traités par CloudWatch Logs.

1. (Facultatif) Pour **Tags** (Balises), ajoutez une ou plusieurs paires clé/valeur comme balises pour cette règle. Les balises peuvent vous aider à identifier et à organiser vos AWS ressources et à suivre vos AWS coûts. Pour de plus amples informations, veuillez consulter [Étiquette de vos ressources Amazon CloudWatch](CloudWatch-Tagging.md).

1. Choisissez **Créer**.

**Pour créer une règle à partir de zéro**

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

1. Dans le volet de navigation, sélectionnez **Journaux**, **Contributor Insights**.

1. Choisissez **Créer une règle**.

   

1.  Pour **Select log group(s)** (Sélectionner le(s) groupe(s) de journaux), sélectionnez le ou les groupes de journaux que la règle doit surveiller. Vous pouvez sélectionner jusqu'à 20 groupes de journaux. Si vous êtes connecté à un compte de surveillance configuré pour l'observabilité CloudWatch entre comptes, vous pouvez sélectionner des groupes de journaux dans les comptes sources, et vous pouvez également définir une règle unique pour analyser les groupes de journaux dans différents comptes. 

   1.  (Facultatif) Pour sélectionner tous les groupes de journaux dont le nom commence par une chaîne spécifique, choisissez **Select by prefix match** (Sélectionner par correspondance du préfixe) dans la liste déroulante, puis saisissez le préfixe. 
**Note**  
 Vous encourez des frais pour chaque événement de journal correspondant à votre règle. Si vous choisissez le **Select by prefix match** (Sélectionner par correspondance du préfixe) dans la liste déroulante, soyez attentif au nombre de groupes de journaux auxquels le préfixe peut correspondre. Si vous recherchez accidentellement plus de groupes de journaux que vous ne le souhaitez, des frais inattendus peuvent vous être facturés. Pour plus d'informations, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing). 

1. Pour **Rule type** (Type de règle), choisissez **Custom rule** (Règle personnalisée).

1. Pour le **Format de journal**, choisissez **JSON** ou **CLF**.

1. Pour **Transformers**, sélectionnez **Activer les informations des contributeurs sur les transformateurs** pour que la règle évalue les événements du journal une fois qu'ils ont été transformés par [ CloudWatch Logs log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html) transformation. Si vous choisissez d’activer cette option :
   + Si la règle évalue des groupes de journaux qui ont des transformateurs, elle est appliquée aux versions transformées des journaux.
   + Si la règle évalue des groupes de journaux qui n’ont pas de transformateurs, elle est appliquée aux versions originales des journaux.

   Si vous ne sélectionnez pas cette option, l’évaluation s’effectue sur les événements du journal originaux dans tous les groupes de journaux, même ceux qui utilisent le transformeur. 
**Note**  
Si un groupe de journaux dispose d’un transformateur et que la transformation échoue pour certains événements du journal, ces événements ne seront pas évalués par Contributor Insights. Pour plus d’informations sur l’analyse des échecs de transformation des journaux, consultez [Métriques et erreurs de transformation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Transformation-Errors-Metrics.html).

1. Vous pouvez terminer la création de la règle à l'aide de l'Assistant ou en choisissant l'onglet **Syntaxe** et en spécifiant manuellement la syntaxe de la règle.

   Pour continuer à utiliser l'Assistant, procédez comme suit :

   1. Pour **Contribution**, **Clé**, entrez un type de contributeur sur lequel vous souhaitez créer un rapport. Le rapport affiche les valeurs top-N pour ce type de contributeur.

      Les entrées valides sont tout champ de journal qui a des valeurs. Exemples : **requestId**, **sourceIPaddress** et **containerID**.

      Pour obtenir des informations sur la recherche des noms de champs de journal pour les journaux d'un groupe de journaux spécifique, consultez la rubrique [Recherche de champs de journal](#finding_log_fields).

      Les clés supérieures à 1 Ko sont tronquées à 1 Ko.

   1. (Facultatif) Choisissez **Add new key** (Ajouter une nouvelle clé) pour ajouter d'autres clés. Vous pouvez inclure jusqu'à quatre clés dans une règle. Si vous entrez plusieurs clés, les contributeurs du rapport sont définis par des combinaisons de valeurs uniques des clés. Par exemple, si vous spécifiez trois clés, chaque combinaison unique de valeurs pour les trois clés est comptée comme un contributeur unique.

   1. (Facultatif) Si vous souhaitez ajouter un filtre qui réduit la portée de vos résultats, choisissez **Add filter** (Ajouter un filtre). Pour **Match** (Correspondance), saisissez nom du champ de journal que vous souhaitez filtrer. Pour **Condition**, choisissez un opérateur de comparaison et saisissez une valeur que vous souhaitez filtrer. 

      Vous pouvez ajouter jusqu'à quatre filtres dans une règle. Plusieurs filtres sont joints par la logique AND, de sorte que seuls les événements de journal qui correspondent à tous ces filtres sont évalués.
**Note**  
Les tableaux qui suivent des opérateurs de comparaison, tels que `In`, `NotIn`, ou `StartsWith`, peuvent inclure jusqu'à 10 valeurs de chaîne. Pour plus d'informations sur la syntaxe des règles de Contributor Insights, veuillez consulter [Syntaxe des règles de Contributor Insights dans CloudWatch](ContributorInsights-RuleSyntax.md).

   1. Pour **Aggregate on** (Regrouper dans), choisissez **Count** (Nombre) ou **Sum** (Somme). Si vous choisissez **Count** (Nombre), le classement des contributeurs est basé sur le nombre d'occurrences. Si vous choisissez **Sum** (Somme), le classement est basé sur la somme agrégée des valeurs du champ que vous spécifiez pour **Contribution**, **Value** (Valeur).

1. Pour entrer votre règle en tant qu'objet JSON au lieu d'utiliser l'assistant, procédez comme suit :

   1. Choisissez l'onglet **Syntaxe**.

   1. Dans **Corps de la règle**, entrez l'objet JSON de votre règle. Pour de plus amples informations sur la syntaxe des règles, veuillez consulter [Syntaxe des règles de Contributor Insights dans CloudWatch](ContributorInsights-RuleSyntax.md). 

1. Choisissez **Suivant**.

1. Pour **Rule name (Nom de la règle)**, entrez un nom. Les caractères valides sont A-Z, a-z, 0-9, « - », « \$1 » et « . ».

1. Indiquez si vous souhaitez créer la règle dans un état désactivé ou activé. Si vous choisissez de l'activer, la règle commence immédiatement à analyser vos données. Vous encourez des frais lorsque vous exécutez des règles activées. Pour en savoir plus, consultez [Tarification Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

   Contributor Insights analyse uniquement les nouveaux événements de journal après la création d'une règle. Une règle ne peut pas traiter les événements des journaux précédemment traités par CloudWatch Logs.

1. (Facultatif) Pour **Tags** (Balises), ajoutez une ou plusieurs paires clé/valeur comme balises pour cette règle. Les balises peuvent vous aider à identifier et à organiser vos AWS ressources et à suivre vos AWS coûts. Pour de plus amples informations, veuillez consulter [Étiquette de vos ressources Amazon CloudWatch](CloudWatch-Tagging.md).

1. Choisissez **Suivant**.

1. Confirmez les paramètres que vous avez saisis, puis sélectionnez **Create rule** (Créer la règle).

Vous pouvez désactiver, activer ou supprimer les règles que vous avez créées.

**Pour activer, désactiver ou supprimer une règle dans Contributor Insights**

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

1. Dans le volet de navigation, sélectionnez **Journaux**, **Contributor Insights**.

1. Dans la liste des règles, cochez la case en regard d'une règle unique.

   Les règles intégrées sont créées par AWS les services et ne peuvent pas être modifiées, désactivées ou supprimées.

1. Choisissez **Actions**, puis choisissez l'option souhaitée.<a name="finding_log_fields"></a>

**Recherche de champs de journal**

Lorsque vous créez une règle, vous devez connaître les noms des champs dans les entrées de journal d'un groupe de journaux.

**Pour rechercher les champs de journal dans un groupe de journaux**

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

1. Dans le volet de navigation, sous **Logs (Journaux)**, choisissez **Insights**.

1. Sélectionnez un ou plusieurs groupes de journaux à interroger, au-dessus de l'éditeur de requête.

   Lorsque vous sélectionnez un groupe de CloudWatch journaux, Logs Insights détecte automatiquement les champs des données du groupe de journaux et les affiche dans le volet droit de la section **Champs découverts**. 

# Syntaxe des règles de Contributor Insights dans CloudWatch
<a name="ContributorInsights-RuleSyntax"></a>

Cette section explique la syntaxe des règles de Contributor Insights. Utilisez cette syntaxe uniquement lorsque vous créez une règle en entrant un bloc JSON. Si vous utilisez l'Assistant pour créer une règle, vous n'avez pas besoin de connaître la syntaxe. Pour de plus amples informations sur la création de règles à l'aide de l'Assistant, veuillez consulter [Créez une règle Contributor Insights dans CloudWatch](ContributorInsights-CreateRule.md).

Toutes les correspondances entre les règles et les noms et valeurs des champs d'événements de journal sont sensibles à la casse.

L'exemple suivant illustre la syntaxe des journaux JSON.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "API-Gateway-Access-Logs*",
        "Log-group-name2"
    ],
    "LogFormat": "JSON",
    "Contribution": {
        "Keys": [
            "$.ip"
        ],
        "ValueOf": "$.requestBytes",
        "Filters": [
            {
                "Match": "$.httpMethod",
                "In": [
                    "PUT"
                ]
            }
        ]
    },
    "AggregateOn": "Sum"
}
```Champs dans les règles de Contributor Insights

Schema  
 La valeur de `Schema` pour une règle qui analyse les données des CloudWatch journaux doit toujours être `{"Name": "CloudWatchLogRule", "Version": 1}` 

LogGroupNames  
 Tableau de chaînes. Pour chaque élément du tableau, vous pouvez éventuellement utiliser `*` à la fin d'une chaîne pour inclure tous les groupes de journaux dont les noms commencent par ce préfixe.   
Veillez à utiliser des caractères génériques avec des noms de groupes de journaux. Vous encourez des frais pour chaque événement de journal correspondant à une règle. Si vous recherchez accidentellement plus de groupes de journaux que vous ne le souhaitez, des frais inattendus peuvent vous être facturés. Pour plus d'informations, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing).

LogGroupARNs  
Si vous créez cette règle dans un CloudWatch compte de surveillance d'observabilité entre comptes, vous pouvez l'utiliser `LogGroupARNs` pour spécifier des groupes de journaux dans les comptes sources liés au compte de surveillance, et pour spécifier des groupes de journaux dans le compte de surveillance lui-même. Vous devez spécifier `LogGroupNames` ou `LogGroupARNs` dans votre règle, mais pas les deux.  
 `LogGroupARNs` est un tableau de chaînes de caractères. Pour chaque élément du tableau, vous pouvez utiliser `*` comme caractère générique dans certaines situations. Par exemple, vous pouvez spécifier `arn:aws:logs:us-west-1:*:log-group/MyLogGroupName2` pour spécifier les groupes de journaux nommés `MyLogGroupName2` dans tous les comptes sources et dans le compte de surveillance, dans la région USA Ouest (Californie du Nord). Vous pouvez également spécifier `arn:aws:logs:us-west-1:111122223333:log-group/GroupNamePrefix*` pour spécifier tous les groupes de journaux dans la région USA Ouest (Californie du Nord) en 111122223333 dont le nom commence par `GroupNamePrefix`.  
Vous ne pouvez pas spécifier un identifiant de AWS compte partiel comme préfixe avec un joker.   
Faites attention lorsque vous utilisez des caractères génériques avec un groupe ARNs de journaux. Vous encourez des frais pour chaque événement de journal correspondant à une règle. Si vous recherchez accidentellement plus de groupes de journaux que vous ne le souhaitez, des frais inattendus peuvent vous être facturés. Pour plus d'informations, consultez [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing).

LogFormat  
 Les valeurs valides sont `JSON` et `CLF`. 

Contribution  
 Cet objet comprend un tableau `Keys` avec jusqu'à quatre membres, éventuellement un seul `ValueOf`, et éventuellement un tableau comportant jusqu'à quatre `Filters`. 

Clés  
 Tableau comportant jusqu'à quatre champs de journal utilisés comme dimensions pour classer les contributeurs. Si vous entrez plusieurs clés, chaque combinaison unique de valeurs pour les clés est comptabilisée comme un contributeur unique. Les champs doivent être spécifiés à l'aide de la notation de format de propriété JSON. 

ValueOf  
 (Facultatif) Spécifiez cette valeur uniquement lorsque vous spécifiez `Sum` comme valeur de `AggregateOn`. `ValueOf` spécifie un champ de journal avec des valeurs numériques. Dans ce type de règle, les contributeurs sont classés en fonction de leur somme de la valeur de ce champ, au lieu de leur nombre d'occurrences dans les entrées du journal. Par exemple, si vous souhaitez trier les contributeurs en fonction de leur `BytesSent` total sur une période, vous devez définir `ValueOf` sur `BytesSent` et spécifier `Sum` pour `AggregateOn`. 

Filtres  
 Spécifie un ensemble de quatre filtres maximum pour restreindre les événements du journal inclus dans le rapport. Si vous spécifiez plusieurs filtres, Contributor Insights les évalue avec un opérateur AND logique. Vous pouvez utiliser cela pour filtrer les événements de journal non pertinents dans votre recherche ou vous pouvez l'utiliser pour sélectionner un seul contributeur afin d'analyser son comportement.  
Chaque membre du tableau doit inclure un champ `Match` et un champ indiquant le type d'opérateur correspondant à utiliser.  
Le champ `Match` spécifie un champ journal à évaluer dans le filtre. Le champ journal est spécifié à l'aide de la notation de format de propriété JSON.  
Le champ opérateur correspondant doit être l'un des éléments suivants : `In`, `NotIn`, `StartsWith`, `GreaterThan`, `LessThan`, `EqualTo`, `NotEqualTo` ou `IsPresent`. Si le champ opérateur est `In`, `NotIn`, ou `StartsWith`, il est suivi d'un tableau de valeurs de chaîne à vérifier. Contributor Insights évalue le tableau de valeurs de chaîne avec un opérateur OR. Le tableau peut inclure jusqu'à 10 valeurs de chaîne.  
Si le champ opérateur est `GreaterThan`, `LessThan`, `EqualTo` ou `NotEqualTo`, il est suivi d'une seule valeur numérique à comparer.  
Si le champ opérateur est `IsPresent`, il est suivi de `true` ou de `false`. Cet opérateur met en correspondance les événements de journal selon que le champ de journal spécifié est présent ou non dans l'événement de journal. Le `isPresent` fonctionne uniquement avec des valeurs dans le nœud feuille des propriétés JSON. Par exemple, un filtre qui recherche des correspondances de `c-count` n'évalue pas un événement de journal avec une valeur de `details.c-count.c1`.  
Consultez les quatre exemples de filtres suivants :  

```
{"Match": "$.httpMethod", "In": [ "PUT", ] }
{"Match": "$.StatusCode", "EqualTo": 200 }
{"Match": "$.BytesReceived", "GreaterThan": 10000}
{"Match": "$.eventSource", "StartsWith": [ "ec2", "ecs" ] }
```

AggregateOn  
 Les valeurs valides sont `Count` et `Sum`. Spécifie si le rapport doit être agrégé en fonction d'un nombre d'occurrences ou d'une somme des valeurs du champ spécifié dans le champ `ValueOf`. 

**Notation de format de propriété JSON**

Les champs `Keys`, `ValueOf` et `Match` suivent le format de propriété JSON avec notation point, où `$` représente la racine de l'objet JSON. Ceci est suivi d'un point, puis d'une chaîne alphanumérique avec le nom de la sous-propriété. Plusieurs niveaux de propriétés sont pris en charge.

Le premier caractère de la chaîne doit être une lettre majuscule ou minuscule. Les caractères suivants de la chaîne peuvent être des lettres majuscules, minuscules ou des chiffres de 0 à 9.

La liste suivante illustre des exemples valides de format de propriété JSON :

```
$.userAgent
$.endpoints[0]
$.users[1].name
$.requestParameters.instanceId
```

**Champ supplémentaire dans les règles des journaux CLF**

Les événements du journal Common Log Format (CLF) n'ont pas de noms pour les champs comme le fait JSON. Pour fournir les champs à utiliser pour les règles Contributor Insights, un événement de journal CLF peut être traité comme un tableau avec un index commençant à partir de `1`. Vous pouvez spécifier le premier champ comme **"1"**, le second champ comme **"2"**, etc.

Pour faciliter la lecture d'une règle pour un journal CLF, vous pouvez utiliser `Fields`. Cela vous permet de fournir un alias de dénomination pour les emplacements de champ CLF. Par exemple, vous pouvez spécifier que l'emplacement « 4 » est une adresse IP. Une fois spécifié, `IpAddress` peut être utilisé comme propriété dans `Keys`, `ValueOf` et `Filters` dans la règle.

Voici un exemple de règle pour un journal CLF qui utilise le champ `Fields`.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "API-Gateway-Access-Logs*"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "4": "IpAddress",
        "7": "StatusCode"
    },
    "Contribution": {
        "Keys": [
            "IpAddress"
        ],
        "Filters": [
            {
                "Match": "StatusCode",
                "EqualTo": 200
            }
        ]
    },
    "AggregateOn": "Count"
}
```

# CloudWatch Exemples de règles de Contributor Insights
<a name="ContributorInsights-Rule-Examples"></a>

Cette section contient des exemples illustrant les cas d'utilisation des règles de Contributor Insights.

**Journaux de flux VPC : transfert d'octets par adresse IP source et destination**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "4": "srcaddr",
        "5": "dstaddr",
        "10": "bytes"
    },
    "Contribution": {
        "Keys": [
            "srcaddr",
            "dstaddr"
        ],
        "ValueOf": "bytes",
        "Filters": []
    },
    "AggregateOn": "Sum"
}
```

**Journaux de flux VPC : nombre le plus élevé de requêtes HTTPS**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "5": "destination address",
        "7": "destination port",
        "9": "packet count"
    },
    "Contribution": {
        "Keys": [
            "destination address"
        ],
        "ValueOf": "packet count",
        "Filters": [
            {
                "Match": "destination port",
                "EqualTo": 443
            }
        ]
    },
    "AggregateOn": "Sum"
}
```

**Journaux de flux VPC : connexions TCP rejetées**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "3": "interfaceID",
        "4": "sourceAddress",
        "8": "protocol",
        "13": "action"
    },
    "Contribution": {
        "Keys": [
            "interfaceID",
            "sourceAddress"
        ],
        "Filters": [
            {
                "Match": "protocol",
                "EqualTo": 6
            },
            {
                "Match": "action",
                "In": [
                    "REJECT"
                ]
            }
        ]
    },
    "AggregateOn": "Sum"
}
```

**Route 53 NXDomain réponses par adresse source**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.rcode",
                "StartsWith": [
                    "NXDOMAIN"
                ]
            }
        ],
        "Keys": [
            "$.srcaddr"
        ]
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "<loggroupname>"
    ]
}
```

**Requêtes Route 53 Resolver par nom de domaine**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [],
        "Keys": [
            "$.query_name"
        ]
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "<loggroupname>"
    ]
}
```

**Requêtes Route 53 Resolver par type de requête et adresse source**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [],
        "Keys": [
            "$.query_type",
            "$.srcaddr"
        ]
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "<loggroupname>"
    ]
}
```

# Afficher les rapports Contributor Insights dans CloudWatch
<a name="ContributorInsights-ViewReports"></a>

Pour afficher des graphiques des données de rapport et une liste classée des contributeurs trouvés par vos règles, procédez comme suit.

**Pour afficher vos rapports de règles**

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

1. Dans le volet de navigation, sélectionnez **Journaux**, **Contributor Insights**.

   

1. Dans la liste des règles, choisissez le nom d'une règle.

   Le graphique affiche les résultats de la règle au cours des trois dernières heures. Le tableau sous le graphique montre les 10 principaux contributeurs.

1. Pour modifier le nombre de contributeurs indiqué dans le tableau, choisissez **10 contributeurs principaux** en haut du graphique.

1. Pour filtrer le graphique afin d'afficher uniquement les résultats d'un seul contributeur, choisissez ce contributeur dans la légende du tableau. Pour afficher à nouveau tous les contributeurs, choisissez à nouveau le même contributeur dans la légende.

1. Pour modifier la plage de temps affichée dans le rapport, choisissez **15m** (15 min), **30m** (30 min), **1h** (1 h), **2h** (2 h), **3h** (3 h) ou **custom** (personnalisé) en haut du graphique.

   La plage de temps maximale pour l'état est de 24 heures, mais vous pouvez choisir une fenêtre de 24 heures qui s'est produite il y a 15 jours. Pour choisir une fenêtre horaire dans le passé, choisissez **personnalisée**, **absolue**, puis spécifiez votre fenêtre horaire.

1. Pour modifier la durée de la période utilisée pour l'agrégation et le classement des contributeurs, choisissez la **période** en haut du graphique. L'affichage d'une période plus longue montre généralement un rapport plus fluide avec peu de pointes. Si vous choisissez une période plus courte, vous êtes plus susceptible de voir des pics.

1. Pour ajouter ce graphique à un CloudWatch tableau de bord, choisissez **Ajouter au tableau de bord**.

1. Pour ouvrir la fenêtre de requête CloudWatch Logs Insights, les groupes de journaux de ce rapport étant déjà chargés dans la zone de requête, choisissez **Afficher les journaux**.

1. Pour exporter les données du rapport vers votre Presse-papiers ou un fichier CSV, choisissez **Exporter**.

# Représentation graphique des métriques générées par les règles dans CloudWatch
<a name="ContributorInsights-GraphReportData"></a>

Contributor Insights fournit une fonction mathématique métrique, `INSIGHT_RULE_METRIC`. Vous pouvez utiliser cette fonction pour ajouter les données d'un rapport Contributor Insights à un graphique dans l'onglet **Metrics** de la CloudWatch console. Vous pouvez également définir une alerte en fonction de cette fonction mathématique. Pour de plus amples informations sur les fonctions mathématiques de métrique, consultez [Utilisation d'expressions mathématiques avec des CloudWatch métriques](using-metric-math.md).

Pour utiliser cette fonction mathématique de métrique, vous devez être connecté à un compte disposant à la fois des autorisations `cloudwatch:GetMetricData` et `cloudwatch:GetInsightRuleReport`.



La syntaxe est`INSIGHT_RULE_METRIC(ruleName, metricName)`. *ruleName*est le nom d'une règle Contributor Insights. *metricName*est l'une des valeurs de la liste suivante. La valeur de *metricName* détermine le type de données renvoyé par la fonction mathématique.
+ `UniqueContributors` — le nombre de contributeurs uniques pour chaque point de données.
+ `MaxContributorValue` — la valeur du contributeur le plus important pour chaque point de données. L'identité du contributeur peut changer pour chaque point de données du graphique.

  Si cette règle est agrégée par `Count`, le contributeur le plus important pour chaque point de données est celui qui a le plus d'occurrences au cours de cette période. Si la règle est agrégée par `Sum`, le contributeur principal est le contributeur dont la somme est la plus élevée dans le champ de journal spécifié par la valeur `Value` de la règle pendant cette période.
+ `SampleCount` — le nombre de points de données correspondant à la règle.
+ `Sum` — la somme des valeurs de tous les contributeurs pendant la période représentée par ce point de données.
+ `Minimum` — la valeur minimale d'une observation unique au cours de la période représentée par ce point de données.
+ `Maximum` — la valeur maximale d'une observation unique pendant la période représentée par ce point de données.
+ `Average` — la valeur moyenne de tous les contributeurs au cours de la période représentée par ce point de données.

## Définition d'une alerte sur les données de métrique de Contributor Insights
<a name="ContributorInsights-GraphReportData-Alarm"></a>

À l'aide de la fonction `INSIGHT_RULE_METRIC`, vous pouvez définir des alertes sur les métriques générées par Contributor Insights. Par exemple, vous pouvez créer une alerte en fonction du pourcentage de connexions de Transmission Control Protocol (TCP) rejetées. Pour commencer avec ce type d'alerte, vous pouvez créer des règles comme celles présentées dans les deux exemples suivants :

**Exemple de règle : « RejectedConnectionsRule »**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "3": "interfaceID",
        "4": "sourceAddress",
        "8": "protocol",
        "13": "action"
    },
    "Contribution": {
        "Keys": [
            "interfaceID",
            "sourceAddress"
        ],
        "Filters": [
            {
                "Match": "protocol",
                "EqualTo": 6
            },
            {
                "Match": "action",
                "In": [
                    "REJECT"
                ]
            }
        ]
    },
    "AggregateOn": "Sum"
}
```

**Exemple de règle : « TotalConnectionsRule »**

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupNames": [
        "/aws/containerinsights/sample-cluster-name/flowlogs"
    ],
    "LogFormat": "CLF",
    "Fields": {
        "3": "interfaceID",
        "4": "sourceAddress",
        "8": "protocol",
        "13": "action"
    },
    "Contribution": {
        "Keys": [
            "interfaceID",
            "sourceAddress"
        ],
        "Filters": [{
            "Match": "protocol",
            "EqualTo": 6
        }],
        "AggregateOn": "Sum"
    }
}
```

Après avoir créé vos règles, vous pouvez sélectionner l'onglet **Mesures** dans la CloudWatch console, dans lequel vous pouvez utiliser les exemples d'expressions mathématiques métriques suivants pour représenter graphiquement les données rapportées par Contributor Insights :

**Exemple : expressions mathématiques appliquées aux métriques**

```
e1 INSIGHT_RULE_METRIC("RejectedConnectionsRule", "Sum")
e2 INSIGHT_RULE_METRIC("TotalConnectionsRule", "Sum")
e3 (e1/e2)*100
```

Dans cet exemple, l'expression mathématique appliquée à une métrique `e3` renvoie toutes les connexions TCP rejetées. Si vous souhaitez être averti lorsque 20 % des connexions TCP sont rejetées, vous pouvez modifier l'expression en changeant le seuil de `100` pour `20`.

**Note**  
Vous pouvez définir une alerte sur une métrique que vous surveillez à partir de la section **Metrics** (Métriques). Pendant que vous êtes sur l'onglet **Graphed metrics** (Métriques sous forme de graphique), vous pouvez sélectionner l'icône **Create alarm** (Créer une alerte) sous la colonne **Actions**. L'icône **Create alarm** Créer une alerte) ressemble à une cloche. 

Pour de plus amples informations sur la représentation graphique des métriques et l'utilisation des fonctions mathématiques des métriques, veuillez consulter la section suivante : [Ajouter une expression mathématique à un CloudWatch graphique](using-metric-math.md#adding-metrics-expression-console).

# Utilisation des règles intégrées de Contributor Insights dans CloudWatch
<a name="ContributorInsights-BuiltInRules"></a>

Vous pouvez utiliser les règles intégrées de Contributor Insights pour analyser les statistiques d'autres AWS services. Les services suivants prennent en charge les règles intégrées :
+ [Contributor Insights pour Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/contributorinsights.html) dans le *Guide du développeur Amazon DynamoDB*.
+ [Utilisation des règles intégrées de Contributor Insights](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html#privatelink-contributor-insights) dans le *Guide AWS PrivateLink *.

# Détectez les problèmes courants liés aux applications grâce à CloudWatch Application Insights
<a name="cloudwatch-application-insights"></a>

Vous pouvez utiliser Amazon CloudWatch Application Insights pour détecter les problèmes liés à vos applications. CloudWatch Application Insights facilite l'observabilité de vos applications et des AWS ressources sous-jacentes. Cette solution vous aide à configurer les meilleures surveillances pour vos ressources d’application, afin d’analyser en continu les données à la recherche de problèmes liés à vos applications. Application Insights, qui s'appuie sur d'[SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/wahtis.html)autres AWS technologies, fournit des tableaux de bord automatisés qui indiquent les problèmes potentiels liés aux applications surveillées, ce qui vous aide à isoler rapidement les problèmes récurrents liés à vos applications et à votre infrastructure. La visibilité accrue fournie par Application Insights sur l'état de vos applications réduit le temps moyen de réparation (MTTR) pour résoudre vos problèmes d'applications.

Lorsque vous ajoutez vos applications à Amazon CloudWatch Application Insights, celui-ci analyse les ressources des applications, recommande et configure les métriques et les connexions [CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)pour les composants de l'application. Les exemples de composants d'application incluent les bases de données principales SQL Server et les IIS/Web niveaux Microsoft. Application Insights analyse les modèles de métriques à l'aide de données d'historique pour identifier les anomalies et détecte en continu les erreurs et les exceptions à partir de vos journaux d'applications, de systèmes d'exploitation et d'infrastructure. La solution met en corrélation ces observations à l'aide d'une combinaison d'algorithmes de classification et de règles préintégrées. Elle crée ensuite automatiquement des tableaux de bord qui affichent les observations pertinentes et les informations relatives à la gravité du problème afin de vous aider à hiérarchiser vos actions. Pour les problèmes courants liés aux piles d'applications .NET et SQL, tels que la latence des applications, les échecs de sauvegarde de SQL Server, les fuites de mémoire, les requêtes HTTP volumineuses et les I/O annulations d'opérations, il fournit des informations supplémentaires indiquant une cause première possible et les étapes à suivre pour les résoudre. L'intégration intégrée à [AWS SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html) vous OpsCenter permet de résoudre les problèmes en exécutant le document Systems Manager Automation correspondant. 

**Topics**
+ [Qu'est-ce qu'Amazon CloudWatch Application Insights ?](appinsights-what-is.md)
+ [Comment fonctionne Application Insights](appinsights-how-works.md)
+ [Prérequis, politiques IAM et autorisations](appinsights-accessing.md)
+ [Configurer l’application pour la surveillance](appinsights-setting-up.md)
+ [Observabilité inter-comptes Application Insights](appinsights-cross-account.md)
+ [Utiliser les configurations de composants](component-config.md)
+ [Utiliser des CloudFormation modèles](appinsights-cloudformation.md)
+ [Didacticiel : Configurer la surveillance pour SAP ASE](appinsights-tutorial-sap-ase.md)
+ [Didacticiel : configurer la surveillance pour SAP HANA](appinsights-tutorial-sap-hana.md)
+ [Tutoriel : Configuration de la surveillance pour SAP NetWeaver](appinsights-tutorial-sap-netweaver.md)
+ [Afficher et résoudre les problèmes Application Insights](appinsights-troubleshooting.md)
+ [Journaux et métriques pris en charge](appinsights-logs-and-metrics.md)

# Qu'est-ce qu'Amazon CloudWatch Application Insights ?
<a name="appinsights-what-is"></a>

CloudWatch Application Insights vous aide à surveiller vos applications qui utilisent des instances Amazon EC2 ainsi que d'autres ressources [applicatives](#appinsights-components). Cette solution identifie et configure des métriques, des journaux et des alertes clés sur vos ressources d'application et votre pile technologique (par exemple, votre base de données Microsoft SQL Server, les serveurs web (IIS) et d'applications, le système d'exploitation, les équilibreurs de charge et les files d'attente). Elle surveille en permanence les métriques et les journaux afin de détecter et de corréler les anomalies et les erreurs. Lorsque des erreurs et des anomalies sont détectées, Application Insights génère [CloudWatch des événements](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) que vous pouvez utiliser pour configurer des notifications ou prendre des mesures. Afin de faciliter le dépannage, elle crée des tableaux de bord automatisés pour les problèmes détectés, qui incluent les anomalies de métriques corrélées, les erreurs de journalisation, ainsi que des informations supplémentaires vous indiquant la cause racine potentielle. Les tableaux de bord automatisés vous aident à lancer des actions correctives pour maintenir l'intégrité de vos applications et pour empêcher tout impact sur les utilisateurs finaux de vos applications. Il crée également OpsItems pour que vous puissiez résoudre les problèmes à l'aide de [AWS SSM. OpsCenter](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)

Vous pouvez configurer des compteurs importants, tels que la transaction d'écriture en miroir, la longueur de la file d'attente de restauration et le délai de transaction, ainsi que l'ouverture de journaux d'événements Windows. CloudWatch Lorsqu'un événement ou un problème de basculement survient avec votre charge de travail SQL HA, tel qu'un accès restreint pour interroger une base de données cible, CloudWatch Application Insights fournit des informations automatisées.

CloudWatch Application Insights s'intègre [AWS Launch Wizard](https://docs.aws.amazon.com/launchwizard/latest/userguide/what-is-launch-wizard.html)pour fournir une expérience de configuration de surveillance en un clic pour le déploiement de charges de travail SQL Server HA sur. AWS Lorsque vous sélectionnez l'option permettant de configurer la surveillance et les informations avec Application Insights sur la [console Launch Wizard](https://console.aws.amazon.com/launchwizard), CloudWatch Application Insights configure automatiquement les métriques, les journaux et les alarmes pertinents CloudWatch, et commence à surveiller les charges de travail nouvellement déployées. Vous pouvez consulter les informations automatisées et les problèmes détectés, ainsi que l'état de vos charges de travail SQL Server HA, sur la CloudWatch console.

**Topics**
+ [Caractéristiques](#appinsights-features)
+ [Concepts](#appinsights-concepts)
+ [Tarification](#appinsights-pricing)
+ [Services connexes](#appinsights-related-services)
+ [Composants d'application pris en charge](#appinsights-components)
+ [Piles technologiques prises en charge](#appinsights-stack)

## Caractéristiques
<a name="appinsights-features"></a>

Application Insights fournit les fonctions ci-dessous.

**Configuration automatique des moniteurs pour les ressources d'application**  
CloudWatch Application Insights réduit le temps nécessaire à la configuration de la surveillance de vos applications. Pour ce faire, il analyse les ressources de votre application, fournit une liste personnalisable de métriques et de journaux recommandés, et les configure CloudWatch pour fournir la visibilité nécessaire sur les ressources de vos applications, telles qu'Amazon EC2 et Elastic Load Balancers (ELB). Cette solution configure également des alertes dynamiques sur des métriques surveillées. Les alertes sont automatiquement mises à jour en fonction des anomalies détectées au cours des deux dernières semaines. 

**Détection et notification des problèmes**  
CloudWatch Application Insights détecte les signes de problèmes potentiels liés à votre application, tels que les anomalies métriques et les erreurs de journal. La solution met en corrélation ces observations pour faire apparaître les problèmes potentiels de votre application. Il génère ensuite CloudWatch des événements, [qui peuvent être configurés pour recevoir des notifications ou prendre des mesures](appinsights-cloudwatch-events.md). Vous n'avez donc plus besoin de créer des alertes individuelles en fonction des métriques ou des erreurs de journaux. En outre, vous pouvez [configurer les notifications Amazon SNS](appinsights-problem-notifications.md) pour recevoir des alertes en cas de problèmes détectés.

**Résolution des problèmes**  
CloudWatch Application Insights crée des tableaux de bord CloudWatch automatiques pour les problèmes détectés. Les tableaux de bord affichent des détails sur le problème, notamment les anomalies métriques et les erreurs de journaux associées, afin de faciliter le dépannage. Ils fournissent également des informations supplémentaires qui vous indiquent les causes potentielles des anomalies et des erreurs. 

## Concepts
<a name="appinsights-concepts"></a>

Les concepts suivants sont importants pour comprendre comment Application Insights surveille votre application.

**Composant**  
Un groupement automatique, autonome ou personnalisé de ressources similaires qui constituent une application. Pour garantir une surveillance optimale, il est recommandé de regrouper les ressources similaires dans des composants personnalisés.

**Observation**  
Un événement individuel (anomalie métrique, erreur du journal ou exception) qui est détecté dans une application ou une ressource d'application.

**Problème**  
Les problèmes sont détectés par la corrélation, la classification ou le groupement d'observations associées. 

Pour les définitions des autres concepts clés d' CloudWatch Application Insights, consultez [Amazon CloudWatch Concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).

## Tarification
<a name="appinsights-pricing"></a>

CloudWatch Application Insights définit les mesures et les journaux recommandés pour les ressources d'application sélectionnées à l'aide de CloudWatch métriques, de journaux et d'événements pour les notifications relatives aux problèmes détectés. Ces fonctionnalités sont facturées sur votre AWS compte conformément à la [CloudWatch tarification](https://aws.amazon.com/cloudwatch/pricing). Pour les problèmes détectés, des [SSM OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems.html) sont également créés par Application Insights pour vous informer des problèmes. En outre, Application Insights crée les [paramètres du magasin de paramètres SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) pour configurer les CloudWatch agents sur vos instances. Les fonctions d'Amazon EC2 Systems Manager sont facturées selon la [tarification SSM](https://aws.amazon.com/systems-manager/pricing/). Vous n'êtes pas facturé pour l'aide à la configuration, la surveillance, l'analyse des données ou la détection des problèmes.

### Coûts liés à CloudWatch Application Insights
<a name="appinsights-pricing-ec2"></a>

Les coûts pour Amazon EC2 comprennent l'utilisation des fonctions suivantes :
+ CloudWatch Agent
  + CloudWatch Groupes de journaux d'agents
  + CloudWatch Métriques relatives aux agents
  + Groupes de journaux Prometheus (pour les charges de travail JMX)

Les coûts pour toutes les ressources comprennent l'utilisation des fonctions suivantes :
+ CloudWatch alarmes (majeure partie du coût)
+ SSM OpsItems (coût minimal)

### Exemple de calcul des coûts
<a name="appinsights-pricing-example"></a>

Les coûts dans cet exemple sont considérés selon le scénario suivant.

Vous avez créé un groupe de ressources qui comprend les éléments suivants :
+ Une instance Amazon EC2 avec SQL Server installé.
+ Un volume Amazon EBS attaché.

Lorsque vous intégrez ce groupe de ressources à CloudWatch Application Insights, la charge de travail SQL Server installée sur l'instance Amazon EC2 est détectée. CloudWatch Application Insights commence à surveiller les indicateurs suivants.

Les métriques suivantes sont surveillées pour l'instance SQL Server :
+ CPUUtilization
+ StatusCheckFailed
+ % d'octets validés de mémoire en cours d'utilisation
+ Mo de mémoire disponible
+ Total octets interface réseau/sec
+ Utilisation en % du fichier de pagination
+ Temps disque en % de disque physique
+ Temps de traitement en % du processeur
+ SQLServer:Taux de réussite du cache de Buffer Manager
+ SQLServer:Espérance de vie de Buffer Manager
+ SQLServer:Statistiques générales Processus bloqués
+ SQLServer:Statistiques générales Connexions utilisateur
+ SQLServer:Nombre de blocages : nombre de blocages par seconde
+ SQLServer:SQL Statistics Batch Requests/sec
+ Longueur de la file d'attente du processeur système

Les métriques suivantes sont surveillées pour les volumes attachés à l'instance SQL Server :
+ VolumeReadBytes
+ VolumeWriteBytes
+ VolumeReadOps
+ VolumeWriteOps
+ VolumeTotalReadTime
+ VolumeTotalWriteTime
+ VolumeIdleTime
+ VolumeQueueLength
+ VolumeThroughputPercentage
+ VolumeConsumedReadWriteOps
+ BurstBalance

Pour ce scénario, les coûts sont calculés en fonction de la page de [CloudWatch tarification](https://aws.amazon.com/cloudwatch/pricing/) et de la page de [tarification SSM](https://aws.amazon.com/systems-manager/pricing/) :
+ **Métriques personnalisées**

  Pour ce scénario, 13 des métriques ci-dessus sont émises à CloudWatch l'aide de l' CloudWatch agent. Ces métriques sont traitées comme des métriques personnalisées. Le coût de chaque métrique personnalisée est de 0,3 USD/mois. Le coût total de ces métriques personnalisées est de 13 \$1 0,3 USD = 3,90 USD/mois.
+ **Alarmes**

  Dans ce scénario, CloudWatch Application Insights surveille 26 métriques au total, ce qui crée 26 alarmes. Le coût de chaque alarme est de 0,1 USD/mois. Le coût total des alertes est de 26 \$1 0,1 USD = 2,60 USD/mois. 
+ **Ingestion de données et journaux d'erreurs**

  Le coût de l'ingestion de données est de 0,05 USD/Go et le stockage du journal des erreurs du serveur SQL est de 0,03 USD/Go. Le coût total de l'ingestion de données et du journal des erreurs est de 0,05 USD/Go \$1 0,03 USD/Go = 0,08 USD/Go.
+ **Amazon EC2 Systems Manager OpsItems**

  Un SSM OpsItem est créé pour chaque problème détecté par CloudWatch Application Insights. Pour un nombre *n* de problèmes dans votre application, le coût total est de 0,00267 USD \$1 *n*/mois.

## Services connexes
<a name="appinsights-related-services"></a>

Les services suivants sont utilisés avec CloudWatch Application Insights :

**AWS Services connexes**
+ **Amazon CloudWatch** fournit une visibilité à l'échelle du système sur l'utilisation des ressources, les performances des applications et la santé opérationnelle. Il collecte et suit les métriques, envoie des notifications d'alarme, met automatiquement à jour les ressources que vous surveillez en fonction des règles que vous définissez et vous permet de surveiller vos propres métriques personnalisées. CloudWatch Application Insights est lancé via, CloudWatch en particulier, les tableaux de bord opérationnels CloudWatch par défaut. Pour plus d'informations, consultez le [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
+ **CloudWatch Container Insights** collecte, agrège et résume les métriques et les journaux de vos applications conteneurisées et de vos microservices. Vous pouvez utiliser Container Insights pour surveiller les plates-formes Amazon ECS, Amazon Elastic Kubernetes Service et Kubernetes sur Amazon EC2. Lorsque Application Insights est activé sur les consoles Container Insights ou Application Insights, Application Insights affiche les problèmes détectés sur votre tableau de bord Container Insights. Pour plus d'informations, consultez [Container Insights](ContainerInsights.md).
+ **Amazon DynamoDB** est un service de base de données NoSQL totalement géré qui vous permet de ne pas avoir à assurer les charges administratives liées au fonctionnement et à la mise à l'échelle d'une base de données distribuée, vous n'avez pas à vous soucier de l'allocation, du paramétrage, de la configuration et de la réplication du matériel, ainsi que des correctifs logiciels ou de la mise à l'échelle des clusters. DynamoDB offre également le chiffrement au repos, qui élimine la lourdeur opérationnelle et la complexité induites par la protection des données sensibles.
+ **Amazon EC2** fournit une capacité de calcul évolutive dans le AWS cloud. Vous pouvez utiliser Amazon EC2 pour lancer autant de serveurs virtuels que nécessaire, configurer la sécurité et la mise en réseau, et gérer le stockage. Vous pouvez monter ou descendre en puissance afin de gérer les modifications en termes d'exigences ou de pics de popularité, et réduire ainsi le besoin de prévoir le trafic. Pour plus d'informations, consultez le [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) ou le [https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html).
+ **Amazon Elastic Block Store (Amazon EBS)** fournit des volumes de stockage niveau bloc à utiliser avec les instances Amazon EC2. Les volumes d'Amazon EBS se comportent comme des périphériques de stockage en mode blocs bruts non formatés. Vous pouvez monter ces volumes en tant qu’appareils sur vos instances. Les volumes d'Amazon EBS qui sont attachés à une instance sont exposés en tant que volumes de stockage qui sont conservés indépendamment du cycle de vie de l'instance. Vous pouvez créer un système de fichiers au-dessus de ces volumes ou les utiliser comme vous utiliseriez un périphérique de stockage en mode bloc (comme un disque dur). Vous pouvez modifier dynamiquement la configuration d’un volume attaché à une instance. Pour plus d'informations, consultez le [Guide de l'utilisateur Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html).
+ **Amazon EC2 Auto Scaling** permet de vous assurer que vous disposez du bon nombre d'instances EC2 disponibles pour gérer la charge de l'application. Pour plus d'informations, consultez le [https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html).
+ **Elastic Load Balancing **répartit le trafic réseau ou le trafic applicatif entrant sur plusieurs cibles (par exemple, des instances EC2, des conteneurs et des adresses IP) dans plusieurs zones de disponibilité. Pour plus d'informations, consultez le [https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html).
+ **IAM** est un service Web qui vous permet de contrôler en toute sécurité l'accès aux AWS ressources pour vos utilisateurs. Utilisez IAM pour contrôler qui peut utiliser vos AWS ressources (authentification), ainsi que pour contrôler les ressources qu'ils peuvent utiliser et comment ils peuvent les utiliser (autorisation). Pour de plus amples informations, veuillez consulter [Authentification et contrôle d'accès pour Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html).
+ **AWS Lambda**vous permet de créer des applications sans serveur composées de fonctions déclenchées par des événements et de les déployer automatiquement à l'aide de CodePipeline et AWS CodeBuild. Pour plus d'informations, consultez [AWS Lambda Applications](https://docs.aws.amazon.com/lambda/latest/dg/deploying-lambda-apps.html). 
+ **AWS Launch Wizard for SQL Server** réduit le temps nécessaire au déploiement de la solution de haute disponibilité SQL Server dans le cloud. Vous saisissez les exigences de votre application, notamment les performances, le nombre de nœuds et la connectivité sur la console de service, et vous AWS Launch Wizard identifiez les AWS ressources appropriées pour déployer et exécuter votre application SQL Server Always On. 
+ **AWS Resource Groups** vous aide à organiser les ressources qui constituent votre application. L'outil Resource Groups vous permet de gérer et d'automatiser des tâches sur un grand nombre de ressources à la fois. Un seul Resource Group peut être enregistré pour une seule application. Pour plus d'informations, consultez le [https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html).
+ **Amazon SQS **offre une file d'attente hébergée sécurisée, durable et disponible qui vous permet d'intégrer et de découpler les systèmes et les composants de logiciels distribués. Pour plus d'informations, consultez le [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html).
+ **AWS Step Functions**est un compositeur de fonctions sans serveur qui vous permet de séquencer une variété de AWS services et de ressources, y compris des AWS Lambda fonctions, dans des flux de travail visuels structurés. Pour plus d’informations, consultez le [Guide de l’utilisateur AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html).
+ **AWS Le SSM OpsCenter ** agrège et normalise l' OpsItems ensemble des services tout en fournissant des données d'investigation contextuelles sur chacun des services OpsItem, ainsi que sur les ressources connexes et connexes OpsItems. OpsCenter fournit également des documents d'automatisation de Systems Manager (runbooks) que vous pouvez utiliser pour résoudre rapidement les problèmes. Vous pouvez spécifier des données personnalisées consultables pour chacune OpsItem d'entre elles. Vous pouvez également consulter des rapports de synthèse générés automatiquement OpsItems par statut et par source. Pour plus d’informations, consultez le [Guide de l’utilisateur *AWS Systems Manager *](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html).
+ **Amazon API Gateway** est un AWS service de création, de publication, de maintenance, de surveillance et de sécurisation des protocoles REST, HTTP, et ce, WebSocket APIs à n'importe quelle échelle. Les développeurs d'API peuvent créer APIs cet accès AWS ou d'autres services Web, ainsi que des données stockées dans le AWS cloud. Pour plus d'informations, consultez le [Guide de l'utilisateur Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html).
**Note**  
Application Insights prend uniquement en charge les protocoles API REST (v1 du service API Gateway).
+ **Amazon Elastic Container Service (Amazon ECS)** est un service d'orchestration de conteneurs entièrement géré. Vous pouvez utiliser Amazon ECS pour exécuter vos applications les plus sensibles et stratégiques. Pour plus d'informations, consultez le [Guide du développeur Amazon Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html).
+ **Amazon Elastic Kubernetes Service (Amazon** EKS) est un service géré que vous pouvez utiliser pour exécuter AWS Kubernetes sans avoir à installer, exploiter et gérer votre propre plan de contrôle ou vos propres nœuds Kubernetes. Kubernetes est un système open source destiné à l'automatisation du déploiement, la mise à l'échelle et la gestion d'applications conteneurisées. Pour plus d'informations, consultez le [Guide de l'utilisateur Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html).
+ **Kubernetes sur Amazon EC2**. Kubernetes est un logiciel open source qui vous aide à déployer et à gérer des applications conteneurisées à grande échelle. Kubernetes gère des clusters d'instances de calcul Amazon EC2 et exécute des conteneurs sur ces instances avec des processus de déploiement, de maintenance et de mise à l'échelle. Avec Kubernetes, vous pouvez exécuter n'importe quel type d'application conteneurisée avec le même jeu d'outils sur site et dans le cloud. Pour plus d'informations, consultez [Kubernetes Documentation: Getting started](https://kubernetes.io/docs/setup/).
+ **Amazon** vous FSx aide à lancer et à exécuter des systèmes de fichiers courants entièrement gérés par AWS. Avec Amazon FSx, vous pouvez tirer parti des fonctionnalités et des performances des systèmes de fichiers open source courants et sous licence commerciale afin d'éviter des tâches administratives fastidieuses. Pour plus d'informations, consultez la [ FSx documentation Amazon](https://docs.aws.amazon.com/fsx/).
+ **Amazon Simple Notification Service (SNS)** est un service de messagerie entièrement géré à la fois pour les communications. application-to-application application-to-person Vous pouvez configurer Amazon SNS pour la surveillance par Application Insights. Lorsque Amazon SNS est configuré comme ressource de surveillance, Application Insights suit les métriques SNS pour déterminer les raisons pour lesquelles les messages SNS pourraient rencontrer des problèmes ou échouer.
+ **Amazon Elastic File System (Amazon EFS)** est un système de fichiers NFS élastique entièrement géré destiné à être utilisé avec des AWS Cloud services et des ressources sur site. Il est conçu pour atteindre des pétaoctets à la demande sans perturber les applications. Il augmente ou diminue automatiquement au fil de vos ajouts et suppressions de fichiers, ce qui élimine le besoin de provisionner et gérer la capacité nécessaire pour répondre à la croissance. Pour en savoir plus, consultez la [documentation d'Amazon Elastic File System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEFS.html).

**Services tiers associés**
+ Pour certaines charges de travail et applications surveillées dans Application Insights, l'exportateur **JMX Prometheus** est installé à l' AWS Systems Manager aide de Distributor afin CloudWatch qu'Application Insights puisse récupérer des métriques spécifiques à Java. Lorsque vous sélectionnez de surveiller une application Java, Application Insights installe automatiquement Prometheus JMX Exporter pour vous. 

## Composants d'application pris en charge
<a name="appinsights-components"></a>

CloudWatch Application Insights analyse votre groupe de ressources pour identifier les composants de l'application. Les composants peuvent être autonomes, automatiquement regroupés (par exemple, des instances dans un groupe Auto Scaling ou derrière un équilibreur de charge), ou personnalisés (en regroupant des instances Amazon EC2). 

Les composants suivants sont pris en charge par CloudWatch Application Insights :

**AWS composants**
+ Amazon EC2
+ Amazon EBS
+ Amazon RDS
+ Elastic Load Balancing : Application Load Balancer et Classic Load Balancer (toutes les instances cibles de ces programmes d'équilibrage de charge sont identifiées et configurées).
+ Groupes Amazon EC2 Auto Scaling AWS  : Auto Scaling (les groupes Auto Scaling sont configurés dynamiquement pour toutes les instances cibles ; si votre application évolue CloudWatch , Application Insights configure automatiquement les nouvelles instances). Les groupes Auto Scaling ne sont pas pris en charge pour les groupes de ressources CloudFormation basés sur des piles.
+ AWS Lambda
+ Amazon Simple Queue Service (Amazon SQS)
+ Table Amazon DynamoDB
+ Métriques de compartiment Amazon S3
+ AWS Step Functions
+ Étapes d'API REST Amazon API Gateway
+ Amazon Elastic Container Service (Amazon ECS) : cluster, service et tâche
+ Amazon Elastic Kubernetes Service (Amazon EKS) : cluster
+ Kubernetes sur Amazon EC2 : cluster Kubernetes fonctionnant sur EC2
+ Rubrique Amazon SNS

Les autres ressources de type de composant ne sont actuellement pas suivies par CloudWatch Application Insights. Si un type de composant qui est pris en charge n'apparaît pas dans votre solution Application Insights, le composant peut déjà être enregistré et géré par une autre de vos applications, supervisée par Application Insights. 

## Piles technologiques prises en charge
<a name="appinsights-stack"></a>

Vous pouvez utiliser CloudWatch Application Insights pour surveiller vos applications exécutées sur les systèmes d'exploitation Windows Server et Linux en sélectionnant l'option du menu déroulant au niveau de l'application pour l'une des technologies suivantes : 
+ Front‐end : Serveur web Microsoft Internet Information Services (IIS)
+ Niveau opérateur : 
  + .NET Framework 
  + .NET Core
+ Applications :
  + Java
  + Déploiements SAP NetWeaver standard, distribués et à haute disponibilité
+ Active Directory
+ SharePoint
+ Bases de données : 
  + Microsoft SQL Server s'exécutant sur Amazon RDS ou Amazon EC2 (y compris les configurations haute disponibilité SQL Server. Veuillez consulter [Exemples de configuration de composants](component-configuration-examples.md)).
  + MySQL exécuté sur Amazon RDS, Amazon Aurora ou Amazon EC2
  + PostgreSQL exécuté sur Amazon RDS ou Amazon EC2
  + Table Amazon DynamoDB
  + Oracle exécuté sur Amazon RDS ou Amazon EC2
  + Base de données SAP HANA sur une instance Amazon EC2 unique et plusieurs instances EC2
  + Configuration haute disponibilité de la base de données SAP HANA inter-AZ
  + Base de données SAP Sybase ASE sur une seule instance Amazon EC2
  + Configuration de la haute disponibilité de la base de données SAP Sybase ASE entre les zones géographiques

Si aucune des piles technologiques répertoriées ci-dessus ne s'applique à vos ressources d'application, vous pouvez surveiller votre pile d'applications en sélectionnant **Custom (Personnalisé)** dans le menu déroulant du niveau de l'application de la page **Manage monitoring (Gérer la surveillance)**.

# Comment fonctionne Amazon CloudWatch Application Insights
<a name="appinsights-how-works"></a>

CloudWatch Application Insights permet de surveiller les ressources de vos applications. Les informations suivantes décrivent le fonctionnement d’Application Insights.

**Topics**
+ [Comment Application Insights surveille les applications](#appinsights-how-works-sub)
+ [Conservation des données](#appinsights-retention)
+ [Quotas](#appinsights-limits)
+ [AWS Packages Systems Manager (SSM) utilisés par CloudWatch Application Insights](appinsights-ssm-packages.md)
+ [AWS Documents Systems Manager (SSM) utilisés par CloudWatch Application Insights](appinsights-ssm-documents.md)

## Comment Application Insights surveille les applications
<a name="appinsights-how-works-sub"></a>

Les informations suivantes décrivent comment Application Insights surveille les applications.

**Détection et configuration d'applications**  
La première fois qu'une application est ajoutée à CloudWatch Application Insights, elle analyse les composants de l'application pour recommander des indicateurs clés, des journaux et d'autres sources de données à surveiller pour votre application. Vous pouvez ensuite configurer votre application en fonction de ces recommandations. 

**Prétraitement des données**  
CloudWatch Application Insights analyse en permanence les sources de données surveillées dans les ressources de l'application afin de détecter les anomalies métriques et de consigner les erreurs (observations). 

**Détection intelligente des problèmes**  
Le moteur CloudWatch Application Insights détecte les problèmes de votre application en corrélant les observations à l'aide d'algorithmes de classification et de règles intégrées. Pour faciliter le dépannage, il crée des CloudWatch tableaux de bord automatisés, qui incluent des informations contextuelles sur les problèmes. 

**Alerte et action**  
Lorsqu' CloudWatch Application Insights détecte un problème avec votre application, il génère CloudWatch des événements pour vous en informer. Pour plus d'informations sur la configuration de ces événements, consultez [CloudWatch Événements Application Insights pour les problèmes détectés](appinsights-cloudwatch-events.md). En outre, vous pouvez [configurer les notifications Amazon SNS](appinsights-problem-notifications.md) pour recevoir des alertes en cas de problèmes détectés.

**Exemple de scénario**

Vous avez une application .NET ASP basée sur une base de données SQL Server. Soudain, votre base de données commence à présenter un dysfonctionnement en raison d'une haute sollicitation de la mémoire. Cela conduit à la dégradation des performances de l'application et éventuellement à des erreurs HTTP 500 au niveau de vos serveurs web et de votre équilibreur de charge.

Grâce à CloudWatch Application Insights et à ses analyses intelligentes, vous pouvez identifier la couche applicative à l'origine du problème en consultant le tableau de bord créé dynamiquement qui affiche les métriques associées et les extraits de fichier journal. Dans ce cas, le problème peut se situer sur la couche de base de données SQL.

## Conservation des données
<a name="appinsights-retention"></a>

CloudWatch Application Insights conserve les problèmes pendant 55 jours et les observations pendant 60 jours.

## Quotas
<a name="appinsights-limits"></a>

Pour connaître les quotas par défaut pour CloudWatch Application Insights, consultez la section [Points de terminaison et quotas Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/general/latest/gr/applicationinsights.html). Sauf indication contraire, chaque quota est établi par AWS région. Veuillez contacter [Support AWS](https://console.aws.amazon.com/support/home#/case/create?issueType=technical) pour demander une augmentation du quota de votre service. De nombreux services contiennent des quotas qui ne peuvent pas être augmentés. Pour plus d'informations sur les quotas d'un service spécifique, consultez la documentation de ce service. 

# AWS Packages Systems Manager (SSM) utilisés par CloudWatch Application Insights
<a name="appinsights-ssm-packages"></a>

Les packages répertoriés dans cette section sont utilisés par Application Insights et peuvent être gérés et déployés indépendamment avec AWS Systems Manager Distributor. Pour plus d'informations sur le distributeur SSM, consultez [AWS Distributeur Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) dans le *Guide de l'utilisateur AWS Systems Manager*.

**Topics**
+ [`AWSObservabilityExporter-JMXExporterInstallAndConfigure`](#configure-java)
+ [`AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`](#appinsights-ssm-sap-prometheus)
+ [`AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`](#appinsights-ssm-sap-prometheus-ha)
+ [`AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`](#appinsights-ssm-sap-host-exporter)
+ [`AWSObservabilityExporter-SQLExporterInstallAndConfigure`](#appinsights-ssm-sql-prometheus)

## `AWSObservabilityExporter-JMXExporterInstallAndConfigure`
<a name="configure-java"></a>

Vous pouvez récupérer des métriques Java spécifiques à une charge de travail à partir de [Prometheus JMX Exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) pour Application Insights pour configurer et surveiller les alertes. Dans la console Application Insights, dans la page **Gérer la surveillance**, sélectionnez **Application JAVA** à partir du menu déroulant **Niveau Application**. Ensuite, sous **Configuration de l'exportateur JAVA Prometheus**, sélectionnez votre **Méthode de collecte** et votre **Numéro de port JMX**. 

Pour utiliser [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) pour empaqueter, installer et configurer le package d'exportation Prometheus JMX AWS fourni indépendamment d'Application Insights, procédez comme suit.

**Conditions préalables à l'utilisation du package SSM de Prometheus JMX Exporter**
+ Agent SSM Agent version 2.3.1550.0 ou ultérieure installée
+ La variable d'environnement JAVA\$1HOME est définie

**Installation et configuration du package `AWSObservabilityExporter-JMXExporterInstallAndConfigure`**  
Le package `AWSObservabilityExporter-JMXExporterInstallAndConfigure` est un package Distributeur SSM que vous pouvez utiliser pour installer et configurer [Prometheus JMX Exporter](https://github.com/prometheus/jmx_exporter). Lorsque des métriques Java sont envoyées par l'exportateur JMX Prometheus, CloudWatch l'agent peut être configuré pour récupérer les métriques du service. CloudWatch 

1. En fonction de vos préférences, préparez le [fichier de configuration YAML de l'exportateur JMX de Prometheus situé dans le](https://github.com/prometheus/jmx_exporter#configuration) référentiel Prometheus. GitHub Utilisez l'exemple de descriptions de configuration et d'options pour vous guider.

1. Copiez le fichier de configuration YAML de Prometheus JMX Exporter codé en Base64 vers un nouveau paramètre SSM dans le [stockage de paramètres SSM](https://console.aws.amazon.com/systems-manager/parameters).

1. Accédez à la console du [Distributeur SSM](https://console.aws.amazon.com/systems-manager/distributor) et ouvrez l'onglet **Owned by Amazon (Propriété d'Amazon**. Sélectionnez **AWSObservabilityExporter-JMXExporterInstallAndConfigure**et choisissez **Installer une fois**.

1. Mettez à jour le paramètre SSM que vous avez créé dans la première étape en remplaçant « Arguments supplémentaires » par ce qui suit :

   ```
   {
     "SSM_EXPORTER_CONFIGURATION": "{{ssm:<SSM_PARAMETER_STORE_NAME>}}",
     "SSM_EXPOSITION_PORT": "9404"
   }
   ```
**Note**  
Le port 9404 est le port par défaut utilisé pour envoyer des métriques Prometheus JMX. Vous pouvez mettre à jour ce port.

**Exemple : configurer CloudWatch l'agent pour récupérer les métriques Java**

1. Installez le Prometheus JMX Exporter, comme décrit dans la procédure précédente. Vérifiez ensuite qu'il est correctement installé sur votre instance en vérifiant l'état du port.

   Exemple d'installation réussie sur une instance Windows

   ```
   PS C:\> curl http://localhost:9404 (http://localhost:9404/)
   StatusCode : 200
   StatusDescription : OK
   Content : # HELP jvm_info JVM version info
   ```

   Exemple d'installation réussie sur une instance Linux

   ```
   $ curl localhost:9404
   # HELP jmx_config_reload_failure_total Number of times configuration have failed to be reloaded.
   # TYPE jmx_config_reload_failure_total counter
   jmx_config_reload_failure_total 0.0
   ```

1. Créez le fichier YAML de découverte de service Prometheus. L'exemple de fichier de découverte de service suivant effectue les opérations suivantes :
   + Spécifie le port hôte de Prometheus JMX Exporter comme `localhost: 9404`.
   + Attache des étiquettes (`Application``ComponentName`,, et`InstanceId`) aux métriques, qui peuvent être définies comme des dimensions CloudWatch métriques.

   ```
   $ cat prometheus_sd_jmx.yaml 
   - targets:
     - 127.0.0.1:9404
     labels:
       Application: myApp
       ComponentName: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/sampl-Appli-MMZW8E3GH4H2/aac36d7fea2a6e5b
       InstanceId: i-12345678901234567
   ```

1. Créez le fichier de configuration YAML de Prometheus JMX Exporter. L'exemple de fichier de configuration suivant spécifie les éléments suivants :
   + Intervalle de travail d'extraction des métriques et délai d'expiration.
   + Les travaux de récupération de métriques (`jmx` et `sap`), qui comprennent le nom de la tâche, la série chronologique maximale renvoyée à la fois et le chemin du fichier de découverte de service. 

   ```
   $ cat prometheus.yaml 
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       file_sd_configs:
         - files: ["/tmp/prometheus_sd_jmx.yaml"]
     - job_name: sap
       sample_limit: 10000
       file_sd_configs:
         - files: ["/tmp/prometheus_sd_sap.yaml"]
   ```

1. Vérifiez que l' CloudWatch agent est installé sur votre instance Amazon EC2 et que la version est 1.247346.1b249759 ou ultérieure. Pour installer l' CloudWatchagent sur votre instance EC2, consultez la section [Installation de l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html). Pour vérifier la version, consultez la section [Recherche d'informations sur les versions des CloudWatch agents](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-agent-version).

1. Configurez l' CloudWatch agent. Pour plus d'informations sur la configuration du fichier de configuration de l' CloudWatch agent, voir [Création ou modification manuelle du fichier de configuration de l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html). L'exemple de fichier de configuration d' CloudWatch agent suivant effectue les opérations suivantes :
   + Spécifie le chemin de fichier de configuration YAML de Prometheus JMX Exporter.
   + Spécifie le groupe de journaux cible dans lequel publier les journaux de mesures EMF.
   + Spécifie deux ensembles de dimensions pour chaque nom de métrique.
   + Envoie 8 métriques (4 noms de métriques \$1 2 ensembles de dimensions par nom de métrique) CloudWatch métriques.

   ```
   {
      "logs":{
         "logs_collected":{
            ....
         },
         "metrics_collected":{
            "prometheus":{
               "cluster_name":"prometheus-test-cluster",
               "log_group_name":"prometheus-test",
               "prometheus_config_path":"/tmp/prometheus.yaml",
               "emf_processor":{
                  "metric_declaration_dedup":true,
                  "metric_namespace":"CWAgent",
                  "metric_unit":{
                     "jvm_threads_current":"Count",
                     "jvm_gc_collection_seconds_sum":"Second",
                     "jvm_memory_bytes_used":"Bytes"
                  },
                  "metric_declaration":[
                     {
                        "source_labels":[
                           "job"
                        ],
                        "label_matcher":"^jmx$",
                        "dimensions":[
                           [
                              "InstanceId",
                              "ComponentName"
                           ],
                           [
                              "ComponentName"
                           ]
                        ],
                        "metric_selectors":[
                           "^java_lang_threading_threadcount$",
                           "^java_lang_memory_heapmemoryusage_used$",
                           "^java_lang_memory_heapmemoryusage_committed$"
                        ]
                     }
                  ]
               }
            }
         }
      },
      "metrics":{
         ....
      }
   }
   ```

## `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-prometheus"></a>

Vous pouvez récupérer des métriques SAP HANA spécifiques à une charge de travail depuis [l'exportateur de base de données Prometheus HANA](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) pour Application Insights pour configurer et surveiller les alertes. Pour plus d’informations, consultez [Configurer votre base de données SAP HANA pour la surveillance](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) dans ce guide.

Pour utiliser [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) pour empaqueter, installer et configurer le package d'exportation de base de données Prometheus HANA AWS fourni indépendamment d'Application Insights, procédez comme suit.

**Conditions préalables à l'utilisation du package SSM d'exportateur de base de données Prometheus HANA**
+ Agent SSM Agent version 2.3.1550.0 ou version ultérieure installée
+ Base de données SAP HANA
+ Système d'exploitation Linux (SUSE Linux, RedHat Linux)
+ Un secret avec les informations d'identification de surveillance de base de données SAP HANA AWS Secrets Manager. Créez un secret en utilisant le format key/value par paires, spécifiez le nom d'utilisateur de la clé et entrez l'utilisateur de la base de données pour la valeur. Ajoutez un second mot de passe, puis pour Value (Valeur), saisissez le mot de passe. Pour plus d'informations sur la création de secrets, consultez la rubrique [Création d'un secret ](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Le secret doit présenter le format suivant :

  ```
  {
    "username": "<database_user>",
    "password": "<database_password>"
  }
  ```

**Installation et configuration du package `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`**  
Le package `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure` est un package Distributeur SSM que vous pouvez utiliser pour installer et configurer [l'exportateur de base de données Prometheus HANA](https://github.com/prometheus/jmx_exporter). Lorsque les métriques de base de données HANA sont envoyées par l'exportateur de base de données Prometheus HANA, CloudWatch l'agent peut être configuré pour récupérer les métriques du service. CloudWatch 

1. Création d'un paramètre SSM dans [le stockage de paramètres SSM](https://console.aws.amazon.com/systems-manager/parameters) pour stocker les configurations de l'exportateur. Voici un exemple de valeur de paramètre.

   ```
   {\"exposition_port\":9668,\"multi_tenant\":true,\"timeout\":600,\"hana\":{\"host\":\"localhost\",\"port\":30013,\"aws_secret_name\":\"HANA_DB_CREDS\",\"scale_out_mode\":true}}
   ```
**Note**  
Dans cet exemple, l'exportation s'exécute uniquement sur l'instance Amazon EC2 à l'aide de l'option active `SYSTEM` et elle restera inactive sur les autres instances EC2 afin d'éviter les doublons de métriques. L'exportateur peut extraire toutes les informations du locataire de la base de données à partir de `SYSTEM` la base de données.

1. Créer un paramètre SSM dans [Stockage de paramètres SSM](https://console.aws.amazon.com/systems-manager/parameters) pour stocker les requêtes de métriques de l'exportateur. Le package peut accepter plusieurs paramètres de métriques. Chaque paramètre doit avoir un format d'objet JSON valide. Voici un exemple de valeur de paramètre :

   ```
   {\"SELECT MAX(TIMESTAMP) TIMESTAMP, HOST, MEASURED_ELEMENT_NAME CORE, SUM(MAP(CAPTION, 'User Time', TO_NUMBER(VALUE), 0)) USER_PCT, SUM(MAP(CAPTION, 'System Time', TO_NUMBER(VALUE), 0)) SYSTEM_PCT, SUM(MAP(CAPTION, 'Wait Time', TO_NUMBER(VALUE), 0)) WAITIO_PCT, SUM(MAP(CAPTION, 'Idle Time', 0, TO_NUMBER(VALUE))) BUSY_PCT, SUM(MAP(CAPTION, 'Idle Time', TO_NUMBER(VALUE), 0)) IDLE_PCT FROM sys.M_HOST_AGENT_METRICS WHERE MEASURED_ELEMENT_TYPE = 'Processor' GROUP BY HOST, MEASURED_ELEMENT_NAME;\":{\"enabled\":true,\"metrics\":[{\"name\":\"hanadb_cpu_user\",\"description\":\"Percentage of CPU time spent by HANA DB in user space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"USER_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_system\",\"description\":\"Percentage of CPU time spent by HANA DB in Kernel space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"SYSTEM_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_waitio\",\"description\":\"Percentage of CPU time spent by HANA DB in IO mode, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"WAITIO_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_busy\",\"description\":\"Percentage of CPU time spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"BUSY_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_idle\",\"description\":\"Percentage of CPU time not spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"IDLE_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"}]}}
   ```

   Pour plus d'informations sur les requêtes de métriques, consultez le [https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json](https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json)dépôt sur GitHub.

1. Accédez à la console du [Distributeur SSM](https://console.aws.amazon.com/systems-manager/distributor) et ouvrez l'onglet **Owned by Amazon (Propriété d'Amazon**. Sélectionnez **AWSObservabilityExporter-SAP- HANADBExporter InstallAndConfigure \$1** et choisissez **Installer une fois**.

1. Mettez à jour le paramètre SSM que vous avez créé dans la première étape en remplaçant « Arguments supplémentaires » par ce qui suit :

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}",
     "SSM_SID": "<SAP_DATABASE_SID>",
     "SSM_EXPORTER_METRICS_1": "{{ssm:<SSM_FIRST_METRICS_PARAMETER_STORE_NAME>}}",
     "SSM_EXPORTER_METRICS_2": "{{ssm:<SSM_SECOND_METRICS_PARAMETER_STORE_NAME>}}"
   }
   ```

1. Sélectionnez les instances Amazon EC2 avec base de données SAP HANA, puis sélectionnez **Run (Exécuter)**.

## `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-prometheus-ha"></a>

Vous pouvez récupérer des métriques de cluster haute disponibilité (HA) spécifiques à la charge de travail à partir de [l'exportateur de cluster Prometheus HANA](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) pour Application Insights afin de configurer et de surveiller les alertes pour une configuration de haute disponibilité de base de données SAP HANA. Pour plus d’informations, consultez [Configurer votre base de données SAP HANA pour la surveillance](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) dans ce guide.

Pour utiliser [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) pour empaqueter, installer et configurer le package d'exportation de clusters Prometheus HA AWS fourni indépendamment d'Application Insights, procédez comme suit.

**Conditions préalables à l'utilisation du package SSM de l'exportateur de cluster Prometheus HA**
+ Agent SSM Agent version 2.3.1550.0 ou version ultérieure installée
+ Cluster HA pour Pacemaker, Corosync, SBD et DRBD
+ Système d'exploitation Linux (SUSE Linux, RedHat Linux)

**Installation et configuration du package `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`**  
Le package `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure` est un package de distributeur SSM que vous pouvez utiliser pour installer et configurer l'exportateur de cluster Prometheus HA. Lorsque les métriques du cluster sont envoyées par l'exportateur de base de données Prometheus HANA, CloudWatch l'agent peut être configuré pour récupérer les métriques du service. CloudWatch 

1. Créez un paramètre SSM dans le [stockage de paramètres SSM](https://console.aws.amazon.com/systems-manager/parameters) pour stocker les configurations de l'exportateur au format JSON. Voici un exemple de valeur de paramètre.

   ```
   {\"port\":\"9664\",\"address\":\"0.0.0.0\",\"log-level\":\"info\",\"crm-mon-path\":\"/usr/sbin/crm_mon\",\"cibadmin-path\":\"/usr/sbin/cibadmin\",\"corosync-cfgtoolpath-path\":\"/usr/sbin/corosync-cfgtool\",\"corosync-quorumtool-path\":\"/usr/sbin/corosync-quorumtool\",\"sbd-path\":\"/usr/sbin/sbd\",\"sbd-config-path\":\"/etc/sysconfig/sbd\",\"drbdsetup-path\":\"/sbin/drbdsetup\",\"enable-timestamps\":false}
   ```

   Pour plus d'informations sur les configurations de l'exportateur, consultez le [https://github.com/ClusterLabs/ha_cluster_exporter/blob/master/ha_cluster_exporter.yaml](https://github.com/ClusterLabs/ha_cluster_exporter/blob/master/ha_cluster_exporter.yaml)dépôt sur GitHub.

1. Accédez à la console du [Distributeur SSM](https://console.aws.amazon.com/systems-manager/distributor) et ouvrez l'onglet **Owned by Amazon (Propriété d'Amazon**. **AWSObservabilityExporter-HAClusterExporterInstallAndConfigureSélectionnez\$1**, puis choisissez **Installer une fois**.

1. Mettez à jour le paramètre SSM que vous avez créé dans la première étape en remplaçant « Arguments supplémentaires » par ce qui suit :

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}"
   }
   ```

1. Sélectionnez les instances Amazon EC2 avec base de données SAP HANA, puis sélectionnez **Run (Exécuter)**.

## `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-host-exporter"></a>

Vous pouvez récupérer des métriques SAP spécifiques à la charge de travail NetWeaver depuis [Prometheus SAP Host Exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) for Application Insights afin de configurer et de surveiller les alarmes pour les déploiements SAP Distributed et High Availability. NetWeaver 

Pour utiliser le [Distributeur AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) pour packager, installer et configurer le package exportateur d'hôte SAP indépendamment d'Application Insights, effectuez les étapes suivantes.

**Conditions préalables à l'utilisation du package SSM de l'exportateur d'hôte SAP de Prometheus**
+ Agent SSM Agent version 2.3.1550.0 ou version ultérieure installée
+ Serveurs NetWeaver d'applications SAP
+ Système d'exploitation Linux (SUSE Linux, RedHat Linux)

**Installation et configuration du package `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`**  
Le `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure` package est un package SSM Distributor que vous pouvez utiliser pour installer et configurer l'exportateur de métriques SAP NetWeaver Prometheus. Lorsque NetWeaver les métriques SAP sont envoyées par l'exportateur Prometheus, CloudWatch l'agent peut être configuré pour récupérer les métriques du service. CloudWatch 

1. Créez un paramètre SSM dans le [stockage de paramètres SSM](https://console.aws.amazon.com/systems-manager/parameters) pour stocker les configurations de l'exportateur au format JSON. Voici un exemple de valeur de paramètre.

   ```
   {\"address\":\"0.0.0.0\",\"port\":\"9680\",\"log-level\":\"info\",\"is-HA\":false}
   ```
   + **address**

     L'adresse cible à laquelle envoyer les métriques Prometheus. La valeur par défaut est `localhost`.
   + **port**

     Le port cible vers lequel envoyer les métriques Prometheus. La valeur par défaut est `9680`.
   + **is-HA**

     `true`pour les déploiements SAP NetWeaver High Availability. Pour tous les autres déploiements, la valeur est `false`.

1. Accédez à la console du [Distributeur SSM](https://console.aws.amazon.com/systems-manager/distributor) et ouvrez l'onglet **Owned by Amazon (Propriété d'Amazon**. Sélectionnez **AWSObservabilityExporter-SAP- SAPHost ExporterInstallAndConfigure** et choisissez **Installer une fois**.

1. Mettez à jour le paramètre SSM que vous avez créé dans la première étape en remplaçant « Arguments supplémentaires » par ce qui suit :

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>}}",
     "SSM_SID": "<SAP_DATABASE_SID>",
     "SSM_INSTANCES_NUM": "<instances_number seperated by comma>"
   }
   ```

   **Exemple**

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:exporter_config_paramter}}",
     "SSM_INSTANCES_NUM": "11,12,10",
     "SSM_SID": "PR1"
   }
   ```

1. **Sélectionnez les instances Amazon EC2 avec les NetWeaver applications SAP, puis choisissez Exécuter.**

**Note**  
L'exportateur Prometheus gère les métriques NetWeaver SAP sur un point de terminaison local. Seuls les utilisateurs du système d'exploitation de l'instance Amazon EC2 peuvent accéder au point de terminaison local. Par conséquent, après l'installation du package de l'exportateur, les métriques sont disponibles pour tous les utilisateurs du système d'exploitation. Le point de terminaison local par défaut est `localhost:9680/metrics`.

## `AWSObservabilityExporter-SQLExporterInstallAndConfigure`
<a name="appinsights-ssm-sql-prometheus"></a>

Vous pouvez récupérer des métriques SQL Server spécifiques à une charge de travail à partir de [Prometheus SQL Exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) pour Application Insights pour surveiller des métriques clés. 

Pour utiliser le [Distributeur AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) pour packager, installer et configurer le package exportateur de SQL indépendamment d'Application Insights, effectuez les étapes suivantes.

**Conditions préalables à l'utilisation du package SSM de Prometheus SQL Exporter**
+ Agent SSM Agent version 2.3.1550.0 ou version ultérieure installée
+ Instance Amazon EC2 exécutant SQL Server sous Windows avec authentification utilisateur SQL Server activée.
+ Un utilisateur de SQL Server disposant des autorisations suivantes :

  ```
  GRANT VIEW ANY DEFINITION TO
  ```

  ```
  GRANT VIEW SERVER STATE TO
  ```
+ Un secret contenant la chaîne de connexion à la base de données utilisant AWS Secrets Manager. Pour plus d'informations sur la création de secrets, consultez la rubrique [Création d'un secret ](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Le secret doit présenter le format suivant :

  ```
  {
    "data_source_name":"sqlserver://<username>:<password>@localhost:1433"
  }
  ```
**Note**  
Si le mot de passe ou le nom d'utilisateur contient des caractères spéciaux, vous devez les encoder en pourcentage pour garantir une connexion réussie à la base de données.

**Installation et configuration du package `AWSObservabilityExporter-SQLExporterInstallAndConfigure`**  
Le package `AWSObservabilityExporter-SQLExporterInstallAndConfigure` est un package Distributeur SSM que vous pouvez utiliser pour installer et configurer l'exportateur de métriques SQL Prometheus. Lorsque les métriques sont envoyées par l'exportateur Prometheus, CloudWatch l'agent peut être configuré pour récupérer les métriques du service. CloudWatch 

1. En fonction de vos préférences, préparez la configuration YAML de SQL Exporter. L'exemple de configuration suivant comporte une seule métrique configurée. Utilisez l'[exemple de configuration](https://github.com/burningalchemist/sql_exporter/blob/master/examples/sql_exporter.yml) pour mettre à jour la configuration avec des métriques supplémentaires ou pour créer votre propre configuration.

   ```
   ---
   global:
     scrape_timeout_offset: 500ms
     min_interval: 0s
     max_connections: 3
     max_idle_connections: 3
   target:
     aws_secret_name: <SECRET_NAME>
     collectors:
       - mssql_standard
   collectors:
     - collector_name: mssql_standard
       metrics: 
       - metric_name: mssql_batch_requests
         type: counter
         help: 'Number of command batches received.'
         values: [cntr_value]
         query: |
           SELECT cntr_value
           FROM sys.dm_os_performance_counters WITH (NOLOCK)
           WHERE counter_name = 'Batch Requests/sec'
   ```

1. Copiez le fichier de configuration YAML de Prometheus SQL Exporter codé en Base64 vers un nouveau paramètre SSM dans le [stockage de paramètres SSM](https://console.aws.amazon.com/systems-manager/parameters).

1. Accédez à la console du [Distributeur SSM](https://console.aws.amazon.com/systems-manager/distributor) et ouvrez l'onglet **Owned by Amazon (Propriété d'Amazon**. Sélectionnez **AWSObservabilityExporter-SQLExporterInstallAndConfigure**et choisissez **Installer une fois**.

1. Remplacez les « arguments supplémentaires » par les informations suivantes. `SSM_PARAMETER_NAME` est le nom du paramètre que vous avez créé à l'étape 2.

   ```
   {
     "SSM_EXPORTER_CONFIGURATION": 
       "{{ssm:<SSM_PARAMETER_STORE_NAME>}}",
       "SSM_PROMETHEUS_PORT": "9399",
       "SSM_WORKLOAD_NAME": "SQL"                         
   }
   ```

1. Sélectionnez l'instance Amazon EC2 avec la base de données SQL Server, puis choisissez Exécuter.

# AWS Documents Systems Manager (SSM) utilisés par CloudWatch Application Insights
<a name="appinsights-ssm-documents"></a>

Application Insights utilise les documents SSM répertoriés dans cette section pour définir les actions qu’ AWS Systems Manager effectue sur vos instances gérées. Ces documents utilisent les fonctionnalités `Run Command` de Systems Manager pour automatiser les tâches nécessaires à la mise en œuvre des fonctionnalités de surveillance d’Application Insights. Les plannings d’exécution de ces documents sont gérés par Application Insights et ne peuvent pas être modifiés.

Pour plus d’informations sur les documents SSM, veuillez consulter la rubrique [Documents AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html) dans le *Guide de l’utilisateur AWS Systems Manager *.

## Documents gérés par CloudWatch Application Insights
<a name="ssm-documents-appinsights-managed"></a>

Le tableau suivant répertorie les documents SSM gérés par Application Insights.


| Nom du document | Description | Calendrier d’exécution | 
| --- | --- | --- | 
|  `AWSEC2-DetectWorkload`  |  Détecte automatiquement les applications exécutées dans votre environnement d’application pouvant être configurées pour être surveillées par Application Insights.  |  Ce document est diffusé toutes les heures dans votre environnement d'application pour obtenir des informations détaillées sur up-to-date l'application.  | 
|  `AWSEC2-CheckPerformanceCounterSets`  |  Vérifie si les espaces de noms Performance Counter sont activés sur vos instances Windows Amazon EC2.  |  Ce document s’exécute toutes les heures dans votre environnement d’application et ne surveille les métriques de Performance Counter que si les espaces de noms correspondants sont activés.  | 
|  `AWSEC2-ApplicationInsightsCloudwatchAgentInstallAndConfigure`  |  Installe et configure l' CloudWatch agent en fonction de la configuration de surveillance des composants de votre application.  |  Ce document est exécuté toutes les 30 minutes pour garantir que la configuration de l' CloudWatch agent est toujours précise et up-to-date. Le document s’exécute également immédiatement après une modification apportée à votre configuration de surveillance des applications, telle que l’ajout ou la suppression de métriques ou la mise à jour des configurations des journaux.   | 

## Documents gérés par AWS Systems Manager
<a name="ssm-documents-aws-managed"></a>

Les documents suivants sont utilisés par CloudWatch Application Insights et gérés par Systems Manager.

**`AWS-ConfigureAWSPackage`**  
Application Insights utilise ce document pour installer et désinstaller les packages de distribution Prometheus Exporter, pour collecter des métriques spécifiques à la charge de travail et pour permettre une surveillance complète des charges de travail sur les instances Amazon EC2 du client. CloudWatch Application Insights installe les packages de distribution Prometheus Exporter uniquement si la charge de travail cible corrélée est exécutée sur votre instance. 

Le tableau suivant répertorie les packages du distributeur Prometheus Exporter et les charges de travail cibles corrélées.


| Nom du package du distributeur Prometheus Exporter | Charge de travail cible | 
| --- | --- | 
|  `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`  |  SAP HANA HA  | 
|  `AWSObservabilityExporter-JMXExporterInstallAndConfigure`  |  Java/JMX  | 
|  `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`  |  SAP HANA  | 
|  `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`  |  NetWeaver  | 
|  `AWSObservabilityExporter-SQLExporterInstallAndConfigure`  |  SQL Server (Windows) et SAP ASE (Linux)  | 

**`AmazonCloudWatch-ManageAgent`**  
Application Insights utilise ce document pour gérer le statut et la configuration de l' CloudWatch agent sur vos instances et pour collecter des métriques internes au niveau du système et des journaux à partir des instances Amazon EC2 sur tous les systèmes d'exploitation.

# Conditions préalables, politiques IAM et autorisations nécessaires pour accéder à Application Insights CloudWatch
<a name="appinsights-accessing"></a>

Pour commencer à utiliser CloudWatch Application Insights, vérifiez que vous remplissez les conditions préalables suivantes, que vous avez créé une politique IAM et que vous avez joint les autorisations nécessaires.

**Topics**
+ [Conditions préalables à la configuration d’une application pour la surveillance](appinsights-prereqs.md)
+ [Politique IAM pour CloudWatch Application Insights](appinsights-iam.md)
+ [Autorisations de rôle IAM pour l'onboarding des applications basées sur un compte.](appinsights-account-based-onboarding-permissions.md)

# Conditions préalables à la configuration d’une application pour la surveillance
<a name="appinsights-prereqs"></a>

Vous devez remplir les conditions préalables suivantes pour configurer une application avec CloudWatch Application Insights :
+ **AWS Systems Manager activation** — Installez l'agent Systems Manager (agent SSM) sur vos instances Amazon EC2 et activez les instances pour SSM. Pour plus d'informations sur l'installation de l'Agent SSM, veuillez consulter la rubrique [Configuration de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html) dans le *Guide de l'utilisateur AWS Systems Manager *.
+ **Rôle d'instance EC2** : vous devez attacher les rôles d'instance Amazon EC2 suivants pour activer Systems Manager.
  + Vous devez joindre le rôle `AmazonSSMManagedInstanceCore` pour activer Systems Manager. Pour plus d'informations, consultez [AWS Systems Manager Exemples de politiques basées sur l'identité](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Vous devez joindre la `CloudWatchAgentServerPolicy` politique pour permettre l'émission des métriques et des journaux de l'instance CloudWatch. Pour plus d'informations, voir [Création de rôles et d'utilisateurs IAM à utiliser avec l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html).
+ **AWS groupes de ressources** : pour intégrer vos applications à CloudWatch Application Insights, créez un groupe de ressources qui inclut toutes les AWS ressources associées utilisées par votre pile d'applications. Cela inclut les équilibreurs de charge d'application, les instances Amazon EC2 exécutant IIS et le web frontal, les niveaux d'exécuteurs .NET et les bases de données SQL Server. Pour plus d'informations sur les composants d'application et les piles technologiques pris en charge par Application Insights, consultez[Composants d'application pris en charge](appinsights-what-is.md#appinsights-components). CloudWatch Application Insights inclut automatiquement les groupes Auto Scaling utilisant les mêmes balises ou CloudFormation piles que votre groupe de ressources, car les groupes Auto Scaling ne sont pas pris en charge par les groupes de CloudFormation ressources. Pour plus d'informations, consultez [Premiers pas avec les Resource Groups AWS](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted.html).
+ **Autorisations IAM** : pour les utilisateurs qui n'ont pas d'accès administratif, vous devez créer une politique Gestion des identités et des accès AWS (IAM) qui permet à Application Insights de créer un rôle lié à un service et de l'associer à l'identité de l'utilisateur. Pour plus d'informations sur la création de la politique IAM, veuillez consulter [Politique IAM pour CloudWatch Application Insights](appinsights-iam.md).
+ **Rôle lié à un service** — Application Insights utilise des rôles liés à un service Gestion des identités et des accès AWS (IAM). Un rôle lié à un service est créé pour vous lorsque vous créez votre première application Application Insights dans la console Application Insights. Pour de plus amples informations, veuillez consulter [Utilisation de rôles liés à un service pour Application Insights CloudWatch](CHAP_using-service-linked-roles-appinsights.md).
+ **Prise en charge des métriques de compteur de performances pour les instances EC2 Windows** : pour surveiller les métriques de compteur de performances sur vos instances Amazon EC2 Windows, les compteurs de performances doivent être installés sur les instances. Pour les métriques de compteur de performances et les noms d'ensemble de compteurs de performances correspondants, consultez [Métriques de compteur de performances](application-insights-performance-counter.md). Pour plus d'informations sur les compteurs de performances, consultez [Compteurs de performances](https://docs.microsoft.com/en-us/windows/win32/perfctrs/performance-counters-portal).
+ **Amazon CloudWatch agent** — Application Insights installe et configure l' CloudWatch agent. Si CloudWatch l'agent est installé, Application Insights conserve votre configuration. Pour éviter un conflit de fusion, supprimez la configuration des ressources que vous souhaitez utiliser dans Application Insights du fichier de configuration de l' CloudWatch agent existant. Pour de plus amples informations, veuillez consulter [Création ou modification manuelle du fichier de configuration de CloudWatch l'agent](CloudWatch-Agent-Configuration-File-Details.md).

# Politique IAM pour CloudWatch Application Insights
<a name="appinsights-iam"></a>

Pour utiliser CloudWatch Application Insights, vous devez créer une [politique Gestion des identités et des accès AWS (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) et l'associer à votre utilisateur, groupe ou rôle. Pour de plus amples informations sur les utilisateurs, les groupes et les rôles, consultez [Identités IAM (utilisateurs, groupes d'utilisateurs et rôles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html). La politique IAM définit les autorisations des utilisateurs.

**Pour créer une politique IAM à l'aide de la console**  
Pour créer une politique IAM à l'aide de la console IAM, réalisez les étapes suivantes.

1. Accédez à la [console IAM](https://console.aws.amazon.com/iam/home). Dans le panneau de navigation, sélectionnez **Policies (politiques)**.

1. En haut de la page, sélectionnez **Create policy (Créer une politique)**.

1. Sélectionnez l’onglet **JSON**.

1. Copiez et collez le document JSON suivant sous l'onglet **JSON**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "applicationinsights:*",
                   "iam:CreateServiceLinkedRole",
                   "iam:ListRoles",
                   "resource-groups:ListGroups"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Sélectionnez **Review policy (Examiner une politique)**.

1. Entrez un **nom** pour la politique, par exemple « »AppInsightsPolicy. Saisissez une **Description** (en option).

1. Sélectionnez **Create Policy (Créer une politique)**.

1. Dans le panneau de navigation, sélectionnez **Groupes d'utilisateurs**, **Utilisateurs** ou **Rôles**.

1. Sélectionnez le nom correspondant au groupe d'utilisateurs, à l'utilisateur ou au rôle auquel vous souhaitez attacher la politique.

1. Sélectionnez **Add permissions (Ajouter des autorisations)**.

1. Sélectionnez **Attach existing policies directly (Attacher directement les politiques existantes)**.

1. Recherchez la politique que vous venez de créer, puis sélectionnez la case à cocher à gauche du nom de la politique.

1. Ensuite, cliquez sur **Next: Review (Suivant : Vérification)**.

1. Assurez-vous que la bonne politique est répertoriée, puis sélectionnez **Add permissions (Ajouter des autorisations)**.

1. Assurez-vous de vous connecter avec l'utilisateur associé à la politique que vous venez de créer lorsque vous utilisez CloudWatch Application Insights.

**Pour créer une politique IAM à l'aide du AWS CLI**  
Pour créer une politique IAM à l'aide de AWS CLI, exécutez l'opération [create-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html) depuis la ligne de commande en utilisant le document JSON ci-dessus sous forme de fichier dans votre dossier actuel. 

**Pour créer une politique IAM à l'aide de AWS Tools for Windows PowerShell**  
Pour créer une politique IAM à l'aide de AWS Tools for Windows PowerShell, exécutez la IAMPolicy cmdlt [New-](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMPolicy.html) en utilisant le document JSON ci-dessus sous forme de fichier dans votre dossier actuel. 

# Autorisations de rôle IAM pour l'onboarding des applications basées sur un compte.
<a name="appinsights-account-based-onboarding-permissions"></a>

Si vous souhaitez intégrer toutes les ressources de votre compte, et que vous choisissez de ne pas utiliser la politique gérée [ Application Insights ](security-iam-awsmanpol-appinsights.md) pour accéder pleinement à la fonction Application Insights, vous devez attacher les autorisations suivantes à votre rôle IAM afin que Application Insights puisse découvrir toutes les ressources de votre compte :

```
"ec2:DescribeInstances" 
"ec2:DescribeNatGateways"
"ec2:DescribeVolumes"
"ec2:DescribeVPCs"
"rds:DescribeDBInstances"
"rds:DescribeDBClusters"
"sqs:ListQueues"
"elasticloadbalancing:DescribeLoadBalancers"
"autoscaling:DescribeAutoScalingGroups"
"lambda:ListFunctions"
"dynamodb:ListTables"
"s3:ListAllMyBuckets"
"sns:ListTopics"
"states:ListStateMachines"
"apigateway:GET"
"ecs:ListClusters"
"ecs:DescribeTaskDefinition" 
"ecs:ListServices"
"ecs:ListTasks"
"eks:ListClusters"
"eks:ListNodegroups"
"fsx:DescribeFileSystems"
"route53:ListHealthChecks"
"route53:ListHostedZones"
"route53:ListQueryLoggingConfigs"
"route53resolver:ListFirewallRuleGroups"
"route53resolver:ListFirewallRuleGroupAssociations"
"route53resolver:ListResolverEndpoints"
"route53resolver:ListResolverQueryLogConfigs"
"route53resolver:ListResolverQueryLogConfigAssociations"
"logs:DescribeLogGroups"
"resource-explorer:ListResources"
```

# Configurez l'application de surveillance à l'aide du AWS Management Console
<a name="appinsights-setting-up"></a>

Cette section décrit les étapes à suivre pour configurer, configurer et gérer votre CloudWatch application Application Insights à l'aide de la console AWS CLI, du et AWS Tools for Windows PowerShell.

**Topics**
+ [Étapes de la console](appinsights-setting-up-console.md)
+ [Étapes de ligne de commande](appinsights-setting-up-command.md)
+ [Événements](appinsights-cloudwatch-events.md)
+ [Notifications](appinsights-problem-notifications.md)

# Configurez, configurez et gérez votre application à des fins de surveillance depuis la CloudWatch console
<a name="appinsights-setting-up-console"></a>

Cette section décrit les étapes à suivre pour configurer, configurer et gérer votre application à des fins de surveillance depuis la CloudWatch console.

**Topics**
+ [Ajout et configuration d'une application](#appinsights-add-configure)
+ [Activer la surveillance des ressources Application Insights pour Amazon ECS et Amazon EKS](#appinsights-container-insights)
+ [Désactiver la surveillance d'un composant d'application](#appinsights-disable-monitoring)
+ [Supprimer une application](#appinsights-delete-app)

## Ajout et configuration d'une application
<a name="appinsights-add-configure"></a>

**Ajouter et configurer une application depuis la CloudWatch console**  
Pour commencer à utiliser CloudWatch Application Insights depuis la CloudWatch console, effectuez les étapes suivantes.

1. **Démarrer.** Ouvrez la [page d'accueil de la CloudWatch console](https://console.aws.amazon.com/cloudwatch). Dans le panneau de navigation de gauche, sélectionnez **Application Insights** sous **Insights**. La page qui s'ouvre affiche la liste des applications surveillées avec CloudWatch Application Insights, ainsi que leur état de surveillance. 

1. **Ajouter une application.** Pour configurer la surveillance de votre application, sélectionnez **Add an application (Ajouter une application**. Lorsque vous sélectionnez **Ajouter une application**, vous êtes invité à **Choisir un type d'application**. 
   + **Application basée sur un Resource Group**. Lorsque vous sélectionnez cette option, vous pouvez choisir les Resource Groups de ce compte à surveiller. Pour utiliser plusieurs applications sur un composant, vous devez utiliser la surveillance basée sur les groupes de ressources. 
   + **Application basée sur un compte**. Lorsque vous sélectionnez cette option, vous pouvez surveiller toutes les ressources de ce compte. Si vous souhaitez surveiller toutes les ressources d'un compte, nous recommandons cette option plutôt que celle basée sur les groupes de ressources, car le processus d'onboarding de l'application est plus rapide.
**Note**  
Vous ne pouvez pas combiner la surveillance basée sur des groupes de ressources avec la surveillance basée sur un compte à l'aide d'Application Insights. Pour modifier le type d'application, vous devez supprimer toutes les applications surveillées, et **Choisir le type d'application**. 

   Lorsque vous ajoutez votre première application de surveillance, CloudWatch Application Insights crée un rôle lié à un service dans votre compte, qui autorise Application Insights à appeler d'autres AWS services en votre nom. Pour plus d'informations sur le rôle lié à un service créé dans votre compte par Application Insights, consultez la section [Utilisation de rôles liés à un service pour Application Insights CloudWatch](CHAP_using-service-linked-roles-appinsights.md).

1. 

------
#### [ Resource-based application monitoring ]

   1. **Sélectionnez une application ou un groupe de ressources.**Sur la page **Spécifier les détails de l'application**, sélectionnez le groupe de AWS ressources contenant les ressources de votre application dans la liste déroulante. Ces ressources incluent des serveurs frontaux, des équilibreurs de charge, des groupes Auto Scaling et des serveurs de base de données. 

      Si vous n'avez pas créé de Resource Group pour votre application, vous pouvez le faire en sélectionnant **Create new resource group (Créer un nouveau Resource Group)**. Pour plus d'informations sur Resource Groups, consultez le [https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html). 

   1. **Notifications pour les aperçus de problèmes.** Pour consulter les applications sélectionnées et être averti lorsque des problèmes sont détectés, choisissez les notifications Amazon SNS ou Systems Manager OpsCenter Opsitems.

      1. **Configurez la notification Amazon SNS (recommandé).** Sélectionnez **Sélectionner une rubrique existante** ou **Créer une nouvelle rubrique**. 

      1. **Intégrez avec AWS Systems Manager OpsCenter.** Sous **Paramètres avancés**, cochez la case **Generate Systems Manager OpsCenter OpsItems pour les actions correctives**. Pour suivre les opérations effectuées pour résoudre les éléments de travail opérationnels (OpsItems) liés à vos AWS ressources, fournissez l'ARN de la rubrique Amazon SNS.

   1. **Surveillez CloudWatch les événements**. Cochez la case pour intégrer la surveillance des applications aux CloudWatch événements afin d'obtenir des informations provenant d'Amazon EBS, d'Amazon EC2 AWS CodeDeploy, d'Amazon ECS et de notifications AWS Health APIs , d'Amazon RDS, d'Amazon S3 et. AWS Step Functions

   1. **Balises : facultatif**. CloudWatch Application Insights prend en charge les groupes de ressources basés CloudFormation sur des balises et des groupes de ressources (à l'exception des groupes Auto Scaling). Pour plus d'informations, consultez [Utilisation de Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html).

   1. Sélectionnez **Suivant**.

      Un [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) sera généré pour l'application au format suivant.

      ```
      arn:partition:applicationinsights:region:account-id:application/resource-group/resource-group-name
      ```

      Exemple

      ```
      arn:aws:applicationinsights:us-east-1:123456789012:application/resource-group/my-resource-group
      ```

   1. Dans la page **Examiner les composants détectés**, sous **Vérifier les composants à des fins de surveillance**, la table répertorie les composants détectés et les charges de travail détectées associées.
**Note**  
Pour les composants prenant en charge plusieurs charges de travail personnalisées, vous pouvez surveiller jusqu'à cinq charges de travail pour chaque composant. Ces charges de travail seront surveillées séparément du composant.  
![\[Section des composants détectés de la console CloudWatch Application Insights : présentation des composants détectés et des charges de travail associées.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-review-component.png)

      Sous **Charges de travail associées**, plusieurs messages peuvent s'afficher si une charge de travail n'est pas répertoriée.
      + **Impossible de détecter les charges de travail** : un problème s'est produit lors de la tentative de détection des charges de travail. Assurez-vous d'avoir réalisé les étapes de la rubrique [Conditions préalables à la configuration d’une application pour la surveillance](appinsights-prereqs.md). Si vous devez ajouter des charges de travail, choisissez **Modifier le composant**.
      + **Aucune charge de travail détectée** : nous n'avons détecté aucune charge de travail. Vous devez peut-être ajouter des charges de travail. Pour ce faire, choisissez **Modifier le composant**.
      + **Non applicable** : le composant ne prend pas en charge les charges de travail personnalisées et sera surveillé à l'aide de métriques, d'alertes et de journaux par défaut. Vous ne pouvez pas ajouter de charges de travail à ces composants.

   1. Pour modifier un composant, sélectionnez-le, puis choisissez **Modifier le composant**. Un panneau latéral s'ouvre avec les charges de travail détectées sur le composant. Dans ce panneau, vous pouvez modifier les détails des composants et ajouter des charges de travail.  
![\[La section Examen des composants détectés de la console CloudWatch Application Insights : les charges de travail associées peuvent être modifiées.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-edit-component.png)
      + Pour modifier le type ou le nom de la charge de travail, utilisez le menu déroulant.  
![\[Section Modifier le composant de la console CloudWatch Application Insights : liste déroulante du type de charge de travail.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-edit-name-type.png)
      + Pour ajouter une charge de travail au composant, choisissez **Ajouter une charge de travail**.  
![\[Section d'édition du composant de la console CloudWatch Application Insights : bouton en bas à gauche pour ajouter une nouvelle charge de travail.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-add-workload.png)
        + Si l'option **Ajouter une charge de travail** ne s'affiche pas, ce composant ne prend pas en charge plusieurs charges de travail.
        + Si l'en-tête **Charges de travail associées** n'apparaît pas, ce composant ne prend pas en charge les charges de travail personnalisées.
      + Pour supprimer une charge de trravail, choisissez **Supprimer** à côté de la charge de travail que vous souhaitez supprimer de la surveillance.  
![\[La section Modifier le composant de la console CloudWatch Application Insights : supprimer une charge de travail.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-remove-workload.png)
      + Pour désactiver la surveillance de l'ensemble du composant, décochez la case **Surveillé**.  
![\[La section Modifier le composant de la case à cocher CloudWatch Application Insights pour désactiver la surveillance.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-disable-monitoring.png)
      + Lorsque vous avez terminé de modifier le composant, choisissez **Enregistrer les modifications** dans le coin inférieur droit. Toute modification apportée aux charges de travail d'un composant est visible dans la table **Vérifier les composants à des fins de surveillance** sous **Charges de travail associées**.

   1. Sur la page **Examiner les composants détectés**, choisissez **Suivant**.

   1. La page **Spécifier les détails du composant** inclut tous les composants avec des charges de travail associées personnalisables de l'étape précédente.
**Note**  
Si l'en-tête d'un composant possède une balise *facultative*, les détails supplémentaires relatifs aux charges de travail de ce composant sont facultatifs.

      Si aucun composant n'apparaît sur cette page, aucun détail supplémentaire ne peut être spécifié au cours de cette étape.

   1. Choisissez **Suivant**.

   1. Sur la page **Vérifier et soumettre**, passez en revue tous les détails des composants et de la charge de travail surveillés.

   1. Sélectionnez **Soumettre**.

------
#### [ Account-based application monitoring ]

   1. **Nom de l'application**. Saisissez le nom de l'application basée sur un compte.

   1. **Surveillance automatisée des nouvelles ressources**. Par défaut, Application Insights utilise les paramètres recommandés pour configurer la surveillance des composants de ressources ajoutés à votre compte après que vous ayez intégré l'application. Vous pouvez exclure la surveillance des ressources ajoutées après l'onboarding de votre application en décochant la case.

   1. **Surveillez CloudWatch les événements**. Cochez la case pour intégrer la surveillance des applications aux CloudWatch événements afin d'obtenir des informations provenant d'Amazon EBS, d'Amazon EC2 AWS CodeDeploy, d'Amazon ECS et de notifications AWS Health APIs , d'Amazon RDS, d'Amazon S3 et. AWS Step Functions

   1. **Intégrez avec AWS Systems Manager OpsCenter.** Pour consulter les applications sélectionnées et être averti lorsque des problèmes sont détectés, cochez la case **Generate Systems Manager OpsCenter OpsItems pour les actions correctives**. Pour suivre les opérations effectuées pour résoudre les éléments de travail opérationnels (OpsItems) liés à vos AWS ressources, fournissez l'ARN de la rubrique SNS. 

   1. **Balises : facultatif**. CloudWatch Application Insights prend en charge les groupes de ressources basés CloudFormation sur des balises et des groupes de ressources (à l'exception des groupes Auto Scaling). Pour plus d'informations, consultez [Utilisation de Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html).

   1. **Ressources détectées**. Toutes les ressources découvertes dans votre compte sont ajoutées à cette liste. Si Application Insights ne peut pas découvrir toutes les ressources de votre compte, un message d'erreur apparaît en haut de la page. Ce message contient un lien vers la documentation [ concernant l'ajout des autorisations requises](appinsights-account-based-onboarding-permissions.md).

   1. Sélectionnez **Next (Suivant)**.

      Un [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) sera généré pour l'application au format suivant.

      ```
      arn:partition:applicationinsights:region:account-id:application/TBD/application-name
      ```

      Exemple

      ```
      arn:aws:applicationinsights:us-east-1:123456789012:application/TBD/my-application
      ```

------

1. Une fois que vous aurez soumis la configuration de surveillance de votre application, vous serez redirigé vers la page de détails de l'application, où vous pouvez afficher le **Résumé de l'application**, la liste des **Composants surveillés** et des **Composants non surveillés** et, en sélectionnant les onglets à côté de **Composants**, l'**Historique des configurations**, **Modèles de journaux** et n'importe quelle **Étiquette** que vous avez appliquée.

   Pour afficher les informations relatives à l'application, sélectionnez **View Insights (Afficher les analyses)**.

   Vous pouvez mettre à jour vos sélections pour la surveillance des CloudWatch événements et l'intégration avec AWS Systems Manager OpsCenter en choisissant **Modifier**.

   Sous **Components** (Composants), vous pouvez sélectionner le menu **Actions** pour créer, modifier ou dissocier un groupe d'instances.

   Vous pouvez gérer la surveillance des composants, y compris le niveau d'application, les groupes de journaux, les journaux d'événements, les métriques et les alertes personnalisées, en sélectionnant la puce à côté d'un composant et en sélectionnant **Manage monitoring (Gérer la surveillance)**.

## Activer la surveillance des ressources Application Insights pour Amazon ECS et Amazon EKS
<a name="appinsights-container-insights"></a>

Vous pouvez activer Application Insights pour surveiller les applications conteneurisées et les microservices à partir de la console Container Insights. Application Insights prend en charge la surveillance des ressources suivantes :
+ Clusters Amazon ECS
+ Services Amazon ECS
+ Tâches Amazon ECS
+ Clusters Amazon EKS

Lorsque Application Insights est activé, il fournit des métriques et des journaux recommandés, détecte les problèmes potentiels, génère des CloudWatch événements et crée des tableaux de bord automatiques pour vos applications conteneurisées et vos microservices.

Vous pouvez activer Application Insights pour les ressources conteneurisées à partir des consoles Container Insights ou Application Insights.

**Activer Application Insights à partir de la console Container Insights**  
Depuis la console Container Insights, sur Container Insights **Surveillance des performances** Tableau de bord, sélectionnez **Auto-configure Application Insights (Configuration automatique de l'application Insights)**. Lorsque Application Insights est activée, cette rubrique affiche des détails sur les problèmes détectés.

**Activer Application Insights à partir de la console Application Insights**  
Lorsque les clusters ECS apparaissent dans la liste des composants, Application Insights permet automatiquement une surveillance supplémentaire des conteneurs à l'aide de Container Insights. 

Pour les clusters EKS, vous pouvez activer une surveillance supplémentaire avec Container Insights pour fournir des informations de diagnostic, telles que les échecs de redémarrage de conteneur, afin de vous aider à isoler et à résoudre les problèmes. Des étapes supplémentaires sont nécessaires pour configurer Container Insights pour EKS. Pour plus d'informations, consultez [Configuration de Container Insights sur Amazon EKS et Kubernetes](deploy-container-insights-EKS.md) pour savoir comment configurer Container Insights sur EKS. 

Une surveillance supplémentaire pour EKS avec Container Insights est prise en charge sur les instances Linux avec EKS.

Pour plus d'informations sur la prise en charge de Container Insights pour les clusters ECS et EKS, consultez [Container Insights](ContainerInsights.md).

## Désactiver la surveillance d'un composant d'application
<a name="appinsights-disable-monitoring"></a>

Pour désactiver la surveillance d'un composant d'application à partir de la page Détails de l'application, sélectionnez le composant pour lequel vous souhaitez désactiver la surveillance. Sélectionnez **Actions**, puis **Remove from monitoring (Supprimer de la surveillance)**. 

## Supprimer une application
<a name="appinsights-delete-app"></a>

Pour supprimer une application, dans le CloudWatch tableau de bord, dans le volet de navigation de gauche, choisissez **Application Insights** sous **Insights**. Sélectionnez l'application que vous souhaitez supprimer. Sous **Actions**, sélectionnez **Delete application (Supprimer une application)**. Cela supprime la surveillance ainsi que toutes les surveillances enregistrées pour les composants d'application. Les ressources d'applications ne sont pas supprimées. 

# Configurer et gérer votre application pour la surveillance à l'aide de la ligne de commande
<a name="appinsights-setting-up-command"></a>

Cette section décrit les étapes de configuration, de configuration et de gestion de votre application de surveillance à l'aide du AWS CLI et AWS Tools for Windows PowerShell.

**Topics**
+ [Ajouter et gérer une application](#appinsights-config-app-command)
+ [Gestion et mise à jour du contrôle](#appinsights-monitoring)
+ [Configurer la surveillance pour les groupes de disponibilité SQL Always On](#configure-sql)
+ [Configurer la surveillance pour MySQL RDS](#configure-mysql-rds)
+ [Configurer la surveillance pour MySQL EC2](#configure-mysql-ec2)
+ [Configurer la surveillance pour PostgreSQL RDS](#configure-postgresql-rds)
+ [Configurer la surveillance pour PostgreSQL EC2](#configure-postgresql-ec2)
+ [Configurer la surveillance pour Oracle RDS](#configure-oracle-rds)
+ [Configurer la surveillance pour Oracle EC2](#configure-oracle-ec2)

## Ajouter et gérer une application
<a name="appinsights-config-app-command"></a>

Vous pouvez ajouter ou obtenir des informations, gérer et configurer votre application Application Insights à l'aide de la ligne de commande. 

**Topics**
+ [Ajout d'une application](#appinsights-add-app)
+ [Description d'une application](#appinsights-describe-app)
+ [Liste des composants d'une application](#appinsights-list-components)
+ [Description d'un composant](#appinsights-describe-components)
+ [Regroupement de ressources similaires dans un composant personnalisé](#appinsights-group-resources-components)
+ [Dissociation d'un composant personnalisé](#appinsights-ungroup-resources-components)
+ [Mise à jour d'une application](#appinsights-update-app)
+ [Mise à jour d'un composant personnalisé](#appinsights-update-component)

### Ajout d'une application
<a name="appinsights-add-app"></a>

**Ajoutez une application à l'aide du AWS CLI**  
Pour ajouter une application AWS CLI à votre groupe de ressources appelé`my-resource-group`, avec OpsCenter activé pour fournir l'OPSItem créé à l'` arn:aws:sns:us-east-1:123456789012:MyTopic`ARN de la rubrique SNS, utilisez la commande suivante.

```
aws application-insights create-application --resource-group-name my-resource-group --ops-center-enabled --ops-item-sns-topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic
```

**Ajoutez une application à l'aide de AWS Tools for Windows PowerShell**  
Pour ajouter une application AWS Tools for Windows PowerShell à votre groupe de ressources appelé `my-resource-group` avec OpsCenter enabled afin de fournir l'OPSItem créé à l'`arn:aws:sns:us-east-1:123456789012:MyTopic`ARN de la rubrique SNS, utilisez la commande suivante.

```
New-CWAIApplication -ResourceGroupName my-resource-group -OpsCenterEnabled true -OpsItemSNSTopicArn arn:aws:sns:us-east-1:123456789012:MyTopic
```

### Description d'une application
<a name="appinsights-describe-app"></a>

**Décrivez une application utilisant le AWS CLI**  
 AWS CLI Pour décrire une application créée sur un groupe de ressources appelé`my-resource-group`, utilisez la commande suivante.

```
aws application-insights describe-application --resource-group-name my-resource-group
```

**Décrire une application utilisant AWS Tools for Windows PowerShell**  
 AWS Tools for Windows PowerShell Pour décrire une application créée sur un groupe de ressources appelé`my-resource-group`, utilisez la commande suivante.

```
Get-CWAIApplication -ResourceGroupName my-resource-group
```

### Liste des composants d'une application
<a name="appinsights-list-components"></a>

**Répertoriez les composants d'une application à l'aide du AWS CLI**  
Pour AWS CLI répertorier les composants créés sur un groupe de ressources appelé`my-resource-group`, utilisez la commande suivante.

```
aws application-insights list-components --resource-group-name my-resource-group
```

**Répertoriez les composants d'une application à l'aide de AWS Tools for Windows PowerShell**  
Pour AWS Tools for Windows PowerShell répertorier les composants créés sur un groupe de ressources appelé`my-resource-group`, utilisez la commande suivante.

```
Get-CWAIComponentList -ResourceGroupName my-resource-group
```

### Description d'un composant
<a name="appinsights-describe-components"></a>

**Décrivez un composant à l'aide du AWS CLI**  
Vous pouvez utiliser la AWS CLI commande suivante pour décrire un composant appelé `my-component` qui appartient à une application créée sur un groupe de ressources appelé`my-resource-group`.

```
aws application-insights describe-component --resource-group-name my-resource-group --component-name my-component
```

**Décrire un composant en utilisant AWS Tools for Windows PowerShell**  
Vous pouvez utiliser la AWS Tools for Windows PowerShell commande suivante pour décrire un composant appelé `my-component` qui appartient à une application créée sur un groupe de ressources appelé`my-resource-group`.

```
Get-CWAIComponent -ComponentName my-component -ResourceGroupName my-resource-group
```

### Regroupement de ressources similaires dans un composant personnalisé
<a name="appinsights-group-resources-components"></a>

Nous vous recommandons de regrouper les ressources similaires, telles que les instances de serveurs Web .NET, dans des composants personnalisés pour faciliter l’intégration et améliorer la surveillance et les informations. CloudWatch Application Insights prend en charge les groupes personnalisés pour les instances EC2.

**Pour regrouper les ressources dans un composant personnalisé à l'aide du AWS CLI**  
 AWS CLI Pour regrouper trois instances (`arn:aws:ec2:us-east-1:123456789012:instance/i-11111``arn:aws:ec2:us-east-1:123456789012:instance/i-22222`, et `arn:aws:ec2:us-east-1:123456789012:instance/i-33333`) dans un composant personnalisé appelé `my-component` pour une application créée pour le groupe de ressources appelé`my-resource-group`, utilisez la commande suivante. 

```
aws application-insights create-component --resource-group-name my-resource-group --component-name my-component --resource-list arn:aws:ec2:us-east-1:123456789012:instance/i-11111 arn:aws:ec2:us-east-1:123456789012:instance/i-22222 arn:aws:ec2:us-east-1:123456789012:instance/i-33333
```

**Pour regrouper les ressources dans un composant personnalisé à l'aide de AWS Tools for Windows PowerShell**  
 AWS Tools for Windows PowerShell Pour regrouper trois instances (`arn:aws:ec2:us-east-1:123456789012:instance/i-11111`,`arn:aws:ec2:us-east-1:123456789012:instance/i-22222`, et`arn:aws:ec2:us-east-1:123456789012:instance/i-33333`) dans un composant personnalisé appelé`my-component`, pour une application créée pour le groupe de ressources appelé`my-resource-group`, utilisez la commande suivante.

```
New-CWAIComponent -ResourceGroupName my-resource-group -ComponentName my-component -ResourceList arn:aws:ec2:us-east-1:123456789012:instance/i-11111,arn:aws:ec2:us-east-1:123456789012:instance/i-22222,arn:aws:ec2:us-east-1:123456789012:instance/i-33333 
```

### Dissociation d'un composant personnalisé
<a name="appinsights-ungroup-resources-components"></a>

**Pour dissocier un composant personnalisé à l'aide du AWS CLI**  
Pour AWS CLI dissocier un composant personnalisé nommé `my-component` dans une application créée sur le groupe de ressources`my-resource-group`, utilisez la commande suivante. 

```
aws application-insights delete-component --resource-group-name my-resource-group --component-name my-new-component
```

**Pour dissocier un composant personnalisé à l'aide de AWS Tools for Windows PowerShell**  
Pour AWS Tools for Windows PowerShell dissocier un composant personnalisé nommé `my-component` dans une application créée sur le groupe de ressources`my-resource-group`, utilisez la commande suivante.

```
Remove-CWAIComponent -ComponentName my-component -ResourceGroupName my-resource-group
```

### Mise à jour d'une application
<a name="appinsights-update-app"></a>

**Mettez à jour une application à l'aide du AWS CLI**  
Vous pouvez utiliser le AWS CLI pour mettre à jour une application afin de générer AWS Systems Manager OpsCenter OpsItems pour les problèmes détectés avec l'application, et pour associer la création OpsItems à la rubrique SNS `arn:aws:sns:us-east-1:123456789012:MyTopic`, à l'aide de la commande suivante.

```
aws application-insights update-application --resource-group-name my-resource-group --ops-center-enabled --ops-item-sns-topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic
```

**Mettre à jour une application à l'aide AWS des Outils pour Windows PowerShell**  
Vous pouvez utiliser le AWS Tools for Windows PowerShell pour mettre à jour une application afin de générer un AWS SSM OpsCenter OpsItems pour les problèmes détectés avec l'application, et pour associer le message créé OpsItems au sujet SNS `arn:aws:sns:us-east-1:123456789012:MyTopic`, à l'aide de la commande suivante.

```
Update-CWAIApplication -ResourceGroupName my-resource-group -OpsCenterEnabled true -OpsItemSNSTopicArn arn:aws:sns:us-east-1:123456789012:MyTopic
```

### Mise à jour d'un composant personnalisé
<a name="appinsights-update-component"></a>

**Mettez à jour un composant personnalisé à l'aide du AWS CLI**  
Vous pouvez utiliser le AWS CLI pour mettre à jour un composant personnalisé appelé `my-component` avec un nouveau nom de composant et un groupe d'instances mis à jour à l'aide de la commande suivante. `my-new-component`

```
aws application-insights update-component --resource-group-name my-resource-group --component-name my-component --new-component-name my-new-component --resource-list arn:aws:ec2:us-east-1:123456789012:instance/i-44444 arn:aws:ec2:us-east-1:123456789012:instance/i-55555
```

**Mettre à jour un composant personnalisé à l'aide AWS des outils pour Windows PowerShell**  
Vous pouvez utiliser le AWS Tools for Windows PowerShell pour mettre à jour un composant personnalisé appelé `my-component` avec un nouveau nom de composant et un groupe d'instances mis à jour à l'aide de la commande suivante. `my-new-component`

```
Update-CWAIComponent -ComponentName my-component -NewComponentName my-new-component -ResourceGroupName my-resource-group -ResourceList arn:aws:ec2:us-east-1:123456789012:instance/i-44444,arn:aws:ec2:us-east-1:123456789012:instance/i-55555
```

## Gestion et mise à jour du contrôle
<a name="appinsights-monitoring"></a>

Vous pouvez gérer et mettre à jour la surveillance de votre application Application Insights à l'aide de la ligne de commande.

**Topics**
+ [Liste des problèmes liés à votre application](#appinsights-list-problems-monitoring)
+ [Description d'un problème d'application](#appinsights-describe-app-problem)
+ [Description des anomalies ou des erreurs associées à un problème](#appinsights-describe-anomalies)
+ [Description d'une anomalie ou d'une erreur liée à l'application](#appinsights-describe-anomalies)
+ [Description des configurations de surveillance d'un composant](#appinsights-describe-monitoring)
+ [Description de la configuration de surveillance recommandée d'un composant](#appinsights-describe-rec-monitoring)
+ [Mise à jour des configurations de surveillance d'un composant](#update-monitoring)
+ [Supprimer un Resource Group spécifié de la surveillance Application Insights](#update-monitoring)

### Liste des problèmes liés à votre application
<a name="appinsights-list-problems-monitoring"></a>

**Répertoriez les problèmes liés à votre application à l'aide du AWS CLI**  
Pour AWS CLI répertorier les problèmes détectés avec votre application entre 1 000 et 10 000 millisecondes depuis l'époque Unix pour une application créée sur un groupe de ressources appelé`my-resource-group`, utilisez la commande suivante.

```
aws application-insights list-problems --resource-group-name my-resource-group --start-time 1000 --end-time 10000
```

**Répertoriez les problèmes liés à votre application à l'aide AWS des Outils pour Windows PowerShell**  
Pour AWS Tools for Windows PowerShell répertorier les problèmes détectés avec votre application entre 1 000 et 10 000 millisecondes depuis l'époque Unix pour une application créée sur un groupe de ressources appelé`my-resource-group`, utilisez la commande suivante.

```
$startDate = "8/6/2019 3:33:00"
$endDate = "8/6/2019 3:34:00"
Get-CWAIProblemList -ResourceGroupName my-resource-group -StartTime $startDate -EndTime $endDate
```

### Description d'un problème d'application
<a name="appinsights-describe-app-problem"></a>

**Décrivez un problème d'application à l'aide du AWS CLI**  
Pour utiliser le AWS CLI pour décrire un problème lié à l'identifiant du problème`p-1234567890`, utilisez la commande suivante.

```
aws application-insights describe-problem —problem-id p-1234567890
```

**Décrire un problème d'application à l'aide de AWS Tools for Windows PowerShell**  
Pour utiliser le AWS Tools for Windows PowerShell pour décrire un problème lié à l'identifiant du problème`p-1234567890`, utilisez la commande suivante.

```
Get-CWAIProblem -ProblemId p-1234567890
```

### Description des anomalies ou des erreurs associées à un problème
<a name="appinsights-describe-anomalies"></a>

**Décrivez les anomalies ou les erreurs associées à un problème à l'aide du AWS CLI**  
 AWS CLI Pour décrire les anomalies ou les erreurs associées à un problème lié à l'identifiant du problème`p-1234567890`, utilisez la commande suivante.

```
aws application-insights describe-problem-observations --problem-id -1234567890
```

**Décrivez les anomalies ou les erreurs associées à un problème en utilisant AWS Tools for Windows PowerShell**  
 AWS Tools for Windows PowerShell Pour décrire les anomalies ou les erreurs associées à un problème lié à l'identifiant du problème`p-1234567890`, utilisez la commande suivante.

```
Get-CWAIProblemObservation -ProblemId p-1234567890
```

### Description d'une anomalie ou d'une erreur liée à l'application
<a name="appinsights-describe-anomalies"></a>

**Décrivez une anomalie ou une erreur dans l'application à l'aide de la CLI AWS**  
 AWS CLI Pour décrire une anomalie ou une erreur dans l'application avec l'identifiant d'observation`o-1234567890`, utilisez la commande suivante.

```
aws application-insights describe-observation —observation-id o-1234567890
```

**Décrivez une anomalie ou une erreur dans l'application à l'aide AWS des Outils pour Windows PowerShell**  
 AWS Tools for Windows PowerShell Pour décrire une anomalie ou une erreur dans l'application avec l'identifiant d'observation`o-1234567890`, utilisez la commande suivante.

```
Get-CWAIObservation -ObservationId o-1234567890
```

### Description des configurations de surveillance d'un composant
<a name="appinsights-describe-monitoring"></a>

**Décrivez les configurations de surveillance d'un composant à l'aide du AWS CLI**  
 AWS CLI Pour décrire la configuration de surveillance d'un composant appelé `my-component` dans une application créée sur le groupe de ressources`my-resource-group`, utilisez la commande suivante.

```
aws application-insights describe-component-configuration —resource-group-name my-resource-group —component-name my-component
```

**Décrire les configurations de surveillance d'un composant à l'aide AWS des outils pour Windows PowerShell**  
 AWS Tools for Windows PowerShell Pour décrire la configuration de surveillance d'un composant appelé`my-component`, dans une application créée sur le groupe de ressources`my-resource-group`, utilisez la commande suivante.

```
Get-CWAIComponentConfiguration -ComponentName my-component -ResourceGroupName my-resource-group
```

Pour plus d'informations sur la configuration des composants et pour obtenir des exemples de fichiers JSON, consultez [Utilisation de configurations de composants](component-config.md).

### Description de la configuration de surveillance recommandée d'un composant
<a name="appinsights-describe-rec-monitoring"></a>

**Décrivez la configuration de surveillance recommandée pour un composant à l'aide du AWS CLI**  
Lorsque le composant fait partie d'une application .NET Worker, vous pouvez utiliser le AWS CLI pour décrire la configuration de surveillance recommandée d'un composant appelé `my-component` dans une application créée sur le groupe de ressources`my-resource-group`, à l'aide de la commande suivante.

```
aws application-insights describe-component-configuration-recommendation --resource-group-name my-resource-group --component-name my-component --tier DOT_NET_WORKER
```

**Décrivez la configuration de surveillance recommandée pour un composant à l'aide de AWS Tools for Windows PowerShell**  
Lorsque le composant fait partie d'une application .NET Worker, vous pouvez utiliser le AWS Tools for Windows PowerShell pour décrire la configuration de surveillance recommandée d'un composant appelé `my-component` dans une application créée sur le groupe de ressources`my-resource-group`, à l'aide de la commande suivante.

```
Get-CWAIComponentConfigurationRecommendation -ComponentName my-component -ResourceGroupName my-resource-group -Tier DOT_NET_WORKER
```

Pour plus d'informations sur la configuration des composants et pour obtenir des exemples de fichiers JSON, consultez [Utilisation de configurations de composants](component-config.md).

### Mise à jour des configurations de surveillance d'un composant
<a name="update-monitoring"></a>

**Mettez à jour les configurations de surveillance d'un composant à l'aide du AWS CLI**  
Pour mettre AWS CLI à jour le composant appelé `my-component` dans une application créée sur le groupe de ressources appelé`my-resource-group`, utilisez la commande suivante. La commande inclut les actions suivantes :

1. Activation de la surveillance du composant

1. Définition du niveau du composant sur `.NET Worker`.

1. Mise à jour de la configuration JSON du composant afin d'effectuer la lecture à partir du fichier local `configuration.txt`.

```
aws application-insights update-component-configuration --resource-group-name my-resource-group --component-name my-component --tier DOT_NET_WORKER --monitor --component-configuration "file://configuration.txt"
```

**Mettez à jour les configurations de surveillance d'un composant à l'aide du AWS Tools for Windows PowerShell**  
Pour mettre AWS Tools for Windows PowerShell à jour le composant appelé `my-component` dans une application créée sur le groupe de ressources appelé`my-resource-group`, utilisez la commande suivante. La commande inclut les actions suivantes :

1. Activation de la surveillance du composant

1. Définition du niveau du composant sur `.NET Worker`.

1. Mise à jour de la configuration JSON du composant afin d'effectuer la lecture à partir du fichier local `configuration.txt`.

```
[string]$config = Get-Content -Path configuration.txt
Update-CWAIComponentConfiguration -ComponentName my-component -ResourceGroupName my-resource-group -Tier DOT_NET_WORKER -Monitor 1 -ComponentConfiguration $config
```

Pour plus d'informations sur la configuration des composants et pour obtenir des exemples de fichiers JSON, consultez [Utilisation de configurations de composants](component-config.md).

### Supprimer un Resource Group spécifié de la surveillance Application Insights
<a name="update-monitoring"></a>

**Supprimer un groupe de ressources spécifié de la surveillance d'Application Insights à l'aide du AWS CLI**  
 AWS CLI Pour supprimer une application créée sur le groupe de ressources appelé `my-resource-group` de la surveillance, utilisez la commande suivante.

```
aws application-insights delete-application --resource-group-name my-resource-group
```

**Supprimer un groupe de ressources spécifié de la surveillance d'Application Insights à l'aide du AWS Tools for Windows PowerShell**  
 AWS Tools for Windows PowerShell Pour supprimer une application créée sur le groupe de ressources appelé `my-resource-group` de la surveillance, utilisez la commande suivante.

```
Remove-CWAIApplication -ResourceGroupName my-resource-group
```

## Configurer la surveillance pour les groupes de disponibilité SQL Always On
<a name="configure-sql"></a>

1. Créez une application pour le Resource Group avec les instances SQL HA EC2.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Définissez les instances EC2 qui représentent le cluster SQL HA en créant un nouveau composant d'application.

   ```
   aws application-insights create-component ‐-resource-group-name  "<RESOURCE_GROUP_NAME>" ‐-component-name SQL_HA_CLUSTER ‐-resource-list  "arn:aws:ec2:<REGION>:<ACCOUNT_ID>:instance/<CLUSTER_INSTANCE_1_ID>" "arn:aws:ec2:<REGION>:<ACCOUNT_ID>:instance/<CLUSTER_INSTANCE_2_ID>
   ```

1. Configurez le composant SQL HA.

   ```
   aws application-insights  update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "SQL_HA_CLUSTER" ‐-monitor ‐-tier SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP ‐-monitor  ‐-component-configuration '{
     "subComponents" : [ {
       "subComponentType" : "AWS::EC2::Instance",
       "alarmMetrics" : [ {
         "alarmMetricName" : "CPUUtilization",
         "monitor" : true
       }, {
         "alarmMetricName" : "StatusCheckFailed",
         "monitor" : true
       }, {
         "alarmMetricName" : "Processor % Processor Time",
         "monitor" : true
       }, {
         "alarmMetricName" : "Memory % Committed Bytes In Use",
         "monitor" : true
       }, {
         "alarmMetricName" : "Memory Available Mbytes",
         "monitor" : true
       }, {
         "alarmMetricName" : "Paging File % Usage",
         "monitor" : true
       }, {
         "alarmMetricName" : "System Processor Queue Length",
         "monitor" : true
       }, {
         "alarmMetricName" : "Network Interface Bytes Total/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "PhysicalDisk % Disk Time",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Buffer Manager Buffer cache hit ratio",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Buffer Manager Page life expectancy",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:General Statistics Processes blocked",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:General Statistics User Connections",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Locks Number of Deadlocks/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:SQL Statistics Batch Requests/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica File Bytes Received/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Log Bytes Received/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Log remaining for undo",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Log Send Queue",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Mirrored Write Transaction/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Recovery Queue",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Redo Bytes Remaining",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Redone Bytes/sec",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Total Log requiring undo",
         "monitor" : true
       }, {
         "alarmMetricName" : "SQLServer:Database Replica Transaction Delay",
         "monitor" : true
       } ],
       "windowsEvents" : [ {
         "logGroupName" : "WINDOWS_EVENTS-Application-<RESOURCE_GROUP_NAME>",
         "eventName" : "Application",
         "eventLevels" : [ "WARNING", "ERROR", "CRITICAL", "INFORMATION" ],
         "monitor" : true
       }, {
         "logGroupName" : "WINDOWS_EVENTS-System-<RESOURCE_GROUP_NAME>",
         "eventName" : "System",
         "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
         "monitor" : true
       }, {
         "logGroupName" : "WINDOWS_EVENTS-Security-<RESOURCE_GROUP_NAME>",
         "eventName" : "Security",
         "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
         "monitor" : true
       } ],
       "logs" : [ {
         "logGroupName" : "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP-<RESOURCE_GROUP_NAME>",
         "logPath" : "C:\\Program Files\\Microsoft SQL Server\\MSSQL**.MSSQLSERVER\\MSSQL\\Log\\ERRORLOG",
         "logType" : "SQL_SERVER",
         "monitor" : true,
         "encoding" : "utf-8"
       } ]
     }, {
       "subComponentType" : "AWS::EC2::Volume",
       "alarmMetrics" : [ {
         "alarmMetricName" : "VolumeReadBytes",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeWriteBytes",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeReadOps",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeWriteOps",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeQueueLength",
         "monitor" : true
       }, {
       "alarmMetricName" : "VolumeThroughputPercentage",
         "monitor" : true
       }, {
       "alarmMetricName" : "BurstBalance",
         "monitor" : true
       } ]
     } ]
   }'
   ```

**Note**  
Application Insights doit intégrer les journaux des événements d'application (niveau d'information) pour détecter les activités de cluster telles que le basculement.

## Configurer la surveillance pour MySQL RDS
<a name="configure-mysql-rds"></a>

1. Créez une application pour le groupe de ressources avec l'instance de base de données RDS MySQL.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Le journal d’erreurs est activé par défaut. Le journal des requêtes lentes peut être activé à l'aide de groupes de paramètres de données. Pour plus d'informations, consultez [Accès au journal des requêtes lentes et au journal général MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#USER_LogAccess.MySQL.Generallog).
   + `set slow_query_log = 1`
   + `set log_output = FILE`

1. Exportez les journaux à surveiller vers CloudWatch des journaux. Pour plus d'informations, consultez [Publier des journaux MySQL dans des CloudWatch journaux](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs).

1. Configurez le composant MySQL RDS.

   ```
   aws application-insights  update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "<DB_COMPONENT_NAME>" ‐-monitor ‐-tier DEFAULT ‐-monitor  ‐-component-configuration "{\"alarmMetrics\":[{\"alarmMetricName\":\"CPUUtilization\",\"monitor\":true}],\"logs\":[{\"logType\":\"MYSQL\",\"monitor\":true},{\"logType\": \"MYSQL_SLOW_QUERY\",\"monitor\":false}]}"
   ```

## Configurer la surveillance pour MySQL EC2
<a name="configure-mysql-ec2"></a>

1. Créez une application pour le groupe de ressources avec les instances SQL HA EC2.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Le journal d’erreurs est activé par défaut. Le journal des requêtes lentes peut être activé à l'aide de groupes de paramètres de données. Pour plus d'informations, consultez [Accès au journal des requêtes lentes et au journal général MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#USER_LogAccess.MySQL.Generallog).
   + `set slow_query_log = 1`
   + `set log_output = FILE`

1. Configurez le composant MySQL EC2.

   ```
   aws application-insights  update-component-configuration ‐-resource-group-name "<RESOURCE_GROUP_NAME>" ‐-region <REGION> ‐-component-name "<DB_COMPONENT_NAME>" ‐-monitor ‐-tier MYSQL ‐-monitor  ‐-component-configuration "{\"alarmMetrics\":[{\"alarmMetricName\":\"CPUUtilization\",\"monitor\":true}],\"logs\":[{\"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",\"logPath\":\"C:\\\\ProgramData\\\\MySQL\\\\MySQL Server **\\\\Data\\\\<FILE_NAME>.err\",\"logType\":\"MYSQL\",\"monitor\":true,\"encoding\":\"utf-8\"}]}"
   ```

## Configurer la surveillance pour PostgreSQL RDS
<a name="configure-postgresql-rds"></a>

1. Créez une application pour le Resource Group avec l'instance de base de données PostgreSQL RDS.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. La publication des journaux PostgreSQL sur n'est pas CloudWatch activée par défaut. Pour activer la surveillance, ouvrez la console RDS et sélectionnez la base de données à surveiller. Sélectionnez **Modify (Modifier)** dans le coin supérieur droit et cochez la case intitulée journal **PostgreSQL**. Sélectionnez **Continuer** pour enregistrer ce paramètre.

1. Vos journaux PostgreSQL sont exportés vers. CloudWatch

1. Configurez le composant PostgreSQL RDS.

   ```
   aws application-insights update-component-configuration --region <REGION> --resource-group-name <RESOURCE_GROUP_NAME> --component-name <DB_COMPONENT_NAME> --monitor --tier DEFAULT --component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\": \"CPUUtilization\",
            \"monitor\": true
         }
      ],
      \"logs\":[
         {
            \"logType\": \"POSTGRESQL\",
            \"monitor\": true
         }
      ]
   }"
   ```

## Configurer la surveillance pour PostgreSQL EC2
<a name="configure-postgresql-ec2"></a>

1. Créez une application pour le Resource Group avec l'instance PostgreSQL EC2.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Configurez le composant PostgreSQL EC2.

   ```
   aws application-insights update-component-configuration ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME> ‐-component-name <DB_COMPONENT_NAME> ‐-monitor ‐-tier POSTGRESQL ‐-component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\":\"CPUUtilization\",
            \"monitor\":true
         }
      ],
      \"logs\":[
         {
            \"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",
            \"logPath\":\"/var/lib/pgsql/data/log/\",
            \"logType\":\"POSTGRESQL\",
            \"monitor\":true,
            \"encoding\":\"utf-8\"
         }
      ]
   }"
   ```

## Configurer la surveillance pour Oracle RDS
<a name="configure-oracle-rds"></a>

1. Créez une application pour le Resource Group avec l'instance de base de données Oracle RDS.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. La publication des journaux Oracle sur n' CloudWatch est pas activée par défaut. Pour activer la surveillance, ouvrez la console RDS et sélectionnez la base de données à surveiller. Sélectionnez **Modify (Modifier)** dans le coin supérieur droit, puis cochez les cases intitulées journal **Alert (Alerte)** et journal **Listener (Écouteur)**. Sélectionnez **Continuer** pour enregistrer ce paramètre.

1. Vos journaux Oracle sont exportés vers CloudWatch.

1. Configurez le composant Oracle RDS.

   ```
   aws application-insights update-component-configuration --region <REGION> --resource-group-name <RESOURCE_GROUP_NAME> --component-name <DB_COMPONENT_NAME> --monitor --tier DEFAULT --component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\": \"CPUUtilization\",
            \"monitor\": true
         }
      ],
      \"logs\":[
         {
            \"logType\": \"ORACLE_ALERT\",
            \"monitor\": true
         },
         {
            \"logType\": \"ORACLE_LISTENER\",
            \"monitor\": true
         }
      ]
   }"
   ```

## Configurer la surveillance pour Oracle EC2
<a name="configure-oracle-ec2"></a>

1. Créez une application pour le Resource Group avec l'instance Oracle EC2.

   ```
   aws application-insights create-application ‐-region <REGION> ‐-resource-group-name  <RESOURCE_GROUP_NAME>
   ```

1. Configurez le composant Oracle EC2.

   ```
   aws application-insights update-component-configuration ‐-region <REGION> ‐-resource-group-name <RESOURCE_GROUP_NAME> ‐-component-name <DB_COMPONENT_NAME> ‐-monitor ‐-tier ORACLE ‐-component-configuration 
   "{
      \"alarmMetrics\":[
         {
            \"alarmMetricName\":\"CPUUtilization\",
            \"monitor\":true
         }
      ],
      \"logs\":[
         {
            \"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",
            \"logPath\":\"/opt/oracle/diag/rdbms/*/*/trace\",
            \"logType\":\"ORACLE_ALERT\",
            \"monitor\":true,
         },
         {
            \"logGroupName\":\"<UNIQUE_LOG_GROUP_NAME>\",
            \"logPath\":\"/opt/oracle/diag/tnslsnr/$HOSTNAME/listener/trace/\",
            \"logType\":\"ORACLE_ALERT\",
            \"monitor\":true,
         }
      ]
   }"
   ```

# CloudWatch Événements Application Insights pour les problèmes détectés
<a name="appinsights-cloudwatch-events"></a>

Pour chaque application ajoutée à CloudWatch Application Insights, un CloudWatch événement est publié pour les événements suivants dans la mesure du possible :
+ **Création de problème.** Émis lorsque CloudWatch Application Insights détecte un nouveau problème.
  + Type de détail : ** « Problème Application Insights détecté »**
  + Détail :
    + `problemId` : l'ID du problème détecté.
    + `region`: AWS Région dans laquelle le problème a été créé.
    + `resourceGroupName` : le Resource Group de l'application enregistrée pour lequel le problème a été détecté ;
    + `status` : le statut du problème. Les statuts et les définitions possibles sont les suivants :
      + `In progress` : Un nouveau problème a été identifié. Le problème reçoit encore des observations.
      + `Recovering` : Le problème est en train de se stabiliser. Vous pouvez résoudre manuellement le problème lorsqu'il est dans cet état. 
      + `Resolved` : Le problème est résolu. Il n'y a pas de nouvelles observations concernant ce problème.
      + `Recurring` : Le problème a été résolu au cours des dernières 24 heures. Il s'est rouvert à la suite d'observations supplémentaires.
    + `severity`: la gravité du problème.
    + `problemUrl`: la console URL du problème.
+ **Mise à jour du problème.** Émis lorsque le problème est mis à jour avec une nouvelle observation ou lorsqu'une observation existante est mise à jour et que le problème est ensuite mis à jour ; les mises à jour comprennent une résolution ou la clôture du problème.
  + Type de détail : ** « Mise à jour de problèmes Application Insights »**
  + Détail :
    + `problemId` : l'ID du problème créé.
    + `region`: AWS Région dans laquelle le problème a été créé.
    + `resourceGroupName` : le Resource Group de l'application enregistrée pour lequel le problème a été détecté ;
    + `status` : le statut du problème.
    + `severity`: la gravité du problème.
    + `problemUrl`: la console URL du problème.

# Recevoir des notifications pour les problèmes détectés
<a name="appinsights-problem-notifications"></a>

Vous pouvez utiliser les notifications Amazon SNS, Systems Manager OpsCenter ou CloudWatch Events pour recevoir des notifications concernant les problèmes détectés dans vos applications. 

**CloudWatch Application Insights (Amazon SNS) : notifications en cas de problèmes détectés**  
Vous pouvez configurer les notifications Amazon SNS à l'aide du AWS Management Console ou du. AWS CLI Pour configurer des notifications à l'aide de AWS Management Console, vous devez disposer des autorisations Amazon SNS nécessaires, comme indiqué dans l'exemple suivant. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "sns:ListTopics",
          "sns:Subscribe",
          "sns:CreateTopic"
        ],    
        "Resource": [
          "*" 
        ]
      }
    ]    
}
```

------

Après avoir configuré les notifications Amazon SNS, vous recevez des e-mails de notification lorsqu’un problème est créé ou résolu. Vous recevez également des notifications lorsqu’une nouvelle observation est ajoutée à un problème existant.

L’exemple suivant présente le contenu d’un e-mail de notification.

```
    You are receiving this email because Problem "p-1234567" has been CREATED by Amazon CloudWatch Application Insights
    
    Problem Details: 
    Problem URL: https:////console.aws.amazon.com/cloudwatch/home?region=us-east-1#settings:AppInsightsSettings/problemDetails?problemId=p-1234567
    Problem Summary: Title of the problem
    Severity: HIGH
    Insights: Something specific is broken
    Status : RESOLVED
    AffectedResource: arn:aws:ec2:us-east-1:555555555555:host/testResource
    Region: us-east-1
    RecurringCount: 0
    StartTime: 2019-03-23T10:42:57.777Z
    LastUpdatedTime: 2019-03-23T21:49:37.777Z
    LastRecurrenceTime: 
    StopTime: 2019-03-23T21:49:37.777Z
    
    Recent Issues
    - TelemetryArn:alarm1
      StartTime: 2024-08-15T22:12:46.007Z
      StopTime:
    - TelemetryArn:log-group1
      StartTime: 2024-08-15T22:12:46.007Z
      StopTime: 2024-08-15T22:12:46.007Z
```

**Comment recevoir des notifications de problèmes à l’aide de Systems Manager**  
**Actions par le biais de AWS Systems Manager.** CloudWatch Application Insights fournit une intégration intégrée à Systems Manager OpsCenter. Si vous choisissez d'utiliser cette intégration pour votre application, une intégration OpsItem est créée sur la OpsCenter console pour chaque problème détecté avec l'application. Depuis la OpsCenter console, vous pouvez consulter des informations résumées sur le problème détecté par CloudWatch Application Insights et choisir un runbook de Systems Manager Automation pour prendre des mesures correctives ou mieux identifier les processus Windows à l'origine des problèmes de ressources dans votre application. 

**Comment recevoir des notifications de problèmes à l'aide d' CloudWatch Events**  
Dans la CloudWatch console, sélectionnez **Règles** sous **Événements** dans le volet de navigation de gauche. Dans la page **Règles**, sélectionnez **Créer une règle**. Choisissez **Amazon CloudWatch Application Insights** dans la liste déroulante **Nom du service** et choisissez le **type d'événement**. Ensuite, sélectionnez **Ajouter une cible** et sélectionnez la cible et les paramètres, par exemple une **rubrique SNS** ou une **fonction Lambda**. 

# Observabilité inter-comptes Application Insights
<a name="appinsights-cross-account"></a>

Grâce à CloudWatch l'observabilité entre comptes d'Application Insights, vous pouvez surveiller et dépanner vos applications qui couvrent plusieurs AWS comptes au sein d'une même région.

Vous pouvez utiliser Amazon CloudWatch Observability Access Manager pour configurer un ou plusieurs de vos AWS comptes en tant que compte de surveillance. Vous allez permettre au compte de surveillance de consulter les données de votre compte source en créant un récepteur dans votre compte de surveillance. Vous utilisez le récepteur pour créer un lien entre votre compte source et votre compte de surveillance. Pour de plus amples informations, veuillez consulter [CloudWatch observabilité entre comptes](CloudWatch-Unified-Cross-Account.md).

**Ressources requises**  
Pour garantir le bon fonctionnement de CloudWatch l'observabilité entre comptes Application Insights, assurez-vous que les types de télémétrie suivants sont partagés via l' CloudWatch Observability Access Manager.
+ Applications dans CloudWatch Application Insights
+ Métriques sur Amazon CloudWatch
+ Groupes de journaux dans Amazon CloudWatch Logs
+ Traces dans [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

# Utilisation de configurations de composants
<a name="component-config"></a>

Une configuration de composant est un fichier texte au format JSON qui décrit les paramètres de configuration du composant. Cette section fournit un exemple de fragment de modèle, des descriptions des sections de configuration de composants et des exemples de configurations de composants.

**Topics**
+ [Fragment de modèle](component-config-json.md)
+ [Sections](component-config-sections.md)
+ [Exemples de configurations pour les services pertinents](component-configuration-examples.md)

# Fragment de modèle de configuration de composants
<a name="component-config-json"></a>

L'exemple suivant montre un fragment de modèle au format JSON.

```
{
  "alarmMetrics" : [
    list of alarm metrics
  ],
  "logs" : [
    list of logs
  ],
  "processes" : [
   list of processes
  ],
  "windowsEvents" : [
    list of windows events channels configurations
  ],
  "alarms" : [
    list of CloudWatch alarms
  ],
  "jmxPrometheusExporter": {
    JMX Prometheus Exporter configuration
  },
  "hanaPrometheusExporter": {
      SAP HANA Prometheus Exporter configuration
  },
  "haClusterPrometheusExporter": {
      HA Cluster Prometheus Exporter configuration
  },
  "netWeaverPrometheusExporter": {
      SAP NetWeaver Prometheus Exporter configuration
  },
  "subComponents" : [
    {
      "subComponentType" : "AWS::EC2::Instance" ...
      component nested instances configuration
    },
    {
      "subComponentType" : "AWS::EC2::Volume" ...
      component nested volumes configuration
    }
  ]
}
```

# Sections de configuration de composant
<a name="component-config-sections"></a>

Une configuration de composant comprend plusieurs sections majeures. Les sections d'une configuration de composant peuvent être listées dans n'importe quel ordre.
+ **alarmMetrics (en option)**

  Liste des [métriques](#component-config-metric) à surveiller pour le composant. Tous les types de composant peuvent avoir une section alarmMetrics. 
+ **logs (en option)**

  Liste des [journaux](#component-configuration-log) à surveiller pour le composant. Seules les instances EC2 peuvent avoir une section de journaux. 
+ **processes (facultatif)**

  Liste des [processus](#component-configuration-process) à surveiller pour le composant. Seules les instances EC2 peuvent avoir une section relative aux processus. 
+ **sous-composants (en option)**

  Configuration d'instance imbriquée et du volume de subComponent pour le composant. Les types de composants suivants peuvent avoir des instances imbriquées et une section subComponents : ELB, ASG, les instances EC2 regroupées personnalisées et des instances EC2.
+ **alertes (en option)**

  Liste des [alertes](#component-configuration-alarms) à surveiller pour le composant. Tous les types de composant peuvent avoir une section alerte.
+ **windowsEvents (en option)**

  Liste des [événements Windows](#windows-events) à surveiller pour le composant. Seul Windows dispose d'une section `windowsEvents` sur les instances EC2.
+ **JMXPrometheusExportateur (facultatif)**

  JMXPrometheus Configuration de l'exportateur.
+ **hanaPrometheusExporter (facultatif)**

  Configuration de l'exportateur SAP HANA Prometheus.
+ **haClusterPrometheusExportateur (facultatif)**

  Configuration de l'exportateur Prometheus Cluster HA.
+ **netWeaverPrometheusExportateur (facultatif)**

  Configuration de NetWeaver l'exportateur SAP Prometheus.
+ **sapAsePrometheusExportateur (facultatif)**

  Configuration de SAP ASE Prometheus Exporter.

L'exemple suivant montre la syntaxe du **fragment de la section subComponents** au format JSON.

```
[
  {
    "subComponentType" : "AWS::EC2::Instance",
    "alarmMetrics" : [
      list of alarm metrics
    ],
    "logs" : [
      list of logs
    ],
    "processes": [
      list of processes
    ],
    "windowsEvents" : [
      list of windows events channels configurations
    ]
  },
  {
    "subComponentType" : "AWS::EC2::Volume",
    "alarmMetrics" : [
      list of alarm metrics
    ]
  }
]
```

## Propriétés de la section Configuration de composant
<a name="component-config-properties"></a>

Cette section décrit les propriétés de chaque section Configuration de composant.

**Topics**
+ [Métrique](#component-config-metric)
+ [Journal](#component-configuration-log)
+ [Processus](#component-configuration-process)
+ [JMX Prometheus Exporter](#component-configuration-prometheus)
+ [Exportateur HANA Prometheus](#component-configuration-hana-prometheus)
+ [Exportateur HA Cluster Prometheus](#component-configuration-ha-cluster-prometheus)
+ [NetWeaver Prometheus Exportateur](#component-configuration-netweaver-prometheus)
+ [SAP ASE Prometheus Exporter](#component-configuration-sap-ase-prometheus)
+ [Événements Windows](#windows-events)
+ [alerte](#component-configuration-alarms)

### Métrique
<a name="component-config-metric"></a>

Définit une métrique à surveiller pour le composant.

**JSON** 

```
{
  "alarmMetricName" : "monitoredMetricName",
  "monitor" : true/false
}
```

**Propriétés**
+ **alarmMetricName (obligatoire)**

  Le nom de la métrique à surveiller pour le composant. Pour les métriques prises en charge par Application Insights, consultez [Logs et statistiques pris en charge par Amazon CloudWatch Application Insights](appinsights-logs-and-metrics.md). 
+ **monitor (en option)**

  Valeur booléenne pour indiquer s'il faut surveiller la métrique. La valeur par défaut est `true`.

### Journal
<a name="component-configuration-log"></a>

Définit un journal à surveiller pour le composant.

**JSON** 

```
{
  "logGroupName" : "logGroupName",
  "logPath" : "logPath",
  "logType" : "logType",
  "encoding" : "encodingType",
  "monitor" : true/false
}
```

**Propriétés**
+ **logGroupName (obligatoire)**

  Le nom du groupe de CloudWatch journaux à associer au journal surveillé. Pour les contraintes liées au nom des groupes de journaux, consultez [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html).
+ **LogPath (obligatoire pour les composants de l'instance EC2 ; non requis pour les composants qui n'utilisent pas l' CloudWatchagent, tels que) AWS Lambda**

  Chemin des journaux à surveiller. Le chemin d'accès au journal doit être un chemin absolu de fichier système Windows. Pour plus d'informations, consultez la [section Fichier de configuration de l'CloudWatch agent : journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Logssection). 
+ **logType (obligatoire)**

  Le type de journal décide des modèles de journal par rapport auxquels Application Insights analyse le journal. Le type de journal est sélectionné parmi les éléments suivants :
  + `SQL_SERVER`
  + `MYSQL`
  + `MYSQL_SLOW_QUERY`
  + `POSTGRESQL`
  + `ORACLE_ALERT`
  + `ORACLE_LISTENER`
  + `IIS`
  + `APPLICATION`
  + `WINDOWS_EVENTS`
  + `WINDOWS_EVENTS_ACTIVE_DIRECTORY`
  + `WINDOWS_EVENTS_DNS`
  + `WINDOWS_EVENTS_IIS`
  + `WINDOWS_EVENTS_SHAREPOINT`
  + `SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP`
  + `SQL_SERVER_FAILOVER_CLUSTER_INSTANCE`
  + `DEFAULT`
  + `CUSTOM`
  + `STEP_FUNCTION`
  + `API_GATEWAY_ACCESS`
  + `API_GATEWAY_EXECUTION`
  + `SAP_HANA_LOGS`
  + `SAP_HANA_TRACE`
  + `SAP_HANA_HIGH_AVAILABILITY`
  + `SAP_NETWEAVER_DEV_TRACE_LOGS`
  + `PACEMAKER_HIGH_AVAILABILITY`
+ **encoding (en option)**

  Type d'encodage des journaux à surveiller. Le codage spécifié doit être inclus dans la liste des [codages pris en charge par CloudWatch l'agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html). S'il n'est pas fourni, CloudWatch Application Insights utilise le codage par défaut de type utf-8, sauf pour : 
  +  `SQL_SERVER` : encodage utf-16
  +  `IIS` : encodage ascii
+ **surveiller (en option)**

  Valeur booléenne qui indique s'il faut surveiller les journaux. La valeur par défaut est `true`.

### Processus
<a name="component-configuration-process"></a>

Définit un processus à surveiller pour le composant.

**JSON** 

```
{
  "processName" : "monitoredProcessName",
  "alarmMetrics" : [
      list of alarm metrics
  ] 
}
```

**Propriétés**
+ **processName (obligatoire)**

  Le nom du processus à surveiller pour le composant. Le nom du processus ne doit pas contenir de tige de processus, tel que `sqlservr` ou `sqlservr.exe`.
+ **alarmMetrics (obligatoire)**

  Une liste des [métriques](#component-config-metric) à surveiller pour ce processus. Pour consulter les indicateurs de processus pris en charge par CloudWatch Application Insights, voir[Amazon Elastic Compute Cloud (EC2)](appinsights-metrics-ec2.md).

### JMX Prometheus Exporter
<a name="component-configuration-prometheus"></a>

Définit les paramètres de JMX Prometheus Exporter.

**JSON** 

```
"JMXPrometheusExporter": {
  "jmxURL" : "JMX URL",
  "hostPort" : "The host and port",
  "prometheusPort" : "Target port to emit Prometheus metrics"
}
```

**Propriétés**
+ **jmxURL (en option)**

  Une URL JMX complète à laquelle se connecter.
+ **hostPort (en option)**

  L'hôte et le port auquel se connecter par le biais du JMX distant. Seul un des `jmxURL` et `hostPort` peut être spécifié.
+ **prometheusPort (en option)**

  Le port cible vers lequel envoyer les métriques Prometheus. S'il n'est pas spécifié, le port par défaut 9404 est utilisé.

### Exportateur HANA Prometheus
<a name="component-configuration-hana-prometheus"></a>

Définit les paramètres de l'exportateur HANA Prometheus.

**JSON** 

```
"hanaPrometheusExporter": {
    "hanaSid": "SAP HANA  SID",
    "hanaPort": "HANA database port",
    "hanaSecretName": "HANA secret name",
    "prometheusPort": "Target port to emit Prometheus metrics"
}
```

**Propriétés**
+ **Hanasid**

  L'ID système SAP (SID) à trois caractères du système SAP HANA.
+ **Port Hana**

  Port de base de données HANA par lequel l'exportateur interrogera les métriques HANA.
+ **hanaSecretName**

  Le AWS Secrets Manager secret qui stocke les informations d'identification des utilisateurs de surveillance HANA. L'exportateur HANA Prometheus utilise ces informations d'identification pour se connecter à la base de données et interroger les métriques HANA.
+ **prometheusPort (en option)**

  Le port cible vers lequel Prometheus envoie des métriques. S'il n'est pas spécifié, le port par défaut 9668 est utilisé.

### Exportateur HA Cluster Prometheus
<a name="component-configuration-ha-cluster-prometheus"></a>

Définit les paramètres de l'exportateur HA Cluster Prometheus.

**JSON** 

```
"haClusterPrometheusExporter": {
    "prometheusPort": "Target port to emit Prometheus metrics"
}
```

**Propriétés**
+ **prometheusPort (en option)**

  Le port cible vers lequel Prometheus envoie des métriques. S'il n'est pas spécifié, le port par défaut 9664 est utilisé.

### NetWeaver Prometheus Exportateur
<a name="component-configuration-netweaver-prometheus"></a>

Définit les paramètres de NetWeaver Prometheus Exporter.

**JSON** 

```
"netWeaverPrometheusExporter": {
    "sapSid": "SAP NetWeaver  SID",
    "instanceNumbers": [ "Array of instance Numbers of SAP NetWeaver system "],
"prometheusPort": "Target port to emit Prometheus metrics"
}
```

**Propriétés**
+ **sapSid**

  L'identifiant du système SAP (SID) à 3 caractères du NetWeaver système SAP.
+ **instanceNumbers**

  Tableau des numéros d'instance du NetWeaver système SAP.

  **Exemple : **`"instanceNumbers": [ "00", "01"]`
+ **prometheusPort (en option)**

  Le port cible vers lequel envoyer les métriques Prometheus. S'il n'est pas spécifié, le port par défaut `9680` est utilisé.

### SAP ASE Prometheus Exporter
<a name="component-configuration-sap-ase-prometheus"></a>

Définit les paramètres de SAP ASE Prometheus Exporter.

**JSON** 

```
"sapASEPrometheusExporter": {
    "sapAseSid": "SAP ASE SID",
    "sapAsePort": "SAP ASE database port",
    "sapAseSecretName": "SAP ASE secret name",
    "prometheusPort": "Target port to emit Prometheus metrics",
    "agreeToEnableASEMonitoring": true
}
```

**Propriétés**
+ **sapAseSid**

  L'ID système SAP (SID) à trois caractères du système SAP ASE.
+ **sapAsePort**

  Le port de base de données SAP ASE par lequel l'exportateur interrogera les métriques ASE.
+ **sapAseSecretNom**

  Le AWS Secrets Manager secret qui stocke les informations d'identification des utilisateurs de surveillance ASE. L'exportateur SAP ASE Prometheus utilise ces informations d'identification pour se connecter à la base de données et interroger les métriques ASE.
+ **prometheusPort (en option)**

  Le port cible vers lequel Prometheus envoie des métriques. S'il n'est pas spécifié, le port par défaut 9399 est utilisé. S'il existe une autre base de données ASE qui utilise le port par défaut, le port 9499 est utilisé.

### Événements Windows
<a name="windows-events"></a>

Définit les événements Windows à journaliser.

**JSON** 

```
{
  "logGroupName" : "logGroupName",
  "eventName" : "eventName",
  "eventLevels" : ["ERROR","WARNING","CRITICAL","INFORMATION","VERBOSE"],
  "monitor" : true/false
}
```

**Propriétés**
+ **logGroupName (obligatoire)**

  Le nom du groupe de CloudWatch journaux à associer au journal surveillé. Pour les contraintes liées au nom des groupes de journaux, consultez [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html).
+ **eventName (obligatoire)**

  Type des événements Windows à consigner. Ceci est équivalent au nom du canal du journal des événements de Windows. Par exemple, système, sécurité CustomEventName, etc. Ce champ est obligatoire pour chaque type d'événement Windows à consigner. 
+ **eventLevels (obligatoire)**

  Niveaux d'événement à consigner. Vous devez spécifier chaque niveau à consigner. Les valeurs possibles incluent `INFORMATION`, `WARNING`, `ERROR`, `CRITICAL` et `VERBOSE`. Ce champ est obligatoire pour chaque type d'événement Windows à consigner.
+ **monitor (en option)**

  Valeur booléenne qui indique s'il faut surveiller les journaux. La valeur par défaut est `true`.

### alerte
<a name="component-configuration-alarms"></a>

Définit une CloudWatch alarme à surveiller pour le composant.

**JSON** 

```
{
  "alarmName" : "monitoredAlarmName",
  "severity" : HIGH/MEDIUM/LOW
}
```

**Propriétés**
+ **alarmName (obligatoire)**

  Nom de l' CloudWatch alarme à surveiller pour le composant.
+ **gravité (en option)**

  Indique le degré de panne lorsque l'alerte se déclenche. 

# Exemples de configuration de composants
<a name="component-configuration-examples"></a>

Les exemples suivants illustrent des configurations de composants au format JSON pour les services pertinents.

**Topics**
+ [Table Amazon DynamoDB](component-configuration-examples-dynamo.md)
+ [Amazon EC2 Auto Scaling (ASG)](component-configuration-examples-asg.md)
+ [Cluster Amazon EKS](component-configuration-examples-eks-cluster.md)
+ [Instance Amazon Elastic Compute Cloud (EC2)](component-configuration-examples-ec2.md)
+ [Amazon Elastic Container Service (Amazon ECS)](component-configuration-examples-ecs.md)
+ [Services Amazon ECS](component-configuration-examples-ecs-service.md)
+ [Tâches Amazon ECS](component-configuration-examples-ecs-task.md)
+ [Amazon Elastic File System (Amazon EFS)](component-configuration-examples-efs.md)
+ [Amazon FSx](component-configuration-examples-fsx.md)
+ [Aurora MySQL Amazon Relational Database Service (RDS)](component-configuration-examples-rds-aurora.md)
+ [Instance Amazon Relational Database Service (RDS)](component-configuration-examples-rds.md)
+ [Surveillance de l'état Amazon Route 53](component-configuration-examples-health-check.md)
+ [Zone hébergée Amazon Route 53](component-configuration-examples-hosted-zone.md)
+ [Amazon Route 53 Resolver point de terminaison](component-configuration-examples-resolver-endpoint.md)
+ [Amazon Route 53 Resolver configuration de journalisation des requêtes](component-configuration-examples-resolver-query-logging.md)
+ [Compartiment Amazon S3](component-configuration-examples-s3.md)
+ [Amazon Simple Queue Service (SQS)](component-configuration-examples-sqs.md)
+ [Rubrique Amazon SNS](component-configuration-examples-sns.md)
+ [Amazon Virtual Private Cloud (Amazon VPC)](component-configuration-examples-vpc.md)
+ [Passerelles de traduction d'adresses réseau (NAT) Amazon VPC](component-configuration-examples-nat-gateway.md)
+ [Étapes d'API REST API Gateway d'API](component-configuration-examples-api-gateway.md)
+ [Application Elastic Load Balancing](component-configuration-examples-application-elb.md)
+ [AWS Lambda Fonction](component-configuration-examples-lambda.md)
+ [AWS Network Firewall groupe de règles](component-configuration-examples-firewall-rule-group.md)
+ [AWS Network Firewall association de groupes de règles](component-configuration-examples-firewall-rule-group-assoc.md)
+ [AWS Step Functions](component-configuration-examples-step-functions.md)
+ [Instances Amazon EC2 regroupées par le client](component-configuration-examples-grouped-ec2.md)
+ [Elastic Load Balancing](component-configuration-examples-elb.md)
+ [Java](component-configuration-examples-java.md)
+ [Kubernetes sur Amazon EC2](component-configuration-examples-kubernetes-ec2.md)
+ [RDS MariaDB et RDS MySQL](component-configuration-examples-mysql.md)
+ [RDS Oracle](component-configuration-examples-oracle.md)
+ [RDS PostgreSQL](component-configuration-examples-rds-postgre-sql.md)
+ [SAP ASE sur Amazon EC2](component-configuration-examples-sap-ase.md)
+ [Haute disponibilité SAP ASE sur Amazon EC2](component-configuration-examples-sap-ase-ha.md)
+ [SAP HANA sur Amazon EC2](component-configuration-examples-hana.md)
+ [Haute disponibilité SAP HANA sur Amazon EC2](component-configuration-examples-hana-ha.md)
+ [SAP NetWeaver sur Amazon EC2](component-configuration-examples-netweaver.md)
+ [NetWeaver Haute disponibilité de SAP sur Amazon EC2](component-configuration-examples-netweaver-ha.md)
+ [Groupes de disponibilité SQL Always On](component-configuration-examples-sql.md)
+ [Instance de cluster de basculement SQL](component-configuration-examples-sql-failover-cluster.md)

# Table Amazon DynamoDB
<a name="component-configuration-examples-dynamo"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour une table Amazon DynamoDB.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "SystemErrors",
      "monitor": false
    },
    {
      "alarmMetricName": "UserErrors",
      "monitor": false
    },
    {
      "alarmMetricName": "ConsumedReadCapacityUnits",
      "monitor": false
    },
    {
      "alarmMetricName": "ConsumedWriteCapacityUnits",
      "monitor": false
    },
    {
      "alarmMetricName": "ReadThrottleEvents",
      "monitor": false
    },
    {
      "alarmMetricName": "WriteThrottleEvents",
      "monitor": false
    },
    {
      "alarmMetricName": "ConditionalCheckFailedRequests",
      "monitor": false
    },
    {
      "alarmMetricName": "TransactionConflict",
      "monitor": false
    }
  ],
  "logs": []
}
```

# Amazon EC2 Auto Scaling (ASG)
<a name="component-configuration-examples-asg"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Amazon EC2 Auto Scaling (ASG).

```
{
    "alarmMetrics" : [
      {
        "alarmMetricName" : "CPUCreditBalance"
      }, {
        "alarmMetricName" : "EBSIOBalance%"
      }
    ],
    "subComponents" : [
      {
        "subComponentType" : "AWS::EC2::Instance",
        "alarmMetrics" : [
          {
            "alarmMetricName" : "CPUUtilization"
          }, {
            "alarmMetricName" : "StatusCheckFailed"
          }
        ],
        "logs" : [
          {
            "logGroupName" : "my_log_group",
            "logPath" : "C:\\LogFolder\\*",
            "logType" : "APPLICATION"
          }
        ],
        "processes" : [
          {
            "processName" : "my_process",
            "alarmMetrics" : [
              {
                  "alarmMetricName" : "procstat cpu_usage",
                  "monitor" : true
              }, {
                  "alarmMetricName" : "procstat memory_rss",
                  "monitor" : true
              }
          ]
      }
  ],
        "windowsEvents" : [
          {
            "logGroupName" : "my_log_group_2",
            "eventName" : "Application",
            "eventLevels" : [ "ERROR", "WARNING", "CRITICAL" ]
          }
        ]
      }, {
        "subComponentType" : "AWS::EC2::Volume",
        "alarmMetrics" : [
          {
            "alarmMetricName" : "VolumeQueueLength"
          }, {
            "alarmMetricName" : "BurstBalance"
          }
        ]
      }
    ],
    "alarms" : [
      {
        "alarmName" : "my_asg_alarm",
        "severity" : "LOW"
      }
    ]
  }
```

# Cluster Amazon EKS
<a name="component-configuration-examples-eks-cluster"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour un cluster Amazon EKS.

```
{
    "alarmMetrics":[
       {
          "alarmMetricName": "cluster_failed_node_count",
          "monitor":true
       },
       {
          "alarmMetricName": "node_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "node_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "node_filesystem_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "node_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "node_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "node_network_total_bytes",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_cpu_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_memory_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_network_rx_bytes",
          "monitor":true
       },
       {
          "alarmMetricName": "pod_network_tx_bytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName": "/aws/containerinsights/kubernetes/application",
          "logType":"APPLICATION",
          "monitor":true,
          "encoding":"utf-8"
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"APPLICATION-KubernetesClusterOnEC2-IAD",
                "logPath":"",
                "logType":"APPLICATION",
                "monitor":true,
                "encoding":"utf-8"
             }
          ],
          "processes" : [
            {
                "processName" : "my_process",
                "alarmMetrics" : [
                    {
                        "alarmMetricName" : "procstat cpu_usage",
                        "monitor" : true
                    }, {
                        "alarmMetricName" : "procstat memory_rss",
                        "monitor" : true
                    }
                ]
            }
        ],
          "windowsEvents":[
             {
                "logGroupName":"my_log_group_2",
                "eventName":"Application",
                "eventLevels":[
                   "ERROR",
                   "WARNING",
                   "CRITICAL"
                ],
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::AutoScaling::AutoScalingGroup",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUCreditBalance",
                "monitor":true
             },
             {
                "alarmMetricName":"EBSIOBalance%",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeReadBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeReadOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":true
             }
          ]
       }
    ]
 }
```

**Note**  
La section `subComponents` de `AWS::EC2::Instance`, `AWS::EC2::Volume` et de `AWS::AutoScaling::AutoScalingGroup` s'applique uniquement au cluster Amazon EKS s'exécutant sur le type de lancement EC2.
La section `windowsEvents` de `AWS::EC2::Instance` dans `subComponents` s'applique uniquement à Windows s'exécutant sur des instances Amazon EC2.

# Instance Amazon Elastic Compute Cloud (EC2)
<a name="component-configuration-examples-ec2"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour une instance Amazon EC2.

**Important**  
Lorsqu'une instance Amazon EC2 entre dans l'état `stopped`, elle est retirée de la surveillance. Lorsqu'il revient à un `running` état, il est ajouté à la liste des **composants non surveillés** sur la page des **détails de l'application** de la console CloudWatch Application Insights. Si la surveillance automatique des nouvelles ressources est activée pour l'application, l'instance est ajoutée à la liste des **Monitored components** (Composants surveillés). Toutefois, les journaux et les métriques sont définis sur la valeur par défaut de la charge de travail. La configuration précédente du journal et des métriques n'est pas enregistrée. 

```
{
    "alarmMetrics" : [
      {
        "alarmMetricName" : "CPUUtilization",
        "monitor" : true
      }, {
        "alarmMetricName" : "StatusCheckFailed"
      }
    ],
    "logs" : [
      {
        "logGroupName" : "my_log_group",
        "logPath" : "C:\\LogFolder\\*",
        "logType" : "APPLICATION",
        "monitor" : true
      },
      {
        "logGroupName" : "my_log_group_2",
        "logPath" : "C:\\LogFolder2\\*",
        "logType" : "IIS",
        "encoding" : "utf-8"
      }
    ],
    "processes" : [
        {
            "processName" : "my_process",
            "alarmMetrics" : [
                {
                    "alarmMetricName" : "procstat cpu_usage",
                    "monitor" : true
                }, {
                    "alarmMetricName" : "procstat memory_rss",
                    "monitor" : true
                }
            ]
        }
    ],
    "windowsEvents" : [
      {
        "logGroupName" : "my_log_group_3",
        "eventName" : "Application",
        "eventLevels" : [ "ERROR", "WARNING", "CRITICAL" ],
        "monitor" : true
      }, {
        "logGroupName" : "my_log_group_4",
        "eventName" : "System",
        "eventLevels" : [ "ERROR", "WARNING", "CRITICAL" ],
        "monitor" : true
    }],
     "alarms" : [
      {
        "alarmName" : "my_instance_alarm_1",
        "severity" : "HIGH"
      },
      {
        "alarmName" : "my_instance_alarm_2",
        "severity" : "LOW"
      }
    ],
     "subComponents" : [
     {
       "subComponentType" : "AWS::EC2::Volume",
       "alarmMetrics" : [
       {
         "alarmMetricName" : "VolumeQueueLength",
         "monitor" : "true"
       },
       {
         "alarmMetricName" : "VolumeThroughputPercentage",
         "monitor" : "true"
       },
       {
         "alarmMetricName" : "BurstBalance",
         "monitor" : "true"
       }]
    }]
  }
```

# Amazon Elastic Container Service (Amazon ECS)
<a name="component-configuration-examples-ecs"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Amazon Elastic Container Service (Amazon ECS).

```
{
    "alarmMetrics":[
       {
          "alarmMetricName":"CpuUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"MemoryUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkRxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkTxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"RunningTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"PendingTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageReadBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageWriteBytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName":"/ecs/my-task-definition",
          "logType":"APPLICATION",
          "monitor":true
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::ElasticLoadBalancing::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Backend_4XX",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Backend_5XX",
                "monitor":true
             },
             {
                "alarmMetricName":"Latency",
                "monitor":true
             },
             {
                "alarmMetricName":"SurgeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::ElasticLoadBalancingV2::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Target_4XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Target_5XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"TargetResponseTime",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"my_log_group",
                "logPath":"/mylog/path",
                "logType":"APPLICATION",
                "monitor":true
             }
          ],
          "processes" : [
             {
                "processName" : "my_process",
                "alarmMetrics" : [
                    {
                        "alarmMetricName" : "procstat cpu_usage",
                        "monitor" : true
                    }, {
                        "alarmMetricName" : "procstat memory_rss",
                        "monitor" : true
                    }
                 ]
             }
          ],
          "windowsEvents":[
             {
                "logGroupName":"my_log_group_2",
                "eventName":"Application",
                "eventLevels":[
                   "ERROR",
                   "WARNING",
                   "CRITICAL"
                ],
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":"true"
             },
             {
                "alarmMetricName":"VolumeThroughputPercentage",
                "monitor":"true"
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":"true"
             }
          ]
       }
    ]
 }
```

**Note**  
La section `subComponents` de `AWS::EC2::Instance` et de `AWS::EC2::Volume` s'applique uniquement aux clusters Amazon ECS avec un service ECS ou une tâche ECS s'exécutant sur le type de lancement EC2.
La section `windowsEvents` de `AWS::EC2::Instance` dans `subComponents` s'applique uniquement à Windows s'exécutant sur des instances Amazon EC2.

# Services Amazon ECS
<a name="component-configuration-examples-ecs-service"></a>

Les exemples suivants illustrent la configuration d'un composant au format JSON pour un service Amazon ECS service.

```
{
    "alarmMetrics":[
       {
          "alarmMetricName":"CPUUtilization",
          "monitor":true
       },
       {
          "alarmMetricName":"MemoryUtilization",
          "monitor":true
       },
       {
          "alarmMetricName":"CpuUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"MemoryUtilized",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkRxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"NetworkTxBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"RunningTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"PendingTaskCount",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageReadBytes",
          "monitor":true
       },
       {
          "alarmMetricName":"StorageWriteBytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName":"/ecs/my-task-definition",
          "logType":"APPLICATION",
          "monitor":true
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::ElasticLoadBalancing::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Backend_4XX",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Backend_5XX",
                "monitor":true
             },
             {
                "alarmMetricName":"Latency",
                "monitor":true
             },
             {
                "alarmMetricName":"SurgeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::ElasticLoadBalancingV2::LoadBalancer",
          "alarmMetrics":[
             {
                "alarmMetricName":"HTTPCode_Target_4XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"HTTPCode_Target_5XX_Count",
                "monitor":true
             },
             {
                "alarmMetricName":"TargetResponseTime",
                "monitor":true
             },
             {
                "alarmMetricName":"UnHealthyHostCount",
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"my_log_group",
                "logPath":"/mylog/path",
                "logType":"APPLICATION",
                "monitor":true
             }
          ],
          "processes" : [
             {
                "processName" : "my_process",
                "alarmMetrics" : [
                {
                    "alarmMetricName" : "procstat cpu_usage",
                    "monitor" : true
                }, {
                    "alarmMetricName" : "procstat memory_rss",
                    "monitor" : true
                }
            ]
        }
    ],
          "windowsEvents":[
             {
                "logGroupName":"my_log_group_2",
                "eventName":"Application",
                "eventLevels":[
                   "ERROR",
                   "WARNING",
                   "CRITICAL"
                ],
                "monitor":true
             }
          ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":"true"
             },
             {
                "alarmMetricName":"VolumeThroughputPercentage",
                "monitor":"true"
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":"true"
             }
          ]
       }
    ]
 }
```

**Note**  
La section `subComponents` de `AWS::EC2::Instance` et de `AWS::EC2::Volume` s'applique uniquement aux clusters Amazon ECS s'exécutant sur le type de lancement EC2.
La section `windowsEvents` de `AWS::EC2::Instance` dans `subComponents` s'applique uniquement à Windows s'exécutant sur des instances Amazon EC2.

# Tâches Amazon ECS
<a name="component-configuration-examples-ecs-task"></a>

Les exemples suivants illustrent une configuration de composant au format JSON pour une tâche Amazon ECS.

```
{
    "logs":[
       {
          "logGroupName":"/ecs/my-task-definition",
          "logType":"APPLICATION",
          "monitor":true
       }
    ],
    "processes" : [
        {
            "processName" : "my_process",
            "alarmMetrics" : [
                {
                    "alarmMetricName" : "procstat cpu_usage",
                    "monitor" : true
                }, {
                    "alarmMetricName" : "procstat memory_rss",
                    "monitor" : true
                }
            ]
        }
    ]
 }
```

# Amazon Elastic File System (Amazon EFS)
<a name="component-configuration-examples-efs"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Amazon EFS.

```
{
   "alarmMetrics": [
     {
       "alarmMetricName": "BurstCreditBalance",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentIOLimit",
       "monitor": true
     },
     {
       "alarmMetricName": "PermittedThroughput",
       "monitor": true
     },
     {
       "alarmMetricName": "MeteredIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "TotalIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "DataWriteIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "DataReadIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "MetadataIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "ClientConnections",
       "monitor": true
     },
     {
       "alarmMetricName": "TimeSinceLastSync",
       "monitor": true
     },
     {
       "alarmMetricName": "Throughput",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentageOfPermittedThroughputUtilization",
       "monitor": true
     },
     {
       "alarmMetricName": "ThroughputIOPS",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentThroughputDataReadIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentThroughputDataWriteIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentageOfIOPSDataReadIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "PercentageOfIOPSDataWriteIOBytes",
       "monitor": true
     },
     {
       "alarmMetricName": "AverageDataReadIOBytesSize",
       "monitor": true
     },
     {
       "alarmMetricName": "AverageDataWriteIOBytesSize",
       "monitor": true
     }
   ],
   "logs": [
    {
    "logGroupName": "/aws/efs/utils",
    "logType": "EFS_MOUNT_STATUS",
    "monitor": true,
    }
   ]
 }
```

# Amazon FSx
<a name="component-configuration-examples-fsx"></a>

L'exemple suivant montre une configuration de composant au format JSON pour Amazon FSx.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "DataReadBytes",
      "monitor": true
    },
    {
      "alarmMetricName": "DataWriteBytes",
      "monitor": true
    },
    {
      "alarmMetricName": "DataReadOperations",
      "monitor": true
    },
    {
      "alarmMetricName": "DataWriteOperations",
      "monitor": true
    },
    {
      "alarmMetricName": "MetadataOperations",
      "monitor": true
    },
    {
      "alarmMetricName": "FreeStorageCapacity",
      "monitor": true
    }
  ]
}
```

# Aurora MySQL Amazon Relational Database Service (RDS)
<a name="component-configuration-examples-rds-aurora"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Amazon RDS Aurora MySQL.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    },
    {
      "alarmMetricName": "CommitLatency",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "MYSQL",
      "monitor": true,
    },
    {
      "logType": "MYSQL_SLOW_QUERY",
      "monitor": false
    }
  ]
}
```

# Instance Amazon Relational Database Service (RDS)
<a name="component-configuration-examples-rds"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour une instance Amazon RDS.

```
{
  "alarmMetrics" : [
    {
      "alarmMetricName" : "BurstBalance",
      "monitor" : true
    }, {
      "alarmMetricName" : "WriteThroughput",
      "monitor" : false
    }
  ],

  "alarms" : [
    {
      "alarmName" : "my_rds_instance_alarm",
      "severity" : "MEDIUM"
    }
  ]
}
```

# Surveillance de l'état Amazon Route 53
<a name="component-configuration-examples-health-check"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour une surveillance de l'état Amazon Route 53.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ChildHealthCheckHealthyCount",
      "monitor": true
    },
    {
      "alarmMetricName": "ConnectionTime",
      "monitor": true
    },
    {
      "alarmMetricName": "HealthCheckPercentageHealthy",
      "monitor": true
    },
    {
      "alarmMetricName": "HealthCheckStatus",
      "monitor": true
    },
    {
      "alarmMetricName": "SSLHandshakeTime",
      "monitor": true
    },
    {
      "alarmMetricName": "TimeToFirstByte",
      "monitor": true
    }
  ]  
}
```

# Zone hébergée Amazon Route 53
<a name="component-configuration-examples-hosted-zone"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour une zone hébergée Amazon Route 53.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "DNSQueries",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECInternalFailure",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECKeySigningKeysNeedingAction",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECKeySigningKeyMaxNeedingActionAge",
      "monitor": true
    },
    {
      "alarmMetricName": "DNSSECKeySigningKeyAge",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logGroupName":"/hosted-zone/logs",
      "logType": "ROUTE53_DNS_PUBLIC_QUERY_LOGS",
      "monitor": true
    }
  ]
}
```

# Amazon Route 53 Resolver point de terminaison
<a name="component-configuration-examples-resolver-endpoint"></a>

L'exemple suivant montre une configuration de composant au format JSON pour le Amazon Route 53 Resolver point de terminaison.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "EndpointHealthyENICount",
      "monitor": true
    },
    {
      "alarmMetricName": "EndpointUnHealthyENICount",
      "monitor": true
    },
    {
      "alarmMetricName": "InboundQueryVolume",
      "monitor": true
    },
    {
      "alarmMetricName": "OutboundQueryVolume",
      "monitor": true
    },
    {
      "alarmMetricName": "OutboundQueryAggregateVolume",
      "monitor": true
    }
  ]  
}
```

# Amazon Route 53 Resolver configuration de journalisation des requêtes
<a name="component-configuration-examples-resolver-query-logging"></a>

L'exemple suivant illustre la configuration d'un composant au format JSON pour la configuration de journalisation de requêtes Amazon Route 53 Resolver .

```
{
  "logs": [
    {
      "logGroupName": "/resolver-query-log-config/logs",
      "logType": "ROUTE53_RESOLVER_QUERY_LOGS",
      "monitor": true
    }
  ]  
}
```

# Compartiment Amazon S3
<a name="component-configuration-examples-s3"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour le compartiment Amazon S3.

```
{
    "alarmMetrics" : [
        {
            "alarmMetricName" : "ReplicationLatency",
            "monitor" : true
        }, {
            "alarmMetricName" : "5xxErrors",
            "monitor" : true
        }, {
            "alarmMetricName" : "BytesDownloaded"
            "monitor" : true
        }
    ]
}
```

# Amazon Simple Queue Service (SQS)
<a name="component-configuration-examples-sqs"></a>

L'exemple suivant illustre une configuration de composants au format JSON pour Amazon Simple Queue Service.

```
{
  "alarmMetrics" : [
    {
      "alarmMetricName" : "ApproximateAgeOfOldestMessage"
    }, {
      "alarmMetricName" : "NumberOfEmptyReceives"
    }
  ],
  "alarms" : [
    {
      "alarmName" : "my_sqs_alarm",
      "severity" : "MEDIUM"
    }
  ]
}
```

# Rubrique Amazon SNS
<a name="component-configuration-examples-sns"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour la rubrique Amazon SNS.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "NumberOfNotificationsFailed",
      "monitor": true
    },
    {
      "alarmMetricName": "NumberOfNotificationsFilteredOut-InvalidAttributes",
      "monitor": true
    },
    {
      "alarmMetricName": "NumberOfNotificationsFilteredOut-NoMessageAttributes",
      "monitor": true
    },
    {
      "alarmMetricName": "NumberOfNotificationsFailedToRedriveToDlq",
      "monitor": true
    }
  ]
}
```

# Amazon Virtual Private Cloud (Amazon VPC)
<a name="component-configuration-examples-vpc"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Amazon VPC.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "NetworkAddressUsage",
      "monitor": true
    },
    {
      "alarmMetricName": "NetworkAddressUsagePeered",
      "monitor": true
    },
    {
      "alarmMetricName": "VPCFirewallQueryVolume",
      "monitor": true
    }
  ]
}
```

# Passerelles de traduction d'adresses réseau (NAT) Amazon VPC
<a name="component-configuration-examples-nat-gateway"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour les passerelles NAT.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ErrorPortAllocation",
      "monitor": true
    },
    {
      "alarmMetricName": "IdleTimeoutCount",
      "monitor": true
    }
  ]
}
```

# Étapes d'API REST API Gateway d'API
<a name="component-configuration-examples-api-gateway"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour les étapes de l'API REST Gateway d'API.

```
{ 
     "alarmMetrics" : [ 
         {
             "alarmMetricName" : "4XXError",   
             "monitor" : true
         }, 
         {
             "alarmMetricName" : "5XXError",   
             "monitor" : true
         } 
     ],
    "logs" : [
        { 
            "logType" : "API_GATEWAY_EXECUTION",   
            "monitor" : true  
        },
        { 
            "logType" : "API_GATEWAY_ACCESS",   
            "monitor" : true  
        }
    ]
}
```

# Application Elastic Load Balancing
<a name="component-configuration-examples-application-elb"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Application Elastic Load Balancing.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ActiveConnectionCount",
    }, {
      "alarmMetricName": "TargetResponseTime"
    }
  ],  
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "CPUUtilization",
        }, {
          "alarmMetricName": "StatusCheckFailed"
        }
      ],
      "logs": [
        {
          "logGroupName": "my_log_group",
          "logPath": "C:\\LogFolder\\*",
          "logType": "APPLICATION",
        }
      ],
      "windowsEvents": [
        {
          "logGroupName": "my_log_group_2",
          "eventName": "Application",
          "eventLevels": [ "ERROR", "WARNING", "CRITICAL" ]
        }
      ]
    }, {
      "subComponentType": "AWS::EC2::Volume",
      "alarmMetrics": [
        {
          "alarmMetricName": "VolumeQueueLength",
        }, {
          "alarmMetricName": "BurstBalance"
        }
      ]
    }
  ],

  "alarms": [
    {
      "alarmName": "my_alb_alarm",
      "severity": "LOW"
    }
  ]
}
```

# AWS Lambda Fonction
<a name="component-configuration-examples-lambda"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour AWS Lambda .

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "Errors",
      "monitor": true
    },
    {
      "alarmMetricName": "Throttles",
      "monitor": true
    },
    {
      "alarmMetricName": "IteratorAge",
      "monitor": true
    },
    {
      "alarmMetricName": "Duration",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "DEFAULT",
      "monitor": true
    }
  ]
}
```

# AWS Network Firewall groupe de règles
<a name="component-configuration-examples-firewall-rule-group"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour un groupe de règles AWS Network Firewall .

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "FirewallRuleGroupQueryVolume",
      "monitor": true
    }
  ]
}
```

# AWS Network Firewall association de groupes de règles
<a name="component-configuration-examples-firewall-rule-group-assoc"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour une association de groupes de règles AWS Network Firewall .

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "FirewallRuleGroupQueryVolume",
      "monitor": true
    }
  ]
}
```

# AWS Step Functions
<a name="component-configuration-examples-step-functions"></a>

L'exemple suivant illustre la configuration d'un composant au format JSON pour AWS Step Functions.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "ExecutionsFailed",
      "monitor": true
    },
    {
      "alarmMetricName": "LambdaFunctionsFailed",
      "monitor": true
    },
    {
      "alarmMetricName": "ProvisionedRefillRate",
      "monitor": true
    }
  ],
  "logs": [
    {
     "logGroupName": "/aws/states/HelloWorld-Logs",
      "logType": "STEP_FUNCTION",
      "monitor": true,
    }
  ]
}
```

# Instances Amazon EC2 regroupées par le client
<a name="component-configuration-examples-grouped-ec2"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour les instances Amazon EC2 regroupées par le client.

```
{
    "subComponents": [
      {
        "subComponentType": "AWS::EC2::Instance",
        "alarmMetrics": [
          {
            "alarmMetricName": "CPUUtilization",
          }, 
          {
            "alarmMetricName": "StatusCheckFailed"
          }
        ],
        "logs": [
          {
            "logGroupName": "my_log_group",
            "logPath": "C:\\LogFolder\\*",
            "logType": "APPLICATION",
          }
        ],
        "processes": [
            {
                "processName": "my_process",
                "alarmMetrics": [
                    {
                        "alarmMetricName": "procstat cpu_usage",
                        "monitor": true
                    }, {
                        "alarmMetricName": "procstat memory_rss",
                        "monitor": true
                    }
                ]
            }
        ],
        "windowsEvents": [
          {
            "logGroupName": "my_log_group_2",
            "eventName": "Application",
            "eventLevels": [ "ERROR", "WARNING", "CRITICAL" ]
          }
        ]
      }, {
        "subComponentType": "AWS::EC2::Volume",
        "alarmMetrics": [
          {
            "alarmMetricName": "VolumeQueueLength",
          }, {
            "alarmMetricName": "BurstBalance"
          }
        ]
      }
    ],
    "alarms": [
      {
        "alarmName": "my_alarm",
        "severity": "MEDIUM"
      }
    ]
  }
```

# Elastic Load Balancing
<a name="component-configuration-examples-elb"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Elastic Load Balancing.

```
{
    "alarmMetrics": [
      {
        "alarmMetricName": "EstimatedALBActiveConnectionCount"
      }, {
        "alarmMetricName": "HTTPCode_Backend_5XX"
      }
    ],
    "subComponents": [
      {
        "subComponentType": "AWS::EC2::Instance",
        "alarmMetrics": [
          {
            "alarmMetricName": "CPUUtilization"
          }, {
            "alarmMetricName": "StatusCheckFailed"
          }
        ],
        "logs": [
          {
            "logGroupName": "my_log_group",
            "logPath": "C:\\LogFolder\\*",
            "logType": "APPLICATION"
          }
        ],
        "processes": [
          {
            "processName": "my_process",
            "alarmMetrics": [
                {
                  "alarmMetricName": "procstat cpu_usage",
                  "monitor": true
                }, {
                  "alarmMetricName": "procstat memory_rss",
                  "monitor": true
                }
              ]
          }
        ],
        "windowsEvents": [
          {
            "logGroupName": "my_log_group_2",
            "eventName": "Application",
            "eventLevels": [ "ERROR", "WARNING", "CRITICAL" ],
            "monitor": true
          }
        ]
      }, {
        "subComponentType": "AWS::EC2::Volume",
        "alarmMetrics": [
          {
            "alarmMetricName": "VolumeQueueLength"
          }, {
            "alarmMetricName": "BurstBalance"
          }
        ]
      }
    ],
  
    "alarms": [
      {
        "alarmName": "my_elb_alarm",
        "severity": "HIGH"
      }
    ]
  }
```

# Java
<a name="component-configuration-examples-java"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Java.

```
{
  "alarmMetrics": [ {
    "alarmMetricName": "java_lang_threading_threadcount",
    "monitor": true
  },
  {
    "alarmMetricName": "java_lang_memory_heapmemoryusage_used",
    "monitor": true
  },
  {
    "alarmMetricName": "java_lang_memory_heapmemoryusage_committed",
    "monitor": true
  }],
  "logs": [ ],
  "JMXPrometheusExporter": {
      "hostPort": "8686",
      "prometheusPort": "9404"
  }
}
```

**Note**  
Application Insights ne prend pas en charge la configuration de l'authentification pour Prometheus JMX Exporter. Pour savoir comment configurer l'authentification, consultez l'[exemple de configuration de Prometheus JMX Exporter](https://github.com/prometheus/jmx_exporter#configuration).

# Kubernetes sur Amazon EC2
<a name="component-configuration-examples-kubernetes-ec2"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour Kubernetes sur Amazon EC2.

```
{
    "alarmMetrics":[
       {
          "alarmMetricName":"cluster_failed_node_count",
          "monitor":true
       },
       {
          "alarmMetricName":"node_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"node_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"node_filesystem_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"node_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"node_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"node_network_total_bytes",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_cpu_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_cpu_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_cpu_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_memory_reserved_capacity",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_memory_utilization",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_memory_utilization_over_pod_limit",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_network_rx_bytes",
          "monitor":true
       },
       {
          "alarmMetricName":"pod_network_tx_bytes",
          "monitor":true
       }
    ],
    "logs":[
       {
          "logGroupName":"/aws/containerinsights/kubernetes/application",
          "logType":"APPLICATION",
          "monitor":true,
          "encoding":"utf-8"
       }
    ],
    "subComponents":[
       {
          "subComponentType":"AWS::EC2::Instance",
          "alarmMetrics":[
             {
                "alarmMetricName":"CPUUtilization",
                "monitor":true
             },
             {
                "alarmMetricName":"StatusCheckFailed",
                "monitor":true
             },
             {
                "alarmMetricName":"disk_used_percent",
                "monitor":true
             },
             {
                "alarmMetricName":"mem_used_percent",
                "monitor":true
             }
          ],
          "logs":[
             {
                "logGroupName":"APPLICATION-KubernetesClusterOnEC2-IAD",
                "logPath":"",
                "logType":"APPLICATION",
                "monitor":true,
                "encoding":"utf-8"
             }
          ],
          "processes" : [
            {
                "processName" : "my_process",
                "alarmMetrics" : [
                    {
                        "alarmMetricName" : "procstat cpu_usage",
                        "monitor" : true
                    }, {
                        "alarmMetricName" : "procstat memory_rss",
                        "monitor" : true
                    }
                ]
            }
        ]
       },
       {
          "subComponentType":"AWS::EC2::Volume",
          "alarmMetrics":[
             {
                "alarmMetricName":"VolumeReadBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteBytes",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeReadOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeWriteOps",
                "monitor":true
             },
             {
                "alarmMetricName":"VolumeQueueLength",
                "monitor":true
             },
             {
                "alarmMetricName":"BurstBalance",
                "monitor":true
             }
          ]
       }
    ]
 }
```

# RDS MariaDB et RDS MySQL
<a name="component-configuration-examples-mysql"></a>

L'exemple suivant illustre une configuration de composants au format JSON pour RDS MySQL.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "MYSQL",
      "monitor": true,
    },
    {
      "logType": "MYSQL_SLOW_QUERY",
      "monitor": false
    }
  ]
}
```

# RDS Oracle
<a name="component-configuration-examples-oracle"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour RDS Oracle.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "ORACLE_ALERT",
      "monitor": true,
    },
    {
      "logType": "ORACLE_LISTENER",
      "monitor": false
    }
  ]
}
```

# RDS PostgreSQL
<a name="component-configuration-examples-rds-postgre-sql"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour RDS PostgreSQL.

```
{
  "alarmMetrics": [
    {
      "alarmMetricName": "CPUUtilization",
      "monitor": true
    }
  ],
  "logs": [
    {
      "logType": "POSTGRESQL",
      "monitor": true
    }
  ]
}
```

# SAP ASE sur Amazon EC2
<a name="component-configuration-examples-sap-ase"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour SAP ASE sur Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "asedb_database_availability",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_trunc_log_on_chkpt_enabled",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_db_backup_age_in_days",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_transaction_log_backup_age_in_hours",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_suspected_database",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_db_space_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_db_log_space_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_locked_login",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_data_cache_hit_ratio",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_ASE_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2.log",
          "logType": "SAP_ASE_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_BACKUP_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2_BS.log",
          "logType": "SAP_ASE_BACKUP_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
  ],
  "sapAsePrometheusExporter": {
    "sapAseSid": "ASE",
    "sapAsePort": "4901",
    "sapAseSecretName": "ASE_DB_CREDS",
    "prometheusPort": "9399",
    "agreeToEnableASEMonitoring": true
}
```

# Haute disponibilité SAP ASE sur Amazon EC2
<a name="component-configuration-examples-sap-ase-ha"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour la haute disponibilité SAP ASE sur Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "asedb_database_availability",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_trunc_log_on_chkpt_enabled",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_db_backup_age_in_days",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_last_transaction_log_backup_age_in_hours",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_suspected_database",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_db_space_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_ha_replication_state",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_ha_replication_mode",
          "monitor": true
        },
        {
          "alarmMetricName": "asedb_ha_replication_latency_in_minutes",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_ASE_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2.log",
          "logType": "SAP_ASE_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_BACKUP_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/ASE-*/install/SY2_BS.log",
          "logType": "SAP_ASE_BACKUP_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_REP_SERVER_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/DM/repservername/repservername.log",
          "logType": "SAP_ASE_REP_SERVER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_RMA_AGENT_LOGS-my-resource-group",
          "logPath": "/sybase/SY2/DM/RMA-*/instances/AgentContainer/logs/",
          "logType": "SAP_ASE_RMA_AGENT_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_ASE_FAULT_MANAGER_LOGS-my-resource-group",
          "logPath": "/opt/sap/FaultManager/dev_sybdbfm",
          "logType": "SAP_ASE_FAULT_MANAGER_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
  ],
  "sapAsePrometheusExporter": {
    "sapAseSid": "ASE",
    "sapAsePort": "4901",
    "sapAseSecretName": "ASE_DB_CREDS",
    "prometheusPort": "9399",
    "agreeToEnableASEMonitoring": true
}
```

# SAP HANA sur Amazon EC2
<a name="component-configuration-examples-hana"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour SAP HANA sur Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "hanadb_server_startup_time_variations_seconds",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_5_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_4_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_out_of_memory_events_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_max_trigger_read_ratio_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_table_allocation_limit_used_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_cpu_usage_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_plan_cache_hit_ratio_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_last_data_backup_age_days",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_HANA_TRACE-my-resourge-group",
          "logPath": "/usr/sap/HDB/HDB00/*/trace/*.trc",
          "logType": "SAP_HANA_TRACE",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_HANA_LOGS-my-resource-group",
          "logPath": "/usr/sap/HDB/HDB00/*/trace/*.log",
          "logType": "SAP_HANA_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "hanaPrometheusExporter": {
    "hanaSid": "HDB",
    "hanaPort": "30013",
    "hanaSecretName": "HANA_DB_CREDS",
    "prometheusPort": "9668"
  }
}
```

# Haute disponibilité SAP HANA sur Amazon EC2
<a name="component-configuration-examples-hana-ha"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour SAP HANA High Availability on Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "hanadb_server_startup_time_variations_seconds",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_5_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_level_4_alerts_count",
          "monitor": true
        },
        {
          "alarmMetricName": "hanadb_out_of_memory_events_count",
          "monitor": true
        },
        {
          "alarmMetricName": "ha_cluster_pacemaker_stonith_enabled",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_HANA_TRACE-my-resourge-group",
          "logPath": "/usr/sap/HDB/HDB00/*/trace/*.trc",
          "logType": "SAP_HANA_TRACE",
          "monitor": true,
          "encoding": "utf-8"
        },
        {
          "logGroupName": "SAP_HANA_HIGH_AVAILABILITY-my-resource-group",
          "logPath": "/var/log/pacemaker/pacemaker.log",
          "logType": "SAP_HANA_HIGH_AVAILABILITY",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "hanaPrometheusExporter": {
    "hanaSid": "HDB",
    "hanaPort": "30013",
    "hanaSecretName": "HANA_DB_CREDS",
    "prometheusPort": "9668"
  },
  "haClusterPrometheusExporter": {
    "prometheusPort": "9664"
  }
}
```

# SAP NetWeaver sur Amazon EC2
<a name="component-configuration-examples-netweaver"></a>

L'exemple suivant montre une configuration de composant au format JSON pour SAP NetWeaver sur Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "CPUUtilization",
          "monitor": true
        },
        {
          "alarmMetricName": "StatusCheckFailed",
          "monitor": true
        },
        {
          "alarmMetricName": "disk_used_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "mem_used_percent",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialog",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialogRFC",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_DBRequestTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_LongRunners",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_AbortedJobs",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_BasisSystem",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Database",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Security",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_System",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_QueueTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Availability",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_start_service_processes",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_dispatcher_queue_now",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_dispatcher_queue_max",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_locks_max",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_locks_now",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_locks_state",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_replication_state",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_NETWEAVER_DEV_TRACE_LOGS-NetWeaver-ML4",
          "logPath": "/usr/sap/ML4/*/work/dev_w*",
          "logType": "SAP_NETWEAVER_DEV_TRACE_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "netWeaverPrometheusExporter": {
    "sapSid": "ML4",
    "instanceNumbers": [
      "00",
      "11"
    ],
    "prometheusPort": "9680"
  }
}
```

# NetWeaver Haute disponibilité de SAP sur Amazon EC2
<a name="component-configuration-examples-netweaver-ha"></a>

L'exemple suivant montre une configuration de composant au format JSON pour SAP NetWeaver High Availability sur Amazon EC2.

```
{
  "subComponents": [
    {
      "subComponentType": "AWS::EC2::Instance",
      "alarmMetrics": [
        {
          "alarmMetricName": "ha_cluster_corosync_ring_errors",
          "monitor": true
        },
        {
          "alarmMetricName": "ha_cluster_pacemaker_fail_count",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_HA_check_failover_config_state",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_HA_get_failover_config_HAActive",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_AbortedJobs",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Availability",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_BasisSystem",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_DBRequestTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Database",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_FrontendResponseTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_LongRunners",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_QueueTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTime",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialog",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_ResponseTimeDialogRFC",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Security",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_Shortdumps",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_SqlError",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_alerts_System",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_enqueue_server_replication_state",
          "monitor": true
        },
        {
          "alarmMetricName": "sap_start_service_processes",
          "monitor": true
        }
      ],
      "logs": [
        {
          "logGroupName": "SAP_NETWEAVER_DEV_TRACE_LOGS-NetWeaver-PR1",
          "logPath": "/usr/sap/<SID>/D*/work/dev_w*",
          "logType": "SAP_NETWEAVER_DEV_TRACE_LOGS",
          "monitor": true,
          "encoding": "utf-8"
        }
      ]
    }
  ],
  "haClusterPrometheusExporter": {
    "prometheusPort": "9664"
  },
  "netWeaverPrometheusExporter": {
    "sapSid": "PR1",
    "instanceNumbers": [
      "11",
      "12"
    ],
    "prometheusPort": "9680"
  }
}
```

# Groupes de disponibilité SQL Always On
<a name="component-configuration-examples-sql"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour SQL Always On Availability Group.

```
{
  "subComponents" : [ {
    "subComponentType" : "AWS::EC2::Instance",
    "alarmMetrics" : [ {
      "alarmMetricName" : "CPUUtilization",
      "monitor" : true
    }, {
      "alarmMetricName" : "StatusCheckFailed",
      "monitor" : true
    }, {
      "alarmMetricName" : "Processor % Processor Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory % Committed Bytes In Use",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory Available Mbytes",
      "monitor" : true
    }, {
      "alarmMetricName" : "Paging File % Usage",
      "monitor" : true
    }, {
      "alarmMetricName" : "System Processor Queue Length",
      "monitor" : true
    }, {
      "alarmMetricName" : "Network Interface Bytes Total/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "PhysicalDisk % Disk Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Buffer Manager Buffer cache hit ratio",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Buffer Manager Page life expectancy",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:General Statistics Processes blocked",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:General Statistics User Connections",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Locks Number of Deadlocks/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:SQL Statistics Batch Requests/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica File Bytes Received/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Log Bytes Received/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Log remaining for undo",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Log Send Queue",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Mirrored Write Transaction/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Recovery Queue",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Redo Bytes Remaining",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Redone Bytes/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Total Log requiring undo",
      "monitor" : true
    }, {
      "alarmMetricName" : "SQLServer:Database Replica Transaction Delay",
      "monitor" : true
    } ],
    "windowsEvents" : [ {
      "logGroupName" : "WINDOWS_EVENTS-Application-<RESOURCE_GROUP_NAME>",
      "eventName" : "Application",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL", "INFORMATION" ],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-System-<RESOURCE_GROUP_NAME>",
      "eventName" : "System",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-Security-<RESOURCE_GROUP_NAME>",
      "eventName" : "Security",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
      "monitor" : true
    } ],
    "logs" : [ {
      "logGroupName" : "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP-<RESOURCE_GROUP_NAME>",
      "logPath" : "C:\\Program Files\\Microsoft SQL Server\\MSSQL**.MSSQLSERVER\\MSSQL\\Log\\ERRORLOG",
      "logType" : "SQL_SERVER",
      "monitor" : true,
      "encoding" : "utf-8"
    } ]
  }, {
    "subComponentType" : "AWS::EC2::Volume",
    "alarmMetrics" : [ {
      "alarmMetricName" : "VolumeReadBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeReadOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeQueueLength",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeThroughputPercentage",
      "monitor" : true
    }, {
    "alarmMetricName" : "BurstBalance",
      "monitor" : true
    } ]
  } ]
}
```

# Instance de cluster de basculement SQL
<a name="component-configuration-examples-sql-failover-cluster"></a>

L'exemple suivant illustre une configuration de composant au format JSON pour une instance de cluster de basculement SQL.

```
{
  "subComponents" : [ {
    "subComponentType" : "AWS::EC2::Instance",
    "alarmMetrics" : [ {
      "alarmMetricName" : "CPUUtilization",
      "monitor" : true
    }, {
      "alarmMetricName" : "StatusCheckFailed",
      "monitor" : true
    }, {
      "alarmMetricName" : "Processor % Processor Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory % Committed Bytes In Use",
      "monitor" : true
    }, {
      "alarmMetricName" : "Memory Available Mbytes",
      "monitor" : true
    }, {
      "alarmMetricName" : "Paging File % Usage",
      "monitor" : true
    }, {
      "alarmMetricName" : "System Processor Queue Length",
      "monitor" : true
    }, {
      "alarmMetricName" : "Network Interface Bytes Total/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "PhysicalDisk % Disk Time",
      "monitor" : true
    }, {
      "alarmMetricName" : "Bytes Received/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Normal Messages Queue Length/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Urgent Message Queue Length/se",
      "monitor" : true
    }, {
      "alarmMetricName" : "Reconnect Count",
      "monitor" : true
    }, {
      "alarmMetricName" : "Unacknowledged Message Queue Length/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Messages Outstanding",
      "monitor" : true
    }, {
      "alarmMetricName" : "Messages Sent/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Database Update Messages/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Update Messages/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Flushes/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Crypto Checkpoints Saved/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Crypto Checkpoints Restored/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Registry Checkpoints Restored/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Registry Checkpoints Saved/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Cluster API Calls/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Resource API Calls/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Cluster Handles/sec",
      "monitor" : true
    }, {
      "alarmMetricName" : "Resource Handles/sec",
      "monitor" : true
    } ],
    "windowsEvents" : [ {
      "logGroupName" : "WINDOWS_EVENTS-Application-<RESOURCE_GROUP_NAME>",
      "eventName" : "Application",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL"],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-System-<RESOURCE_GROUP_NAME>",
      "eventName" : "System",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL", "INFORMATION" ],
      "monitor" : true
    }, {
      "logGroupName" : "WINDOWS_EVENTS-Security-<RESOURCE_GROUP_NAME>",
      "eventName" : "Security",
      "eventLevels" : [ "WARNING", "ERROR", "CRITICAL" ],
      "monitor" : true
    } ],
    "logs" : [ {
      "logGroupName" : "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE-<RESOURCE_GROUP_NAME>",
      "logPath" : "\\\\amznfsxjmzbykwn.mydomain.aws\\SQLDB\\MSSQL**.MSSQLSERVER\\MSSQL\\Log\\ERRORLOG",
      "logType" : "SQL_SERVER",
      "monitor" : true,
      "encoding" : "utf-8"
    } ]
  }, {
    "subComponentType" : "AWS::EC2::Volume",
    "alarmMetrics" : [ {
      "alarmMetricName" : "VolumeReadBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteBytes",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeReadOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeWriteOps",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeQueueLength",
      "monitor" : true
    }, {
    "alarmMetricName" : "VolumeThroughputPercentage",
      "monitor" : true
    }, {
    "alarmMetricName" : "BurstBalance",
      "monitor" : true
    } ]
  } ]
}
```

# Création et configuration de la surveillance CloudWatch d'Application Insights à l'aide CloudFormation de modèles
<a name="appinsights-cloudformation"></a>

Vous pouvez ajouter la surveillance Application Insights, y compris les indicateurs clés et la télémétrie, à votre application, à votre base de données et à votre serveur Web, directement à partir de AWS CloudFormation modèles.

Cette section fournit des exemples de CloudFormation modèles aux formats JSON et YAML pour vous aider à créer et à configurer la surveillance d'Application Insights.

Pour consulter la référence aux ressources et aux propriétés d'Application Insights dans le *guide de CloudFormation l'utilisateur*, consultez la [référence aux types de ApplicationInsights ressources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApplicationInsights.html). 

**Topics**
+ [Création d'une application Application Insights pour l'ensemble du CloudFormation stack](#appinsights-cloudformation-apply-to-stack)
+ [Création d'une application Application Insights avec des paramètres détaillés](#appinsights-cloudformation-apply-detailed)
+ [Créez une application Application Insights avec un mode de configuration de composants `CUSTOM`](#appinsights-cloudformation-custom)
+ [Créez une application Application Insights avec un mode de configuration de composants `DEFAULT`](#appinsights-cloudformation-default)
+ [Créez une application Application Insights avec un mode de configuration de composants `DEFAULT_WITH_OVERWRITE`](#appinsights-cloudformation-default-with-overwrite)

## Création d'une application Application Insights pour l'ensemble du CloudFormation stack
<a name="appinsights-cloudformation-apply-to-stack"></a>

Pour appliquer le modèle suivant, vous devez créer des AWS ressources et un ou plusieurs groupes de ressources à partir desquels créer des applications Application Insights afin de surveiller ces ressources. Pour plus d'informations, consultez [Premiers pas avec les Groueps de ressources AWS](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted.html).

Les deux premières parties du modèle suivant spécifient une ressource et un Resource Group. La dernière partie du modèle crée une application Application Insights pour le Resource Group, mais ne configure pas l'application ni n'applique aucune surveillance. Pour plus d'informations, consultez les détails de la [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)commande dans le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Test Resource Group stack",
    "Resources": {
        "EC2Instance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId" : "ami-abcd1234efgh5678i",
                "SecurityGroupIds" : ["sg-abcd1234"]
            }
        },
        ...
        "ResourceGroup": {
            "Type": "AWS::ResourceGroups::Group",
            "Properties": {
                "Name": "my_resource_group"
            }
        },
        "AppInsightsApp": {
            "Type": "AWS::ApplicationInsights::Application",
            "Properties": {
                "ResourceGroupName": "my_resource_group"
            },
            "DependsOn" : "ResourceGroup"
        }
    }
}
```

**Modèle au format YAML**

```
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Test Resource Group stack
Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-abcd1234efgh5678i
      SecurityGroupIds:
      - sg-abcd1234
  ...
  ResourceGroup:
    Type: AWS::ResourceGroups::Group
    Properties:
      Name: my_resource_group
  AppInsightsApp:
    Type: AWS::ApplicationInsights::Application
    Properties:
      ResourceGroupName: my_resource_group
    DependsOn: ResourceGroup
```

La section de modèle suivante applique la configuration de surveillance par défaut à l'application Application Insights. Pour plus d'informations, consultez les détails de la [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)commande dans le manuel *Amazon CloudWatch Application Insights API Reference*.

Lorsque `AutoConfigurationEnabled` est défini sur `true`, tous les composants de l'application sont configurés avec les paramètres de surveillance recommandés pour le niveau application `DEFAULT`. Pour plus d'informations sur ces paramètres et niveaux, consultez [DescribeComponentConfigurationRecommendation](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfigurationRecommendation.html)et [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)dans le manuel *Amazon CloudWatch Application Insights API Reference*. 

**Modèle au format JSON**

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Test Application Insights Application stack",
    "Resources": {
        "AppInsightsApp": {
            "Type": "AWS::ApplicationInsights::Application",
            "Properties": {
                "ResourceGroupName": "my_resource_group",
                "AutoConfigurationEnabled": true
            }
        }
    }
}
```

**Modèle au format YAML**

```
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Test Application Insights Application stack
Resources:
  AppInsightsApp:
    Type: AWS::ApplicationInsights::Application
    Properties:
      ResourceGroupName: my_resource_group
      AutoConfigurationEnabled: true
```

## Création d'une application Application Insights avec des paramètres détaillés
<a name="appinsights-cloudformation-apply-detailed"></a>

Le modèle suivant exécute ces actions :
+ Crée une application Application Insights avec notification d' CloudWatch événements et OpsCenter activée. Pour plus d'informations, consultez les détails de la [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)commande dans le manuel *Amazon CloudWatch Application Insights API Reference*. 
+ Étiquette l'application avec deux étiquettes, dont l'une n'a aucune valeur d'étiquette Pour plus d'informations, consultez [TagResource](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_TagResource.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Crée deux composants de groupe d'instance personnalisés. Pour plus d'informations, consultez [CreateComponent](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateComponent.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Crée deux jeux de motifs de journal. Pour plus d'informations, consultez [CreateLogPattern](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateLogPattern.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Définit `AutoConfigurationEnabled` sur `true`, qui configure tous les composants de l'application avec les paramètres de surveillance recommandés pour le niveau `DEFAULT`. Pour plus d'informations, consultez [DescribeComponentConfigurationRecommendation](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfigurationRecommendation.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group",
        "CWEMonitorEnabled": true,
        "OpsCenterEnabled": true,
        "OpsItemSNSTopicArn": "arn:aws:sns:us-east-1:123456789012:my_topic",
        "AutoConfigurationEnabled": true,
        "Tags": [
            {
                "Key": "key1",
                "Value": "value1"
            },
            {
                "Key": "key2",
                "Value": ""
            }
        ],
        "CustomComponents": [
            {
                "ComponentName": "test_component_1",
                "ResourceList": [
                    "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i"
                ]
            },
            {
                "ComponentName": "test_component_2",
                "ResourceList": [
                    "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i",
                    "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i"
                ]
            }
        ],
        "LogPatternSets": [
            {
                "PatternSetName": "pattern_set_1",
                "LogPatterns": [
                    {
                        "PatternName": "deadlock_pattern",
                        "Pattern": ".*\\sDeadlocked\\sSchedulers(([^\\w].*)|($))",
                        "Rank": 1
                    }
                ]    
            },
            {
                "PatternSetName": "pattern_set_2",
                "LogPatterns": [
                    {
                        "PatternName": "error_pattern",
                        "Pattern": ".*[\\s\\[]ERROR[\\s\\]].*",
                        "Rank": 1
                    },
                    {
                        "PatternName": "warning_pattern",
                        "Pattern": ".*[\\s\\[]WARN(ING)?[\\s\\]].*",
                        "Rank": 10
                    }
                ]
            }
        ]
    }
}
```

**Modèle au format YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  CWEMonitorEnabled: true
  OpsCenterEnabled: true
  OpsItemSNSTopicArn: arn:aws:sns:us-east-1:123456789012:my_topic
  AutoConfigurationEnabled: true
  Tags:
  - Key: key1
    Value: value1
  - Key: key2
    Value: ''
  CustomComponents:
  - ComponentName: test_component_1
    ResourceList:
    - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i
  - ComponentName: test_component_2
    ResourceList:
    - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i
    - arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1234efgh5678i
  LogPatternSets:
  - PatternSetName: pattern_set_1
    LogPatterns:
    - PatternName: deadlock_pattern
      Pattern: ".*\\sDeadlocked\\sSchedulers(([^\\w].*)|($))"
      Rank: 1
  - PatternSetName: pattern_set_2
    LogPatterns:
    - PatternName: error_pattern
      Pattern: ".*[\\s\\[]ERROR[\\s\\]].*"
      Rank: 1
    - PatternName: warning_pattern
      Pattern: ".*[\\s\\[]WARN(ING)?[\\s\\]].*"
      Rank: 10
```

## Créez une application Application Insights avec un mode de configuration de composants `CUSTOM`
<a name="appinsights-cloudformation-custom"></a>

Le modèle suivant exécute ces actions :
+ Crée une application Application Insights. Pour plus d'informations, consultez [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Le composant `my_component` définit `ComponentConfigurationMode` sur `CUSTOM`, ce qui entraîne ce composant d'être configuré avec le configuration spécifiée dans `CustomComponentConfiguration`. Pour plus d'informations, consultez [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group,
        "ComponentMonitoringSettings": [
            {
                "ComponentARN": "my_component",
                "Tier": "SQL_SERVER",
                "ComponentConfigurationMode": "CUSTOM",
                "CustomComponentConfiguration": {
                    "ConfigurationDetails": {
                        "AlarmMetrics": [
                            {
                                "AlarmMetricName": "StatusCheckFailed"
                            },
                            ...
                        ],
                        "Logs": [
                            {       
                                "LogGroupName": "my_log_group_1",
                                "LogPath": "C:\\LogFolder_1\\*",
                                "LogType": "DOT_NET_CORE",
                                "Encoding": "utf-8",
                                "PatternSet": "my_pattern_set_1"
                            },      
                            ...     
                        ],      
                        "WindowsEvents": [
                            {       
                                "LogGroupName": "my_windows_event_log_group_1",
                                "EventName": "Application",
                                "EventLevels": [
                                    "ERROR",
                                    "WARNING",
                                    ...     
                                ],       
                                "Encoding": "utf-8",
                                "PatternSet": "my_pattern_set_2"
                            },      
                            ...     
                        ],
                        "Alarms": [
                            {
                                "AlarmName": "my_alarm_name",
                                "Severity": "HIGH"
                            },
                            ...
                        ]
                    },
                    "SubComponentTypeConfigurations": [
                        {
                            "SubComponentType": "EC2_INSTANCE",
                            "SubComponentConfigurationDetails": {
                                "AlarmMetrics": [
                                    {
                                        "AlarmMetricName": "DiskReadOps"
                                    },
                                    ...
                                ],
                                "Logs": [
                                    {
                                        "LogGroupName": "my_log_group_2",
                                        "LogPath": "C:\\LogFolder_2\\*",
                                        "LogType": "IIS",
                                        "Encoding": "utf-8",
                                        "PatternSet": "my_pattern_set_3"
                                    },
                                    ...
                                ],
                                "processes" : [
                                    {
                                        "processName" : "my_process",
                                        "alarmMetrics" : [
                                    {
                                        "alarmMetricName" : "procstat cpu_usage",
                                        "monitor" : true
                                    }, {
                                        "alarmMetricName" : "procstat memory_rss",
                                        "monitor" : true
                                    }
                                ]
                            }
                        ],
                                "WindowsEvents": [
                                    {
                                        "LogGroupName": "my_windows_event_log_group_2",
                                        "EventName": "Application",
                                        "EventLevels": [
                                            "ERROR",
                                            "WARNING",
                                            ...
                                        ],
                                        "Encoding": "utf-8",
                                        "PatternSet": "my_pattern_set_4"
                                    },
                                    ...
                                ]
                            }
                        }   
                    ]
                }
            }
        ]
    }
}
```

**Modèle au format YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  ComponentMonitoringSettings:
  - ComponentARN: my_component
    Tier: SQL_SERVER
    ComponentConfigurationMode: CUSTOM
    CustomComponentConfiguration:
      ConfigurationDetails:
        AlarmMetrics:
        - AlarmMetricName: StatusCheckFailed
        ...
        Logs:
        - LogGroupName: my_log_group_1
          LogPath: C:\LogFolder_1\*
          LogType: DOT_NET_CORE
          Encoding: utf-8
          PatternSet: my_pattern_set_1
        ...
        WindowsEvents:
        - LogGroupName: my_windows_event_log_group_1
          EventName: Application
          EventLevels:
          - ERROR
          - WARNING
          ...
          Encoding: utf-8
          PatternSet: my_pattern_set_2
        ...
        Alarms:
        - AlarmName: my_alarm_name
          Severity: HIGH
        ...
      SubComponentTypeConfigurations:
      - SubComponentType: EC2_INSTANCE
        SubComponentConfigurationDetails:
          AlarmMetrics:
          - AlarmMetricName: DiskReadOps
          ...
          Logs:
          - LogGroupName: my_log_group_2
            LogPath: C:\LogFolder_2\*
            LogType: IIS
            Encoding: utf-8
            PatternSet: my_pattern_set_3
          ...
          Processes:
          - ProcessName: my_process
            AlarmMetrics:
            - AlarmMetricName: procstat cpu_usage
              ...
            ...
          WindowsEvents:
          - LogGroupName: my_windows_event_log_group_2
            EventName: Application
            EventLevels:
            - ERROR
            - WARNING
            ...
            Encoding: utf-8
            PatternSet: my_pattern_set_4
          ...
```

## Créez une application Application Insights avec un mode de configuration de composants `DEFAULT`
<a name="appinsights-cloudformation-default"></a>

Le modèle suivant exécute ces actions :
+ Crée une application Application Insights. Pour plus d'informations, consultez [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Le composant `my_component` définit `ComponentConfigurationMode` sur `DEFAULT` et `Tier` sur `SQL_SERVER`, ce qui entraîne la configuration de ce composant avec les paramètres de configuration recommandés par Application Insights pour le niveau `SQL_Server`. Pour plus d'informations, consultez [DescribeComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_DescribeComponentConfiguration.html)et consultez [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group",
        "ComponentMonitoringSettings": [
            {
                "ComponentARN": "my_component",
                "Tier": "SQL_SERVER",
                "ComponentConfigurationMode": "DEFAULT"
            }
        ]
    }
}
```

**Modèle au format YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  ComponentMonitoringSettings:
  - ComponentARN: my_component
    Tier: SQL_SERVER
    ComponentConfigurationMode: DEFAULT
```

## Créez une application Application Insights avec un mode de configuration de composants `DEFAULT_WITH_OVERWRITE`
<a name="appinsights-cloudformation-default-with-overwrite"></a>

Le modèle suivant exécute ces actions :
+ Crée une application Application Insights. Pour plus d'informations, consultez [CreateApplication](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_CreateApplication.html)le manuel *Amazon CloudWatch Application Insights API Reference*.
+ Le composant `my_component` définit `ComponentConfigurationMode` sur `DEFAULT_WITH_OVERWRITE` et `tier` sur `DOT_NET_CORE`, ce qui entraîne la configuration de ce composant avec les paramètres de configuration recommandés par Application Insights pour le niveau `DOT_NET_CORE`. Les paramètres de configuration écrasés sont spécifiés dans `DefaultOverwriteComponentConfiguration` : 
  + Au niveau du composant, les paramètres `AlarmMetrics` sont remplacés.
  + Au niveau des sous-composants, pour les sous-composants de type `EC2_Instance`, les paramètres `Logs` sont remplacés.

  Pour plus d'informations, consultez [UpdateComponentConfiguration](https://docs.aws.amazon.com/cloudwatch/latest/APIReference/API_UpdateComponentConfiguration.html)le manuel *Amazon CloudWatch Application Insights API Reference*.

**Modèle au format JSON**

```
{
    "Type": "AWS::ApplicationInsights::Application",
    "Properties": {
        "ResourceGroupName": "my_resource_group",
        "ComponentMonitoringSettings": [
            {
                "ComponentName": "my_component",
                "Tier": "DOT_NET_CORE",
                "ComponentConfigurationMode": "DEFAULT_WITH_OVERWRITE",
                "DefaultOverwriteComponentConfiguration": {
                    "ConfigurationDetails": {
                        "AlarmMetrics": [
                            {
                                "AlarmMetricName": "StatusCheckFailed"
                            }
                        ]
                    },
                    "SubComponentTypeConfigurations": [
                        {
                            "SubComponentType": "EC2_INSTANCE",
                            "SubComponentConfigurationDetails": {
                                "Logs": [
                                    {
                                        "LogGroupName": "my_log_group",
                                        "LogPath": "C:\\LogFolder\\*",
                                        "LogType": "IIS",
                                        "Encoding": "utf-8",
                                        "PatternSet": "my_pattern_set"
                                    }
                                ]
                            }
                        }   
                    ] 
                } 
            }
        ]
    }
}
```

**Modèle au format YAML**

```
---
Type: AWS::ApplicationInsights::Application
Properties:
  ResourceGroupName: my_resource_group
  ComponentMonitoringSettings:
  - ComponentName: my_component
    Tier: DOT_NET_CORE
    ComponentConfigurationMode: DEFAULT_WITH_OVERWRITE
    DefaultOverwriteComponentConfiguration:
      ConfigurationDetails:
        AlarmMetrics:
        - AlarmMetricName: StatusCheckFailed
      SubComponentTypeConfigurations:
      - SubComponentType: EC2_INSTANCE
        SubComponentConfigurationDetails:
          Logs:
          - LogGroupName: my_log_group
            LogPath: C:\LogFolder\*
            LogType: IIS
            Encoding: utf-8
            PatternSet: my_pattern_set
```

# Didacticiel : Configurer la surveillance pour SAP ASE
<a name="appinsights-tutorial-sap-ase"></a>

Ce didacticiel explique comment configurer CloudWatch Application Insights pour configurer la surveillance de vos bases de données SAP ASE. Vous pouvez utiliser les tableaux de bord automatiques d' CloudWatch Application Insights pour visualiser les détails des problèmes, accélérer le dépannage et faciliter le délai moyen de résolution (MTTR) de vos bases de données SAP ASE.

**Topics**
+ [Environnements compatibles](#appinsights-tutorial-sap-ase-supported-environments)
+ [Systèmes d’exploitation pris en charge](#appinsights-tutorial-sap-ase-supported-os)
+ [Caractéristiques](#appinsights-tutorial-sap-ase-features)
+ [Conditions préalables](#appinsights-tutorial-sap-ase-prerequisites)
+ [Configurer la surveillance](#appinsights-tutorial-sap-ase-set-up)
+ [Gérer la surveillance](#appinsights-tutorial-sap-ase-manage)
+ [Configurer le seuil d'alerte](#appinsights-tutorial-sap-hana-configure-alarm-threshold)
+ [Affichage et résolution des problèmes SAP ASE détectés par Application Insights](#appinsights-tutorial-sap-ase-troubleshooting-problems)
+ [Résolution des problèmes liés à l'application](#appinsights-tutorial-sap-ase-troubleshooting-health-dashboard)

## Environnements compatibles
<a name="appinsights-tutorial-sap-ase-supported-environments"></a>

CloudWatch Application Insights prend en charge le déploiement de AWS ressources pour les systèmes et modèles suivants. Vous fournissez et installez le logiciel de base de données SAP ASE ainsi que le logiciel d'application SAP.
+ **Une ou plusieurs bases de données SAP ASE sur une seule instance Amazon EC2** : SAP ASE dans une architecture à nœud unique en expansion.
+ **Configuration de la haute disponibilité de la base de données SAP ASE cross-AZ** — SAP ASE avec haute disponibilité configuré sur deux zones de disponibilité à l'aide du SUSE/RHEL clustering.

**Note**  
CloudWatch Application Insights ne prend en charge qu'un seul environnement SAP System ID (SID) ASE HA. Si plusieurs ASE HA SIDs sont connectés, la surveillance sera configurée uniquement pour le premier SID détecté.

## Systèmes d’exploitation pris en charge
<a name="appinsights-tutorial-sap-ase-supported-os"></a>

CloudWatch Application Insights for SAP ASE prend en charge l'architecture x86-64 sur les systèmes d'exploitation suivants :
+ SuSE Linux 12 SP4
+ SuSE Linux 12 SP5
+ SuSE Linux 15
+ SuSE Linux 15 SP1
+ SuSE Linux 15 SP2
+ SuSE Linux 15 SP3
+ SuSE Linux 15 SP4
+ SuSE Linux 15 SP1 pour SAP
+ SuSE Linux 15 SP2 pour SAP
+ SuSE Linux 15 SP3 pour SAP
+ SuSE Linux 15 SP4 pour SAP
+ SuSE Linux 12 SP4 pour SAP
+ SuSE Linux 12 SP5 pour SAP
+ RedHat Linux 7.6
+ RedHat Linux 7.7
+ RedHat Linux 7.9
+ RedHat Linux 8.1
+ RedHat Linux 8.4
+ RedHat Linux 8.6

## Caractéristiques
<a name="appinsights-tutorial-sap-ase-features"></a>

CloudWatch Application Insights for SAP ASE fournit les fonctionnalités suivantes :
+ Détection automatique de la charge de travail SAP ASE 
+ Création automatique d'alarme SAP ASE basée sur un seuil statique
+ Création automatique d'alarme SAP ASE basée sur la détection d'anomalies 
+ Reconnaissance automatique des modèles de journaux SAP ASE 
+ Tableau de bord d'état pour SAP ASE
+ Tableau de bord des problèmes pour SAP ASE

## Conditions préalables
<a name="appinsights-tutorial-sap-ase-prerequisites"></a>

Vous devez remplir les conditions préalables suivantes pour configurer une base de données SAP ASE avec CloudWatch Application Insights :
+ **Paramètres de configuration SAP ASE** : les paramètres de configuration suivants doivent être activés sur votre base de données ASE – `"enable monitoring"`, `"sql text pipe max messages"`, `"sql text pipe active"`. Cela permet à CloudWatch Application Insights de fournir des fonctionnalités de surveillance complètes pour votre base de données. Si ces paramètres ne sont pas activés sur votre base de données ASE, Application Insights leur permettra automatiquement de collecter les métriques nécessaires pour permettre la surveillance.
+ **Utilisateur de base de données SAP ASE** : l'utilisateur de base de données indiqué lors de l'intégration d'Application Insights doit être autorisé à accéder aux éléments suivants :
  + Tables système de la base de données principale et des bases de données utilisateur (locataires)
  + Surveillance des tables
+ **SAPHostCtrl** — Installez et configurez SAP HostCtrl sur votre instance Amazon EC2.
+ ** CloudWatch Agent Amazon** — Assurez-vous que vous n'exécutez pas d' CloudWatch agent préexistant sur votre instance Amazon EC2. Si CloudWatch l'agent est installé, veillez à supprimer la configuration des ressources que vous utilisez dans CloudWatch Application Insights du fichier de configuration de l' CloudWatch agent existant afin d'éviter un conflit de fusion. Pour de plus amples informations, veuillez consulter [Création ou modification manuelle du fichier de configuration de CloudWatch l'agent](CloudWatch-Agent-Configuration-File-Details.md).
+ **AWS Activation de Systems Manager** : installez l'agent SSM sur vos instances et activez les instances activées pour SSM. Pour plus d'informations sur SSM Agent, consultez [Utilisation de SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) dans le *Guide de l'utilisateur Systems Manager AWS *.
+ **Rôles d'instance Amazon EC2** : vous devez attacher les rôles d'instance Amazon EC2 suivants pour configurer votre base de données.
  + Vous devez joindre le rôle `AmazonSSMManagedInstanceCore` pour activer Systems Manager. Pour plus d'informations, consultez [AWS Systems Manager Exemples de politiques basées sur l'identité](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Vous devez joindre le `CloudWatchAgentServerPolicy` pour permettre l'émission de métriques et de journaux d'instance CloudWatch. Pour plus d'informations, consultez [Créer des rôles et des utilisateurs IAM à utiliser avec l' CloudWatch agent Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html).
  + Vous devez attacher la politique intégrée IAM suivante au rôle d'instance Amazon EC2 pour lire le mot de passe stocké dans AWS Secrets Manager. Pour plus d'informations sur les politiques en ligne, consultez [Politiques en ligne ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) dans le *Gestion des identités et des accès AWS Guide de l'utilisateur IAM*.

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "secretsmanager:GetSecretValue"
                ],
                "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
            }
        ]
    }
    ```

------
+ **Groupes de ressources AWS**— Vous devez créer un groupe de ressources qui inclut toutes les AWS ressources associées utilisées par votre pile d'applications pour intégrer vos applications à CloudWatch Application Insights. Cela comprend les instances Amazon EC2 et les volumes Amazon EBS exécutant votre base de données SAP ASE. S'il existe plusieurs bases de données par compte, nous vous recommandons de créer un groupe de ressources qui inclut les AWS ressources de chaque système de base de données SAP ASE. 
+ **Autorisations IAM** : pour les utilisateurs non-administrateurs ;
  +  Vous devez créer une politique Gestion des identités et des accès AWS (IAM) qui permet à Application Insights de créer un rôle lié à un service et de l'associer à votre identité d'utilisateur. Pour savoir comment attacher la politique, consultez [Politique IAM pour CloudWatch Application Insights](appinsights-iam.md).
  + L'utilisateur doit être autorisé à créer un secret pour stocker les informations d'identification AWS Secrets Manager de l'utilisateur de la base de données. Pour de plus amples informations, consultez [Example: Permission to create secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_create) (Exemple : Autorisation de créer des secrets).

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

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret"
          ],
          "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
        }
      ]
    }
    ```

------
+ **Rôle lié à un service** — Application Insights utilise des rôles liés à un service Gestion des identités et des accès AWS (IAM). Un rôle lié à un service est créé pour vous lorsque vous créez votre première application Application Insights dans la console Application Insights. Pour de plus amples informations, veuillez consulter [Utilisation de rôles liés à un service pour Application Insights CloudWatch](CHAP_using-service-linked-roles-appinsights.md).

## Configuration de la surveillance de votre base de données SAP ASE
<a name="appinsights-tutorial-sap-ase-set-up"></a>

Réalisez les étapes suivantes pour configurer la surveillance de votre base de données SAP ASE.

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

1. Dans le volet de navigation de gauche, sélectionnez **Application Insights** sous **Insights**.

1. La page **Application Insights** affiche la liste des applications qui sont surveillées à l'aide d'Application Insights et l'état de surveillance de chaque application. Dans le coin supérieur droit, sélectionnez **Add an application (Ajouter une application)**.

1. Sur la page **Spécifier les détails de l'application**, dans la liste déroulante sous **Groupe de ressources**, sélectionnez le groupe de ressources AWS qui contient vos ressources de base de données SAP ASE. Si vous n'avez pas encore créé de Resource Group pour votre application, vous pouvez le faire en sélectionnant **Create new resource group (Créer un Resource Group)** sous le menu déroulant **Resource Group**. Pour plus d'informations sur les Resource Groups, consultez le Guide d'utilisateur [https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html)

1. Sous **Surveiller les CloudWatch événements**, cochez la case pour intégrer la surveillance des informations d'application aux CloudWatch événements afin d'obtenir des informations provenant d'Amazon EBS, d'Amazon EC2 AWS CodeDeploy, d'Amazon ECS et des AWS Health APIs notifications, d'Amazon RDS, d'Amazon S3 et. AWS Step Functions

1. Sous **Intégrer à AWS Systems Manager OpsCenter**, cochez la case à côté de **Générer AWS Systems Manager OpsCenter OpsItems pour les actions correctives** afin de consulter et de recevoir des notifications lorsque des problèmes sont détectés dans les applications sélectionnées. Pour suivre les opérations effectuées pour résoudre les éléments de travail opérationnels, appelés OpsItems, liés à vos AWS ressources, fournissez un ARN de rubrique SNS. 

1. Vous pouvez éventuellement saisir des balises pour vous aider à identifier et à organiser vos ressources. CloudWatch Application Insights prend en charge les groupes de ressources CloudFormation basés sur des balises et des piles, à l'exception des groupes. Application Auto Scaling Pour plus d'informations, consultez [Utilisation de Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) dans le *Guide de l'utilisateur Groupes de ressources AWS *. 

1. Sélectionnez **Next (Suivant)** pour continuer à mettre en place la surveillance.

1. Sur la page **Réviser les composants détectés**, les composants surveillés et leurs charges de travail détectées automatiquement par CloudWatch Application Insights sont répertoriés.
**Note**  
Les composants contenant une charge de travail à haute disponibilité SAP ASE détectée ne prennent en charge qu'une seule charge de travail par composant. Les composants contenant une charge de travail à nœud unique SAP ASE détectée prennent en charge plusieurs charges de travail, mais vous ne pouvez ni ajouter ni supprimer de charges de travail. Toutes les charges de travail détectées automatiquement seront surveillées.

1. Choisissez **Suivant**.

1. Sur la page **Spécifier les détails du composant**, saisissez le nom d'utilisateur et le mot de passe de vos bases de données SAP ASE.

1. Passez en revue la configuration de surveillance de votre application et sélectionnez **Submit (Envoyer)**.

1. La page de détails de l'application s'ouvre. Vous pouvez consulter le **Récapitulatif de l'application**, la liste des **Composants surveillés et charges de travail surveillés** et les **Composants et charges de travail non surveillés**. Si vous sélectionnez le bouton radio à côté d'un composant ou d'une charge de travail, vous pouvez également afficher l'**Historique de configuration**, les **Modèles de journaux** et toutes les **Balises** que vous avez créées. Lorsque vous envoyez votre configuration, votre compte déploie toutes les métriques et alarmes de votre système SAP ASE, ce qui peut prendre jusqu'à 2 heures. 

## Gestion de la surveillance de votre base de données SAP ASE
<a name="appinsights-tutorial-sap-ase-manage"></a>

Vous pouvez gérer les informations d'identification des utilisateurs, les métriques et les chemins d'accès aux journaux de votre base de données SAP ASE en réalisant les étapes suivantes :

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

1. Dans le volet de navigation de gauche, sélectionnez **Application Insights** sous **Insights**.

1. La page **Application Insights** affiche la liste des applications qui sont surveillées à l'aide d'Application Insights et l'état de surveillance de chaque application. 

1. Sous **Monitored components (Composants surveillés)**, sélectionnez la case d'option à côté du nom du composant. Ensuite, sélectionnez **Manage monitoring (Gérer la surveillance)**.

1. Sous **EC2 instance group logs (Journaux des groupes d'instances EC2)**, vous pouvez mettre à jour le chemin d'accès du journal, le jeu de modèles de journaux et le nom du groupe de journaux existants. En outre, vous pouvez ajouter jusqu'à trois autres **Journaux d'application**.

1. Sous **Métriques**, vous pouvez choisir les métriques SAP ASE en fonction de vos besoins. Les noms des métriques SAP ASE sont préfixés par `asedb`. Vous pouvez ajouter jusqu'à 60 métriques par composant.

1. Sous **Configuration ASE**, saisissez le mot de passe et le nom d'utilisateur de la base de données SAP ASE. Il s'agit du nom d'utilisateur et du mot de passe utilisés par CloudWatch l'agent Amazon pour se connecter à la base de données SAP ASE.

1. Sous **Alarmes personnalisées**, vous pouvez ajouter des alarmes supplémentaires à surveiller par CloudWatch Application Insights.

1. Vérifiez la configuration de surveillance de votre application et sélectionnez **Submit (Envoyer)**. Lorsque vous envoyez votre configuration, votre compte met à jour toutes les métriques et les alertes de votre système SAP HANA, ce qui peut prendre jusqu'à 2 heures.

## Configurer le seuil d'alerte
<a name="appinsights-tutorial-sap-hana-configure-alarm-threshold"></a>

CloudWatch Application Insights crée automatiquement une CloudWatch métrique Amazon pour l'alarme à surveiller, ainsi que le seuil correspondant à cette métrique. L'alerte passe à l'état `ALARM ` lorsque la métrique dépasse le seuil pendant un certain nombre de périodes d'évaluation. Notez que ces paramètres ne sont pas conservés par Application Insights.

Pour modifier une alerte pour une métrique unique, réalisez les étapes suivantes :

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

1. Dans le panneau de navigation, sélectionnez **Alarms** (alertes), **All alarms** (Toutes les alertes).

1. Sélectionnez le bouton radio situé à côté de l'alarme créée automatiquement par CloudWatch Application Insights. Puis sélectionnez **Actions**, puis sélectionnez **Edit (Modifier)** dans le menu déroulant.

1. Modifiez les paramètres suivants sous **Metric (Métrique)**.

   1. Sous **Statistic** (Statistiques), sélectionnez l'une des statistiques ou l'un des centiles prédéfinis, ou spécifiez un centile personnalisé. Par exemple, `p95.45`.

   1. Sous **Période**, sélectionnez la période d'évaluation de l'alerte. Lors de l'évaluation de l'alerte, chaque période est regroupée en un point de données.

1. Modifiez les paramètres suivants sous **Conditions**.

   1. Choisissez si la métrique doit être supérieure, inférieure ou égale au seuil. 

   1. Spécifiez la valeur de seuil.

1. Sous **Additional configuration (Configuration supplémentaire)**, modifiez les paramètres suivants :

   1. Sous **Datapoints to alarm (Points de données pour alerte)**, spécifiez le nombre de points de données ou de périodes d'évaluation qui doivent se trouver dans l'état `ALARM` pour déclencher l'alerte. Lorsque les deux valeurs correspondent, une alerte est créée et passe à l'état `ALARM` si le nombre désigné de périodes consécutives est dépassé. Pour créer une alerte `m` sur `n`, spécifiez pour le premier point de données une valeur inférieure à celle du second. Pour plus d'informations sur l'évaluation des alertes, consultez [Évaluation d'une alerte](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html#alarm-evaluation).

   1. Pour **Missing data treatment (traitement des données manquantes)**, choisissez comment l'alerte doit se comporter lorsqu'il manque certains points de données. Pour plus d'informations sur le traitement des données manquantes, voir [Configuration de la manière dont les CloudWatch alarmes traitent les données manquantes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html#alarms-and-missing-data).

   1. Si l'alerte utilise un centile comme statistique surveillée, une zone **Percentiles with low samples (Centiles avec exemples de bas niveau)** s'affiche. Choisissez d'évaluer ou d'ignorer les cas à faible taux d'échantillons. Si vous sélectionnez **ignore (ignorer : conserver l'état d'alerte)**, l'état actuel de l'alerte est toujours conservé lorsque la taille de l'échantillon est trop réduite. Pour plus d'informations sur les centiles avec de faibles échantillons, consultez la section [alertes basées sur les centiles et échantillons de données faibles](percentiles-with-low-samples.md).

1. Sélectionnez **Next (Suivant)**.

1. Sous **Notification**, sélectionnez la rubrique SNS qui doit recevoir une notification lorsque l'alerte passe à l'état `ALARM`, `OK` ou `INSUFFICIENT_DATA`.

1. Sélectionnez **Update alarm (Mettre à jour une alerte)**.

## Affichage et résolution des problèmes SAP ASE détectés par Application Insights
<a name="appinsights-tutorial-sap-ase-troubleshooting-problems"></a>

Cette section vous aide à résoudre les problèmes de dépannage courants qui surviennent lorsque vous configurez la surveillance de SAP ASE sur Application Insights.

**Erreurs du serveur de sauvegarde SAP ASE**  
Vous pouvez identifier le message d'erreur en consultant le tableau de bord créé dynamiquement. Le tableau de bord affiche le message d'erreur signalé dans le serveur de sauvegarde SAP ASE. Pour plus de détails sur les journaux du serveur de sauvegarde SAP ASE, veuillez consulter [Journalisation des erreurs du serveur de sauvegarde dans la documentation SAP](https://help.sap.com/docs/SAP_ASE/aa939a27edb34f019f71cc47b9c0fd9a/a7aeb8b1bc2b10149ccf99b95687a64c.html) (langue française non garantie).

**Transactions de longue durée SAP ASE**  
Identifiez la transaction de longue durée en cours et confirmez si elle peut être arrêtée ou si la durée est intentionnelle. Pour plus de détails, veuillez consulter [2180410 — Comment afficher les enregistrements du journal des transactions pour les transactions de longue durée ? (langue française non garantie). — SAP ASE](https://userapps.support.sap.com/sap/support/knowledge/en/2180410).

**Connexions utilisateur SAP ASE**  
Vérifiez si votre base de données SAP ASE est dimensionnée en fonction de la charge de travail que vous souhaitez exécuter sur la base de données. Pour plus de détails, veuillez consulter [Configuration des connexions d'utilisateurs](https://help.sap.com/docs/help/061ec8a5739842df9e505d8944fae8e2/9ea258fceaaa496eb80e17d3d5694ff6.html) dans la documentation SAP (langue française non garantie).

**Espace disque SAP ASE**  
Vous pouvez identifier la couche de base de données à l'origine du problème en consultant le tableau de bord créé dynamiquement. Le tableau de bord présente les métriques et les extraits de fichiers journaux correspondants. Il est important de comprendre la cause de la montée en charge du disque et, le cas échéant, d'augmenter la taille du disque physique, l'espace disque alloué, ou les deux. Pour plus de détails, veuillez consulter la section relative au[redimensionnement de disque](https://help.sap.com/docs/SAP_ASE/e0d4539d39c34f52ae9ef822c2060077/ab22db00bc2b1014ad3ce047bbf117d7.html) dans la documentation SAP (langue française non garantie).

## Dépannage des applications Insights pour SAP ASE
<a name="appinsights-tutorial-sap-ase-troubleshooting-health-dashboard"></a>

Cette section fournit des étapes pour vous aider à résoudre les erreurs courantes renvoyées par le tableau de bord Application Insights. 


| Erreur | Erreur renvoyée | Cause profonde | Résolution | 
| --- | --- | --- | --- | 
|  Impossible d'ajouter plus de 60 métriques de surveillance.  |  `Component cannot have more than 60 monitored metric`  |  La limite actuelle du nombre de métriques est de 60 métriques surveillées par composant.  |  Supprimez les métriques inutiles pour respecter la limite.  | 
|  Aucune métrique ou alarme SAP n'apparaît après le processus d'intégration.  |  La commande `run` sur le `AWS-ConfigureAWSPackage` a échoué dans AWS Systems Manager. Le résultat montre l'erreur suivante : `CT-LIBRARY error:``ct_connect(): protocol specific layer: external error: The attempt to connect to the server failed`  |  Le nom d'utilisateur et le mot de passe sont peut-être incorrects.  |  Vérifiez que le nom d'utilisateur et le mot de passe sont valides, puis relancez le processus d'intégration.  | 

# Didacticiel : configurer la surveillance pour SAP HANA
<a name="appinsights-tutorial-sap-hana"></a>

Ce didacticiel explique comment configurer CloudWatch Application Insights pour configurer la surveillance de vos bases de données SAP HANA. Vous pouvez utiliser les tableaux de bord automatiques d' CloudWatch Application Insights pour visualiser les détails des problèmes, accélérer le dépannage et faciliter le délai moyen de résolution (MTTR) de vos bases de données SAP HANA.

**Topics**
+ [Environnements compatibles](#appinsights-tutorial-sap-hana-supported-environments)
+ [Systèmes d’exploitation pris en charge](#appinsights-tutorial-sap-hana-supported-os)
+ [Caractéristiques](#appinsights-tutorial-sap-hana-features)
+ [Conditions préalables](#appinsights-tutorial-sap-hana-prerequisites)
+ [Configurer la surveillance](#appinsights-tutorial-sap-hana-set-up)
+ [Gérer la surveillance](#appinsights-tutorial-sap-hana-manage)
+ [Dépannage des problèmes détectés](#appinsights-tutorial-sap-hana-troubleshooting)
+ [Détection des anomalies](#appinsights-tutorial-sap-hana-troubleshooting-anomaly-detection)
+ [Résolution des problèmes liés à l'application](#appinsights-tutorial-sap-hana-troubleshooting-health-dashboard)

## Environnements compatibles
<a name="appinsights-tutorial-sap-hana-supported-environments"></a>

CloudWatch Application Insights prend en charge le déploiement de AWS ressources pour les systèmes et modèles suivants. Vous fournissez et installez le logiciel de base de données SAP HANA ainsi que le logiciel d'application SAP
+ **Base de données SAP HANA sur une seule instance Amazon EC2** — SAP HANA dans une architecture mono-nœud évolutive, avec jusqu'à 24 To de mémoire.
+ **Base de données SAP HANA sur plusieurs instances Amazon EC2** — SAP HANA dans une architecture multi-nœuds évolutive.
+ **Configuration de la haute disponibilité de la base de données SAP HANA cross-AZ** : SAP HANA avec haute disponibilité est configuré sur deux zones de disponibilité à l'aide du clustering. SUSE/RHEL 

**Note**  
CloudWatch Application Insights ne prend en charge que les environnements SID HANA uniques. Si plusieurs HANA SIDs sont connectés, la surveillance sera configurée uniquement pour le premier SID détecté.

## Systèmes d’exploitation pris en charge
<a name="appinsights-tutorial-sap-hana-supported-os"></a>

CloudWatch Application Insights for SAP HANA prend en charge l'architecture x86-64 sur les systèmes d'exploitation suivants :
+ SuSE Linux 12 SP4 pour SAP
+ SuSE Linux 12 SP5 pour SAP
+ SuSE Linux 15
+ SuSE Linux 15 SP1
+ SuSE Linux 15 SP2
+ SuSE Linux 15 pour SAP
+ SuSE Linux 15 SP1 pour SAP
+ SuSE Linux 15 SP2 pour SAP
+ SuSE Linux 15 SP3 pour SAP
+ SuSE Linux 15 SP4 pour SAP
+ SuSE Linux 15 SP5 pour SAP
+ RedHat Linux 8.6 pour SAP avec haute disponibilité et services de mise à jour
+ RedHat Linux 8.5 pour SAP avec haute disponibilité et services de mise à jour
+ RedHat Linux 8.4 pour SAP avec haute disponibilité et services de mise à jour
+ RedHat Linux 8.3 pour SAP avec haute disponibilité et services de mise à jour
+ RedHat Linux 8.2 pour SAP avec haute disponibilité et services de mise à jour
+ RedHat Linux 8.1 pour SAP avec haute disponibilité et services de mise à jour
+ RedHat Linux 7.9 pour SAP avec haute disponibilité et services de mise à jour

## Caractéristiques
<a name="appinsights-tutorial-sap-hana-features"></a>

CloudWatch Application Insights for SAP HANA fournit les fonctionnalités suivantes :
+ Détection automatique des charges de travail SAP HANA 
+ Création automatique d'alerte SAP HANA basée sur un seuil statique
+ Création automatique d'alerte SAP HANA basée sur la détection d'anomalies
+ Reconnaissance automatique des modèles de journaux SAP HANA 
+ Tableau de bord de Health pour SAP HANA
+ Tableau de bord des problèmes pour SAP HANA

## Conditions préalables
<a name="appinsights-tutorial-sap-hana-prerequisites"></a>

Vous devez remplir les conditions préalables suivantes pour configurer une base de données SAP HANA avec CloudWatch Application Insights :
+ **SAP HANA** : installez une base de données SAP HANA 2.0 SPS05 opérationnelle et accessible sur une instance Amazon EC2.
+ **Utilisateur de la base de données SAP HANA** : un utilisateur de base de données avec des rôles de surveillance doit être créé dans la base de données SYSTEM et dans tous les locataires. 

**Exemple**  
Les commandes SQL suivantes créent un utilisateur avec des rôles de surveillance.

  ```
  su - <sid>adm
  hdbsql -u SYSTEM -p <SYSTEMDB password> -d SYSTEMDB
  CREATE USER CW_HANADB_EXPORTER_USER PASSWORD <Monitoring user password> NO FORCE_FIRST_PASSWORD_CHANGE;
  CREATE ROLE CW_HANADB_EXPORTER_ROLE;
  GRANT MONITORING TO CW_HANADB_EXPORTER_ROLE;
  GRANT CW_HANADB_EXPORTER_ROLE TO CW_HANADB_EXPORTER_USER;
  ```
+ **Python 3.8** : installez Python 3.8 ou des versions ultérieures sur votre système d’exploitation. Utilisez la dernière version de Python. Si Python3 n’est pas détecté sur votre système d’exploitation, Python 3.6 sera installé. 

  Pour de plus amples informations, veuillez consulter [installation example](#install). 
**Note**  
L'installation manuelle de Python 3.8 ou version ultérieure est requise pour les systèmes d'exploitation SuSE RedHat Linux 15 SP4, Linux 8.6 et versions ultérieures.
+ **Pip 3** : installez le programme d’installation pip3 sur votre système d’exploitation. Si pip3 n'est pas détecté sur votre système d'exploitation, il sera installé.
+ **hdbclient** — CloudWatch Application Insights utilise le pilote python pour se connecter à la base de données SAP HANA. Si le client n’est pas installé sous python3, assurez-vous que vous disposez du fichier tar hdbclient version `2.10 or later` sous `/hana/shared/SID/hdbclient/`.
+ ** CloudWatch Agent Amazon** — Assurez-vous que vous n'exécutez pas d' CloudWatch agent préexistant sur votre instance Amazon EC2. Si CloudWatch l'agent est installé, veillez à supprimer la configuration des ressources que vous utilisez dans CloudWatch Application Insights du fichier de configuration de l' CloudWatch agent existant afin d'éviter un conflit de fusion. Pour de plus amples informations, veuillez consulter [Création ou modification manuelle du fichier de configuration de CloudWatch l'agent](CloudWatch-Agent-Configuration-File-Details.md).
+ **AWS Activation de Systems Manager** : installez l'agent SSM sur vos instances, et les instances doivent être activées pour SSM. Pour plus d’informations sur l’agent SSM, consultez [Utilisation de l’agent SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) dans le *Guide de l’utilisateur Systems Manager AWS *.
+ **Rôles d'instance Amazon EC2** : vous devez attacher les rôles d'instance Amazon EC2 suivants pour configurer votre base de données.
  + Vous devez joindre le rôle `AmazonSSMManagedInstanceCore` pour activer Systems Manager. Pour plus d'informations, consultez [AWS Systems Manager Exemples de politiques basées sur l'identité](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Vous devez joindre le `CloudWatchAgentServerPolicy` pour permettre l'émission de métriques et de journaux d'instance CloudWatch. Pour plus d'informations, voir [Création de rôles et d'utilisateurs IAM à utiliser avec l' CloudWatchagent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html).
  + Vous devez attacher la politique intégrée IAM suivante au rôle d'instance Amazon EC2 pour lire le mot de passe stocké dans AWS Secrets Manager. Pour plus d'informations sur les politiques en ligne, consultez [Politiques en ligne ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) dans le *Gestion des identités et des accès AWS Guide de l'utilisateur IAM*.

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "secretsmanager:GetSecretValue"
                ],
                "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
            }
        ]
    }
    ```

------
+ **AWS groupes de ressources** : vous devez créer un groupe de ressources qui inclut toutes les AWS ressources associées utilisées par votre pile d'applications pour intégrer vos applications à CloudWatch Application Insights. Cela comprend les instances Amazon EC2 et les volumes Amazon EBS exécutant votre base de données SAP HANA. S'il existe plusieurs bases de données par compte, nous vous recommandons de créer un groupe de ressources qui inclut les AWS ressources de chaque système de base de données SAP HANA. 
+ **Autorisations IAM** : pour les utilisateurs non-administrateurs ;
  +  Vous devez créer une politique Gestion des identités et des accès AWS (IAM) qui permet à Application Insights de créer un rôle lié à un service et de l'associer à votre identité d'utilisateur. Pour savoir comment attacher la politique, consultez [Politique IAM pour CloudWatch Application Insights](appinsights-iam.md).
  + L'utilisateur doit être autorisé à créer un secret pour stocker les informations d'identification AWS Secrets Manager de l'utilisateur de la base de données. Pour de plus amples informations, consultez [Example: Permission to create secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_create) (Exemple : Autorisation de créer des secrets).

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

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "secretsmanager:CreateSecret"
          ],
          "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*"
        }
      ]
    }
    ```

------
+ **Rôle lié à un service** — Application Insights utilise des rôles liés à un service Gestion des identités et des accès AWS (IAM). Un rôle lié à un service est créé pour vous lorsque vous créez votre première application Application Insights dans la console Application Insights. Pour plus d'informations, consultez [Utilisation de rôles liés à un service pour Application Insights CloudWatch](CHAP_using-service-linked-roles-appinsights.md).

## Configurer votre base de données SAP HANA pour la surveillance
<a name="appinsights-tutorial-sap-hana-set-up"></a>

Réalisez les étapes suivantes pour configurer la surveillance de votre base de données SAP HANA

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

1. Dans le volet de navigation de gauche, sélectionnez **Application Insights** sous **Insights**.

1. La page **Application Insights** affiche la liste des applications qui sont surveillées à l'aide d'Application Insights et l'état de surveillance de chaque application. Dans le coin supérieur droit, sélectionnez **Add an application (Ajouter une application)**.

1. Dans la page **Spécification des détails de l'application**, dans la liste déroulante sous **Resource group**, sélectionnez le AWS Resource Group qui contient vos ressources de base de données SAP HANA. Si vous n'avez pas encore créé de Resource Group pour votre application, vous pouvez le faire en sélectionnant **Create new resource group (Créer un Resource Group)** sous le menu déroulant **Resource Group**. Pour plus d'informations sur les Resource Groups, consultez le Guide d'utilisateur [https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html)

1. Sous **Surveiller les CloudWatch événements**, cochez la case pour intégrer la surveillance des informations d'application aux CloudWatch événements afin d'obtenir des informations provenant d'Amazon EBS, d'Amazon EC2 AWS CodeDeploy, d'Amazon ECS et des AWS Health APIs notifications, d'Amazon RDS, d'Amazon S3 et. AWS Step Functions

1. Sous **Intégrer à AWS Systems Manager OpsCenter**, cochez la case à côté de **Générer AWS Systems Manager OpsCenter OpsItems pour les actions correctives** afin de consulter et de recevoir des notifications lorsque des problèmes sont détectés dans les applications sélectionnées. Pour suivre les opérations effectuées pour résoudre les éléments de travail opérationnels, appelés OpsItems, liés à vos AWS ressources, fournissez un ARN de rubrique SNS. 

1. Vous pouvez éventuellement saisir des balises pour vous aider à identifier et à organiser vos ressources. CloudWatch Application Insights prend en charge les groupes de ressources CloudFormation basés sur des balises et des piles, à l'exception des groupes. Application Auto Scaling Pour plus d'informations, consultez [Utilisation de Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) dans le *Guide de l'utilisateur Groupes de ressources AWS *. 

1. Sélectionnez **Next (Suivant)** pour continuer à mettre en place la surveillance.

1. Sur la page **Réviser les composants détectés**, les composants surveillés et leurs charges de travail détectées automatiquement par CloudWatch Application Insights sont répertoriés.

   1. Pour ajouter des charges de travail à un composant contenant une charge de travail à nœud simple SAP HANA détectée, sélectionnez le composant, puis choisissez **Modifier le composant**.
**Note**  
Les composants contenant une charge de travail à plusieurs nœuds SAP HANA ou HANA High Availability détectée ne prennent en charge qu'une seule charge de travail par composant.  
![\[La page de révision des composants à surveiller de la console CloudWatch Application Insights : sélectionnez le composant à modifier.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-hana-review.png)

   1. Pour ajouter une charge de travail, choisissez **Ajouter une charge de travail**.  
![\[Section d'édition du composant de la console CloudWatch Application Insights : cliquez sur le bouton inférieur gauche pour ajouter de la charge de travail.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-hana-edit.png)

   1. Lorsque vous avez fini de modifier les charges de travail, choisissez **Enregistrer les modifications**.

1. Choisissez **Suivant**.

1. Sur la page **Spécifier les détails du composant**, saisissez le nom d'utilisateur et le mot de passe.

1. Passez en revue la configuration de surveillance de votre application et sélectionnez **Submit (Envoyer)**.

1. La page de détails de l'application s'ouvre. Vous pouvez consulter le **Récapitulatif de l'application**, la liste des **Composants surveillés et charges de travail surveillés** et les **Composants et charges de travail non surveillés**. Si vous sélectionnez le bouton radio à côté d'un composant ou d'une charge de travail, vous pouvez également afficher l'**Historique de configuration**, les **Modèles de journaux** et toutes les **Balises** que vous avez créées. Lorsque vous envoyez votre configuration, votre compte déploie toutes les métriques et alertes de votre système SAP HANA, qui peuvent prendre jusqu'à 2 heures. 

## Gérer la surveillance de votre base de données SAP H
<a name="appinsights-tutorial-sap-hana-manage"></a>

Vous pouvez gérer les informations d'identification des utilisateurs, les métriques et les chemins d'accès aux journaux de votre base de données SAP HANA en réalisant les étapes suivantes :

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

1. Dans le volet de navigation de gauche, sélectionnez **Application Insights** sous **Insights**.

1. La page **Application Insights** affiche la liste des applications qui sont surveillées à l'aide d'Application Insights et l'état de surveillance de chaque application. 

1. Sous **Monitored components (Composants surveillés)**, sélectionnez la case d'option à côté du nom du composant. Ensuite, sélectionnez **Manage monitoring (Gérer la surveillance)**.

1. Sous **EC2 instance group logs (Journaux des groupes d'instances EC2)**, vous pouvez mettre à jour le chemin d'accès du journal, le jeu de modèles de journaux et le nom du groupe de journaux existants. En outre, vous pouvez ajouter jusqu'à trois autres **Journaux d'application**.

1. Sous **Metrics (Métriques)**, vous pouvez choisir les métrique SAP HANA en fonction de vos besoins. Les noms de métriques SAP HANA sont préfixés par `hanadb`. Vous pouvez ajouter jusqu'à 40 métriques par composant.

1. Sous **HANA configuration (Configuration HANA)**, saisissez le mot de passe et le nom d'utilisateur de la base de données SAP HANA. Il s'agit du nom d'utilisateur et du mot de passe utilisés par CloudWatch l'agent Amazon pour se connecter à la base de données SAP HANA.

1. Sous **Alarmes personnalisées**, vous pouvez ajouter des alarmes supplémentaires à surveiller par CloudWatch Application Insights.

1. Vérifiez la configuration de surveillance de votre application et sélectionnez **Submit (Envoyer)**. Lorsque vous envoyez votre configuration, votre compte met à jour toutes les métriques et les alertes de votre système SAP HANA, ce qui peut prendre jusqu'à 2 heures.

## Afficher et résoudre les problèmes SAP HANA détectés par CloudWatch Application Insights
<a name="appinsights-tutorial-sap-hana-troubleshooting"></a>

Les sections suivantes fournissent des étapes pour vous aider à résoudre les scénarios de dépannage courants qui se produisent lorsque vous configurez la surveillance pour SAP HANA sur Application Insights.

**Topics**
+ [La base de données SAP HANA atteint la limite de](#appinsights-tutorial-sap-hana-troubleshooting-memory)
+ [Événement de disque plein](#appinsights-tutorial-sap-hana-troubleshooting-disk-full)
+ [La sauvegarde SAP HANA a cessé de fonctionner](#appinsights-tutorial-sap-hana-troubleshooting-backup-stopped)

### La base de données SAP HANA atteint la limite de
<a name="appinsights-tutorial-sap-hana-troubleshooting-memory"></a>

**Description**  
Votre application SAP qui est soutenue par une base de données SAP HANA fonctionne mal en raison d'une pression de mémoire élevée, entraînant une dégradation des performances des applications.

**Résolution**  
Vous pouvez identifier la couche d'application à l'origine du problème en consultant le tableau de bord créé dynamiquement, qui présente les métriques et les extraits de fichiers journaux correspondants. Dans l'exemple suivant, le problème peut être dû à une charge de données importante dans le système SAP HANA.

![\[Dépassement de l'allocation de mémoire.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-memory-allocation-1.png)


L'allocation de mémoire utilisée dépasse le seuil de 80 % de la limite totale d'allocation de mémoire.

![\[Groupe de journaux manquant de mémoire.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-memory-allocation-2.png)


Le groupe de journaux affiche le schéma `BNR-DATA` et la table `IMDBMASTER_30003` a manqué de mémoire. En outre, le groupe de journaux affiche l'heure exacte du problème, la limite de localisation globale actuelle, la mémoire partagée, la taille du code et la taille de l'allocation de réservation OOM.

![\[Groupe de journaux.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-memory-allocation-3.png)


### Événement de disque plein
<a name="appinsights-tutorial-sap-hana-troubleshooting-disk-full"></a>

**Description**  
Votre application SAP qui est soutenue par une base de données SAP HANA cesse de répondre, ce qui entraîne une incapacité d'accéder à la base de données.

**Résolution**  
Vous pouvez identifier la couche de base de données à l'origine du problème en consultant le tableau de bord créé dynamiquement, qui présente les métriques et les extraits de fichiers journaux correspondants. Dans l'exemple suivant, le problème peut être dû au fait que l'administrateur n'a pas activé la sauvegarde automatique des journaux, ce qui a entraîné le remplissage du sap/hana/log répertoire.

![\[Groupe de journaux manquant de mémoire.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-disk-full-1.png)


Le widget groupe de journaux dans le tableau de bord des problèmes affiche l'événement `DISKFULL`.

![\[Groupe de journaux manquant de mémoire.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-disk-full-2.png)


### La sauvegarde SAP HANA a cessé de fonctionner
<a name="appinsights-tutorial-sap-hana-troubleshooting-backup-stopped"></a>

**Description**  
Votre application SAP qui est soutenue par une base de données SAP HANA a cessé de fonctionner.

**Résolution**  
Vous pouvez identifier la couche de base de données à l'origine du problème en consultant le tableau de bord créé dynamiquement, qui présente les métriques et les extraits de fichiers journaux correspondants. 

Le widget groupe de journaux dans le tableau de bord des problèmes affiche l'événement `ACCESS DENIED`. Cela comprend des informations supplémentaires, telles que le compartiment S3, le dossier de compartiment S3 et la région du compartiment S3.

![\[Groupe de journaux manquant de mémoire.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-backup-stopped-2.png)


## Détection d'anomalies pour SAP HANA
<a name="appinsights-tutorial-sap-hana-troubleshooting-anomaly-detection"></a>

Pour des métriques SAP HANA spécifiques, telles que le nombre de threads, CloudWatch applique des algorithmes statistiques et d'apprentissage automatique pour définir le seuil. Ces algorithmes analysent en permanence les métriques de la base de données SAP HANA, déterminent les lignes de base normales et font apparaître les anomalies avec une intervention minimale de l'utilisateur. Les algorithmes génèrent un modèle de détection des anomalies, qui génère une gamme de valeurs attendues représentant le comportement normal de la métrique.

Les algorithmes de détection des anomalies tiennent compte de la saisonnalité et des changements de tendance des métriques. Les changements saisonniers peuvent être horaires, quotidiens ou hebdomadaires, comme le montrent les exemples suivants de l'utilisation du CPU de SAP HANA.

![\[Groupe de journaux manquant de mémoire.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-anomaly-detection.png)


Une fois que vous avez créé un modèle, la détection des CloudWatch anomalies évalue le modèle en permanence et l'ajuste pour s'assurer qu'il est aussi précis que possible. Cela comprend le recyclage du modèle pour ajuster si les valeurs de métrique évoluent au fil du temps ou subissent des changements brusques. cela comprend également des prédicteurs pour améliorer les modèles de métriques saisonnières, pointues ou clairsemées.

## Dépannage des applications Insights pour SAP HANA
<a name="appinsights-tutorial-sap-hana-troubleshooting-health-dashboard"></a>

Cette section fournit des étapes pour vous aider à résoudre les erreurs courantes renvoyées par le tableau de bord Application Insights. 

### Impossible d’ajouter plus de 60 mètresiques surveillées
<a name="cant-add-greater-sixty-metrics"></a>

Le résultat montre l’erreur suivante.

```
Component cannot have more than 60 monitored metrics
```

**Cause racine** : la limite actuelle des métriques est de 60 métriques surveillées par composant.

**Résolution** : pour ne pas dépasser la limite, supprimez les métriques inutiles.

### Aucune métrique SAP n’apparaît après le processus d’intégration
<a name="no-sap-metrics-appear"></a>

Utilisez les informations suivantes pour savoir pourquoi les métriques SAP n’apparaissent pas sur le tableau de bord après le processus d’intégration. La première étape consiste à déterminer pourquoi les métriques SAP n'apparaissent pas à l'aide des journaux AWS Management Console ou de l'exportateur d'une instance Amazon EC2. Ensuite, examinez les résultats de l’erreur pour trouver une solution.

#### Déterminer pourquoi les métriques SAP ne s’affichent pas après l’intégration
<a name="w2aac26c20c27c27b7b5"></a>

Vous pouvez utiliser les journaux AWS Management Console ou les journaux d'exportation d'une instance Amazon EC2 pour le dépannage.

------
#### [ AWS Management Console ]

**Dépanner pourquoi aucune métrique SAP n’apparaît après l’onboarding à l’aide de la console**

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 de gauche, sélectionnez **Gestionnaire d’état**.

1. Sous **Associations**, vérifiez le statut du document `AWSEC2-ApplicationInsightsCloudwatchAgentInstallAndConfigure`. Si le statut est `Failed`, sous **ID d’exécution**, sélectionnez l’ID d’échec et affichez le résultat.

1. Sous **Associations**, vérifiez le statut du document `AWS-ConfigureAWSPackage`. Si le statut est `Failed`, sous **ID d’exécution**, sélectionnez l’ID d’échec et affichez le résultat.

------
#### [ Exporter logs from Amazon EC2 instance ]

**Dépanner l’absence d’apparition de métriques SAP après l’intégration à l’aide des journaux d’exportateur**

1. Connectez-vous à l’instance Amazon EC2 où s’exécute votre base de données SAP HANA.

1. <a name="step-find-short-name"></a>Trouvez la convention d’appellation correcte pour `WORKLOAD_SHORT_NAME` à l’aide de la commande suivante. Vous utiliserez ce nom court dans les deux étapes suivantes. 

   ```
   sudo systemctl | grep exporter
   ```
**Note**  
Application Insights ajoute un suffixe, `WORKLOAD_SHORT_NAME`, au nom du service en fonction de la charge de travail en cours d’exécution. Les noms courts pour les déploiements SAP HANA à nœud unique, à nœuds multiples et à haute disponibilité sont `HANA_SN`, `HANA_MN` et `HANA_HA`.

1. Pour vérifier les erreurs dans les journaux de service du gestionnaire d’exportation, exécutez la commande suivante en remplaçant `WORKLOAD_SHORT_NAME` par le nom court que vous avez trouvé dans [Step 2](#step-find-short-name).

   ```
   sudo journalctl -e --unit=prometheus-hanadb_exporter_manager_WORKLOAD_SHORT_NAME.service
   ```

1. Si les journaux du service du gestionnaire de l’exportateur n’indiquent pas d’erreur, vérifiez les erreurs dans les journaux du service de l’exportateur en exécutant la commande suivante.

   ```
   sudo journalctl -e --unit=prometheus-hanadb_exporter_WORKLOAD_SHORT_NAME.service
   ```

------

#### Résolution des causes racine les plus courantes de la non-apparition des métriques SAP après l’intégration
<a name="resolve-root-causes-sap-metrics"></a>

Les exemples suivants décrivent comment résoudre les causes racines les plus courantes des métriques SAP qui n’apparaissent pas après l’intégration.
+ Le résultat montre l’erreur suivante.

  ```
  Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/default ...
  Reading json config file path: /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/ssm_AmazonCloudWatch-ApplicationInsights-SSMParameterForTESTCWEC2INSTANCEi0d88867f1f3e36285.tmp ...
  2023/11/30 22:25:17 Failed to merge multiple json config files.
  2023/11/30 22:25:17 Failed to merge multiple json config files.
  2023/11/30 22:25:17 Under path : /metrics/append_dimensions | Error : Different values are specified for append_dimensions
  2023/11/30 22:25:17 Under path : /metrics/metrics_collected/disk | Error : Different values are specified for disk
  2023/11/30 22:25:17 Under path : /metrics/metrics_collected/mem | Error : Different values are specified for mem
  2023/11/30 22:25:17 Configuration validation first phase failed. Agent version: 1.0. Verify the JSON input is only using features supported by this version.
  ```

  **Résolution** — Application Insights essaie de configurer les mêmes métriques que celles préconfigurées dans le fichier de configuration de l' CloudWatch agent existant. Supprimez les fichiers existants `/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/` ou supprimez les métriques à l'origine du conflit dans le fichier de configuration de l' CloudWatch agent existant.
+ Le résultat montre l’erreur suivante.

  ```
  Unable to find a host with system database, for more info rerun using -v
  ```

  **Résolution** : le nom d’utilisateur, le mot de passe ou le port de la base de données peuvent être incorrects. Vérifiez que le nom d’utilisateur, le mot de passe et le port sont valides, puis relancez le processus d’intégration.
+ Le résultat montre l’erreur suivante.

  ```
  This hdbcli installer is not compatible with your Python interpreter
  ```

  **Résolution** : mettez à niveau pip3 et wheel comme indiqué dans l’exemple suivant pour Python 3.6.

  ```
  python3.6 -m pip install --upgrade pip setuptools wheel
  ```
+ Le résultat montre l’erreur suivante.

  ```
  Unable to install hdbcli using pip3. Please try to install it
  ```

  **Résolution** : assurez-vous que vous avez suivi les prérequis `hdbclient` ou installez `hdbclient` manuellement sous pip3.
+ Le résultat montre l’erreur suivante.

  ```
  Package 'boto3' requires a different Python: 3.6.15 not in '>= 3.7'
  ```

  **Résolution** : Python 3.8 ou supérieur est requis pour cette version du système d’exploitation. Vérifiez les prérequis de Python 3.8 et installez-le.
+ La sortie montre l’une des erreurs d’installation suivantes.

  ```
  Can not execute `setup.py` since setuptools is not available in the build environment
  ```

  or

  ```
  [SSL: CERTIFICATE_VERIFY_FAILED]
  ```

  **Résolution** : installez Python à l’aide des commandes SUSE Linux comme indiqué dans l’exemple suivant. L’exemple suivant installe la dernière version de [Python 3.8](https://www.python.org/downloads/).

  ```
  wget https://www.python.org/ftp/python/3.8.<LATEST_RELEASE>/Python-3.8.<LATEST_RELEASE>.tgz
  tar xf Python-3.*
  cd Python-3.*/
  sudo zypper install make gcc-c++ gcc automake autoconf libtool
  sudo zypper install zlib-devel
  sudo zypper install libopenssl-devel libffi-devel
  ./configure --with-ensurepip=install 
  sudo make
  sudo make install
  sudo su 
  python3.8 -m pip install --upgrade pip setuptools wheel
  ```

# Tutoriel : Configuration de la surveillance pour SAP NetWeaver
<a name="appinsights-tutorial-sap-netweaver"></a>

Ce didacticiel explique comment configurer Amazon CloudWatch Application Insights pour configurer la surveillance pour SAP NetWeaver. Vous pouvez utiliser les tableaux de bord automatiques d' CloudWatch Application Insights pour visualiser les détails des problèmes, accélérer le dépannage et réduire le temps moyen de résolution (MTTR) pour vos serveurs d'applications SAP NetWeaver.

**Topics**
+ [Environnements compatibles](#appinsights-tutorial-sap-netweaver-supported-environments)
+ [Systèmes d’exploitation pris en charge](#appinsights-tutorial-sap-netweaver-supported-os)
+ [Fonctionnalités](#appinsights-tutorial-sap-netweaver-features)
+ [Prérequis](#appinsights-tutorial-sap-netweaver-prerequisites)
+ [Configurer la surveillance](#appinsights-tutorial-sap-netweaver-set-up)
+ [Gérer la surveillance](#appinsights-tutorial-sap-netweaver-manage)
+ [Dépannage des problèmes](#appinsights-tutorial-sap-netweaver-troubleshooting)
+ [Résolution des problèmes liés à l'application](#appinsights-tutorial-sap-netweaver-troubleshooting-health-dashboard)

## Environnements compatibles
<a name="appinsights-tutorial-sap-netweaver-supported-environments"></a>

CloudWatch Application Insights prend en charge le déploiement de AWS ressources pour les systèmes et modèles suivants. 
+ **Déploiement du système NetWeaver standard SAP.**
+ **Déploiements SAP NetWeaver Distributed sur plusieurs EC2 instances Amazon.**
+ **Configuration de NetWeaver haute disponibilité SAP inter-AZ** : SAP NetWeaver avec haute disponibilité configuré sur deux zones de disponibilité à l'aide du clustering SUSE/RHEL.

## Systèmes d’exploitation pris en charge
<a name="appinsights-tutorial-sap-netweaver-supported-os"></a>

CloudWatch Application Insights for SAP NetWeaver est compatible avec les systèmes d'exploitation suivants :
+ Oracle Linux 8
+ Red Hat Enterprise Linux 7.6
+ Red Hat Enterprise Linux 7.7
+ Red Hat Enterprise Linux 7.9
+ Red Hat Enterprise Linux 8.1
+ Red Hat Enterprise Linux 8.2
+ Red Hat Enterprise Linux 8.4
+ Red Hat Enterprise Linux 8.6
+ SUSE Linux Enterprise Server 15 pour SAP
+ SUSE Linux Enterprise Server 15 SP1 pour SAP
+ SUSE Linux Enterprise Server 15 SP2 pour SAP
+ SUSE Linux Enterprise Server 15 SP3 pour SAP
+ SUSE Linux Enterprise Server 15 SP4 pour SAP
+ SUSE Linux Enterprise Server 12 SP4 pour SAP
+ SUSE Linux Enterprise Server 12 SP5 pour SAP
+ SUSE Linux Enterprise Server 15, à l'exception des modèles de haute disponibilité
+ SUSE Linux Enterprise Server 15, à SP1 l'exception des modèles de haute disponibilité
+ SUSE Linux Enterprise Server 15, à SP2 l'exception des modèles de haute disponibilité
+ SUSE Linux Enterprise Server 15, à SP3 l'exception des modèles de haute disponibilité
+ SUSE Linux Enterprise Server 15, à SP4 l'exception des modèles de haute disponibilité
+ SUSE Linux Enterprise Server 12, à SP4 l'exception des modèles de haute disponibilité
+ SUSE Linux Enterprise Server 12, à SP5 l'exception des modèles de haute disponibilité

## Fonctionnalités
<a name="appinsights-tutorial-sap-netweaver-features"></a>

CloudWatch Application Insights for SAP NetWeaver 7.0x—7.5x (y compris ABAP Platform) fournit les fonctionnalités suivantes :
+ Détection automatique de la NetWeaver charge de travail SAP 
+ Création automatique NetWeaver d'alarmes SAP sur la base de seuils statiques
+ Reconnaissance automatique du modèle de NetWeaver journal SAP 
+ Tableau de bord Health pour SAP NetWeaver
+ Tableau de bord des problèmes pour SAP NetWeaver

## Prérequis
<a name="appinsights-tutorial-sap-netweaver-prerequisites"></a>

Vous devez remplir les conditions préalables suivantes pour configurer SAP NetWeaver avec CloudWatch Application Insights :
+ **AWS Activation de Systems Manager** : installez l'agent SSM sur vos EC2 instances Amazon et activez les instances pour SSM. Pour plus d'informations sur l'installation de l'Agent SSM, veuillez consulter la rubrique [Configuration de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html) dans le *Guide de l'utilisateur AWS Systems Manager*.
+ **Rôles d' EC2 instance Amazon** — Vous devez associer les rôles d' EC2 instance Amazon suivants pour configurer votre NetWeaver surveillance SAP.
  + Vous devez joindre le rôle `AmazonSSMManagedInstanceCore` pour activer Systems Manager. Pour plus d'informations, consultez [AWS Systems Manager Exemples de politiques basées sur l'identité](https://docs.aws.amazon.com/systems-manager/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html).
  + Vous devez joindre la `CloudWatchAgentServerPolicy` politique pour permettre l'émission des métriques et des journaux de l'instance CloudWatch. Pour plus d'informations, voir [Création de rôles et d'utilisateurs IAM à utiliser avec l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html).
+ **AWS groupes de ressources** : vous devez créer un groupe de ressources qui inclut toutes les AWS ressources associées utilisées par votre pile d'applications pour intégrer vos applications à CloudWatch Application Insights. Cela inclut EC2 les instances Amazon, Amazon EFS et les volumes Amazon EBS exécutant vos serveurs NetWeaver d'applications SAP. S'il existe plusieurs NetWeaver systèmes SAP par compte, nous vous recommandons de créer un groupe de ressources qui inclut les AWS ressources de chaque NetWeaver système SAP. Pour plus d'informations sur la création de groupes de ressources, consultez le *[Guide de l'utilisateur des groupes et des balises de ressources AWS](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html)* (français non garanti).
+ **Autorisations IAM** : pour les utilisateurs qui n'ont pas d'accès administratif, vous devez créer une politique Gestion des identités et des accès AWS (IAM) qui permet à Application Insights de créer un rôle lié à un service et de l'associer à l'identité de l'utilisateur. Pour plus d'informations sur la façon de créer la politique IAM, consultez [Politique IAM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-iam.html).
+ **Rôle lié à un service** — Application Insights utilise des rôles liés à un service Gestion des identités et des accès AWS (IAM). Un rôle lié à un service est créé pour vous lorsque vous créez votre première application Application Insights dans la console Application Insights. Pour de plus amples informations, veuillez consulter [Utilisation de rôles liés à un service pour Application Insights CloudWatch](CHAP_using-service-linked-roles-appinsights.md).
+ **Amazon CloudWatch agent** — Application Insights installe et configure l' CloudWatch agent. Si CloudWatch l'agent est installé, Application Insights conserve votre configuration. Pour éviter un conflit de fusion, supprimez la configuration des ressources que vous souhaitez utiliser dans Application Insights du fichier de configuration de l' CloudWatch agent existant. Pour de plus amples informations, veuillez consulter [Création ou modification manuelle du fichier de configuration de CloudWatch l'agent](CloudWatch-Agent-Configuration-File-Details.md).

## Configurez vos serveurs NetWeaver d'applications SAP pour la surveillance
<a name="appinsights-tutorial-sap-netweaver-set-up"></a>

Suivez les étapes ci-dessous pour configurer la surveillance de vos serveurs NetWeaver d'applications SAP.

**Pour configurer la surveillance**

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

1. Dans le panneau de navigation de gauche, sélectionnez **Application Insights** sous **Insights**.

1. La page **Application Insights** affiche la liste des applications qui sont surveillées à l'aide d'Application Insights et l'état de surveillance de chaque application. Dans le coin supérieur droit, sélectionnez **Add an application** (Ajouter une application).

1. Sur la page **Spécifier les détails de l'application**, dans la liste déroulante sous Groupe de **ressources, sélectionnez le groupe** de AWS ressources que vous avez créé et qui contient vos NetWeaver ressources SAP. Si vous n'avez pas encore créé de groupe de ressources pour votre application, vous pouvez le faire en sélectionnant **Create new resource group** (Créer un groupe de ressources) dans la liste déroulante **Resource Group** (Groupe de ressources). 

1. Sous **Automatic monitoring of new resources** (Surveillance automatique des nouvelles ressources), cochez la case pour permettre à Application Insights de surveiller automatiquement les ressources qui sont ajoutées au groupe de ressources de l'application après l'intégration. 

1. Sous **Surveiller les EventBridge événements**, cochez la case pour intégrer la surveillance des informations d'application aux CloudWatch événements afin d'obtenir des informations provenant d'Amazon EBS, d'Amazon EC2 AWS CodeDeploy, d'Amazon ECS AWS Health APIs et des notifications, d'Amazon RDS, d'Amazon S3 et. AWS Step Functions

1. Sous **Intégrer à AWS Systems Manager OpsCenter**, cochez la case à côté de **Générer AWS Systems Manager OpsCenter OpsItems pour les actions correctives** afin de consulter et de recevoir des notifications lorsque des problèmes sont détectés dans les applications sélectionnées. Pour suivre les opérations effectuées pour résoudre les éléments de travail opérationnels, appelés [OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started-sns.html), liés à vos AWS ressources, fournissez un ARN de rubrique SNS. 

1. Vous pouvez éventuellement saisir des balises pour vous aider à identifier et à organiser vos ressources. CloudWatch Application Insights prend en charge les groupes de ressources CloudFormation basés sur des balises et des piles, à l'exception des groupes. Application Auto Scaling Pour plus d'informations, consultez [Utilisation de Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) dans le *Guide de l'utilisateur Groupes de ressources AWS *. 

1. Pour examiner les composants détectés, choisissez **Suivant**.

1. Sur la page **Réviser les composants détectés**, les composants surveillés et leurs charges de travail détectées automatiquement par CloudWatch Application Insights sont répertoriés. 

   1. Pour modifier le type et le nom de la charge de travail, choisissez **Modifier le composant**.
**Note**  
Les composants contenant une charge de travail NetWeaver distribuée ou à NetWeaver haute disponibilité détectée ne prennent en charge qu'une seule charge de travail par composant.  
![\[La section consacrée à l'examen des composants détectés de la console CloudWatch Application Insights : liste des composants pouvant être modifiés.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-multiapp-netweaver.png)

1. Choisissez **Suivant**.

1. Sur la page **Specify component details** (Spécifier les détails du composant), cliquez sur **Next** (Suivant).

1. Passez en revue la configuration de surveillance de votre application, puis sélectionnez **Soumettre**.

1. La page de détails de l'application s'ouvre, où vous pouvez afficher le **Récaputilatif de l'application**, le **Tableau de bord**, les **Composants** et les **Charges de travail**. Vous pouvez également afficher la **Configuration history** (Historique de la configuration), les **Log patterns** (Modèles de journaux) et les **Tags** (Balises) que vous avez créés. Une fois que vous avez soumis votre CloudWatch candidature, Application Insights déploie toutes les mesures et alarmes de votre NetWeaver système SAP, ce qui peut prendre jusqu'à une heure.

## Gérez la surveillance de vos serveurs NetWeaver d'applications SAP
<a name="appinsights-tutorial-sap-netweaver-manage"></a>

Suivez les étapes ci-dessous pour gérer la surveillance de vos serveurs NetWeaver d'applications SAP.

**Pour gérer la surveillance**

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

1. Dans le panneau de navigation de gauche, sélectionnez **Application Insights** sous **Insights**.

1. Choisissez l'onglet **List view** (Vue en liste).

1. La page **Application Insights** affiche la liste des applications qui sont surveillées à l'aide d'Application Insights et l'état de surveillance de chaque application.

1. Sélectionnez votre application.

1. Choisissez l'onglet **Components** (Composants).

1. Sous **Monitored components (Composants surveillés)**, sélectionnez la case d'option à côté du nom du composant. Ensuite, sélectionnez **Manage monitoring** (Gérer la surveillance).

1. Sous **Instance logs** (Journaux d'instance), vous pouvez mettre à jour le chemin d'accès du journal, le jeu de modèles de journaux et le nom du groupe de journaux existants. En outre, vous pouvez ajouter jusqu'à trois autres **Journaux d'application**.

1. Sous **Métriques**, vous pouvez sélectionner les NetWeaver métriques SAP en fonction de vos besoins. Les noms des NetWeaver métriques SAP sont préfixés par`sap`. Vous pouvez ajouter jusqu'à 40 métriques par composant.

1. Sous **Alarmes personnalisées**, vous pouvez ajouter des alarmes supplémentaires à surveiller par CloudWatch Application Insights.

1. Vérifiez la configuration de surveillance de votre application et sélectionnez **Save** (Enregistrer). Lorsque vous soumettez votre configuration, votre compte met à jour toutes les mesures et alarmes de vos NetWeaver systèmes SAP.

## Afficher et résoudre les NetWeaver problèmes SAP détectés par CloudWatch Application Insights
<a name="appinsights-tutorial-sap-netweaver-troubleshooting"></a>

Les sections suivantes fournissent des étapes pour vous aider à résoudre les scénarios de dépannage courants qui se produisent lorsque vous configurez la surveillance pour SAP NetWeaver sur Application Insights.

**Topics**
+ [Problèmes de connectivité aux NetWeaver bases de données SAP](#appinsights-tutorial-sap-netweaver-troubleshooting-database)
+ [Problèmes de disponibilité des NetWeaver applications SAP](#appinsights-tutorial-sap-netweaver-troubleshooting-availability)

### Problèmes de connectivité aux NetWeaver bases de données SAP
<a name="appinsights-tutorial-sap-netweaver-troubleshooting-database"></a>

**Description**  
Votre NetWeaver application SAP rencontre des problèmes de connectivité à la base de données.

**Cause**  
Vous pouvez identifier le problème de connectivité en accédant à la console CloudWatch Application Insights et en consultant le tableau de bord des problèmes de SAP NetWeaver Application Insights. Sélectionnez le lien sous **Problem summary** (Résumé du problème) pour voir le problème spécifique.

![\[Tableau de bord des problèmes détectés pour CloudWatch Application Insights avec plus d'informations dans la section Problèmes détectés dans la colonne Récapitulatif des problèmes.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-1.png)


Dans l'exemple suivant, sous **Problem summary** (Résumé du problème), SAP : la disponibilité est le problème.

![\[Page de résumé du problème pour CloudWatch Application Insights dans la section Résumé du problème.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-2.png)


Immédiatement après **Problem summary** (Résumé du problème), la section **Insight** (Information) fournit plus de contexte sur l'erreur et indique où vous pouvez obtenir plus d'informations sur les causes du problème.

![\[Informations sur les problèmes pour CloudWatch Application Insights avec des informations supplémentaires sur la cause de l'erreur.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-3.png)


Sur le même tableau de bord du problème, vous pouvez afficher les journaux et métriques connexes que la détection des problèmes a regroupés pour vous aider à isoler la cause de l'erreur. La `sap_alerts_Availability` métrique suit la disponibilité du NetWeaver système SAP au fil du temps. Vous pouvez utiliser le suivi historique pour établir une corrélation entre le moment où la métrique a déclenché un état d'erreur ou a franchi le seuil d'alarme. Dans l'exemple suivant, le NetWeaver système SAP présente un problème de disponibilité. L'exemple montre deux alarmes car il y a deux instances de serveur d'application SAP et une alarme a été créée pour chaque instance.

![\[Mesure de disponibilité SAP pour CloudWatch Application Insights avec des informations supplémentaires sur l'historique du moment où l'erreur s'est produite.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-4.png)


Pour plus d'informations sur chaque alarme, survolez le nom de la métrique `sap_alerts_Availability`.

![\[Mesure de disponibilité SAP pour CloudWatch Application Insights avec des informations supplémentaires sur l'erreur.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-5.png)


Dans l'exemple suivant, la métrique `sap_alerts_Database` indique que la couche de base de données présente un problème ou une défaillance. Cette alarme indique que SAP NetWeaver a rencontré des problèmes de connexion ou de communication avec sa base de données. 

![\[Métrique de base de données SAP pour CloudWatch Application Insights avec un historique supplémentaire indiquant le moment où l'erreur s'est produite.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-6.png)


La base de données étant une ressource clé pour SAP NetWeaver, vous pouvez recevoir de nombreuses alarmes associées en cas de problème ou de défaillance de la base de données. Dans l'exemple suivant, les métriques `sap_alerts_FrontendResponseTime` et `sap_alerts_LongRunners` sont déclenchées, car la base de données n'est pas disponible.

![\[Des métriques supplémentaires de base de données SAP pour CloudWatch Application Insights ont été créées en raison d'une défaillance de base de données.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-7.png)


**Résolution**  
Application Insights surveille le problème détecté toutes les heures. S'il n'y a aucune nouvelle entrée de journal associée dans vos fichiers NetWeaver journaux SAP, les anciennes entrées de journal seront considérées comme résolues. Vous devez corriger toutes les conditions d'erreur liées aux CloudWatch alarmes. Une fois les conditions d'erreur corrigées, l'alarme est résolue lorsque les alarmes et les journaux sont récupérés. Lorsque toutes les erreurs du CloudWatch journal et les alarmes sont résolues, Application Insights cesse de détecter les erreurs et le problème est automatiquement résolu en moins d'une heure. Nous vous recommandons de résoudre toutes les conditions d'erreurs de journal et les alarmes afin de disposer des derniers problèmes sur le tableau de bord des problèmes.

Dans l'exemple suivant, le problème de disponibilité de SAP est résolu.

![\[CloudWatch Tableau de bord des problèmes d'Application Insights avec le problème de disponibilité de SAP résolu.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-database-connectivity-resolved.png)


### Problèmes de disponibilité des NetWeaver applications SAP
<a name="appinsights-tutorial-sap-netweaver-troubleshooting-availability"></a>

**Description**  
Votre réplication SAP NetWeaver High Availability Queue a cessé de fonctionner.

**Cause**  
Vous pouvez identifier le problème de connectivité en accédant à la console CloudWatch Application Insights et en consultant le tableau de bord des problèmes de SAP NetWeaver Application Insights. Sélectionnez le lien sous **Problem summary** (Résumé du problème) pour voir le problème spécifique.

![\[Tableau de bord des problèmes dans CloudWatch Application Insights avec plus d'informations dans la section Récapitulatif des problèmes.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-problem-dashboard.png)


Dans l'exemple suivant, sous **Problem summary** (Résumé du problème), la réplication High Availability Enqueue est le problème.

![\[Résumé du problème dans CloudWatch Application Insights with SAP Availability : erreur de réplication de file d'attente répertoriée.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-1.png)


Immédiatement après **Problem summary** (Résumé du problème), la section **Insight** (Information) fournit plus de contexte sur l'erreur et indique où vous pouvez obtenir plus d'informations sur les causes du problème.

![\[Informations sur les problèmes pour CloudWatch Application Insights avec des informations supplémentaires sur la cause de l'erreur.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-2.png)


L'exemple suivant montre le tableau de bord du problème où vous visualisez des journaux et des métriques qui sont regroupés pour vous aider à isoler les causes de l'erreur. La métrique `sap_enqueue_server_replication_state` suit la valeur dans le temps. Vous pouvez utiliser le suivi historique pour établir une corrélation entre le moment où la métrique a déclenché un état d'erreur ou a franchi le seuil d'alarme.

![\[La métrique de l'état de réplication du serveur de file d'attente sur le tableau de bord des problèmes avec des informations supplémentaires sur le moment où l'erreur s'est produite.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-3.png)


Dans l'exemple suivant, la métrique `ha_cluster_pacemaker_fail_count` montre que le cluster pacemaker haute disponibilité a connu une défaillance de ressource. Les ressources spécifiques du pacemaker qui ont eu un nombre d'échecs supérieur ou égal à un sont identifiées dans le tableau de bord des composants.

![\[Mesure de disponibilité des CloudWatch applications pour Application Insights for Pacemaker Resource avec un nombre d'échecs supérieur ou égal à un.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-4.png)


L'exemple suivant montre la métrique `sap_alerts_Shortdumps`, qui indique que les performances de l'application SAP étaient réduites lorsque le problème a été détecté.

![\[Alerte de disponibilité des applications, métrique Shortdumps pour CloudWatch Application Insights.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-5.png)


#### Journaux
<a name="ai-sap-netweaver-logs"></a>

Les entrées du journal sont utiles pour mieux comprendre les problèmes survenus au niveau de la NetWeaver couche SAP lorsque le problème a été détecté. Le widget du groupe de journaux dans le tableau de bord des problèmes indique le moment précis du problème.

![\[Entrées de journal pour CloudWatch Application Insights indiquant l'heure exacte à laquelle les problèmes sont survenus.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-7.png)


Pour afficher des informations détaillées sur les journaux, sélectionnez les trois points verticaux dans le coin supérieur droit, puis sélectionnez **Afficher dans CloudWatch Logs** Insights.

![\[CloudWatch Informations détaillées sur les applications avec View in CloudWatch Logs Insights.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-8.png)


Suivez les étapes suivantes pour obtenir plus d'informations sur les métriques et les alarmes affichées dans le tableau de bord du problème.

**Pour obtenir plus d'informations sur les métriques et les alarmes**

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

1. Dans le panneau de navigation de gauche, sélectionnez **Application Insights** sous **Insights**. Ensuite, choisissez l'onglet **List view** (Vue en liste), puis sélectionnez votre application.

1. Sélectionnez l'onglet **Components** (Composants). Sélectionnez ensuite le NetWeaver composant SAP sur lequel vous souhaitez obtenir plus d'informations.

   L'exemple suivant montre la section **HA Metrics** (Métriques HA) avec la métrique `ha_cluster_pacemaker_fail_count` qui a été affichée dans le tableau de bord du problème.  
![\[HA Metrics for CloudWatch Application Insights indiquant que les ressources du stimulateur cardiaque ne sont pas comptabilisées.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-9.png)

**Résolution**  
Application Insights surveille le problème détecté toutes les heures. S'il n'y a aucune nouvelle entrée de journal associée dans vos fichiers NetWeaver journaux SAP, les anciennes entrées de journal seront considérées comme résolues. Vous devez corriger toutes les conditions d'erreur liées à ce problème.

Pour l'`sap_alerts_Shortdumps`alarme, vous devez résoudre l'alerte dans le NetWeaver système SAP en utilisant le code de transaction `RZ20 → R3Abap → Shortdumps` pour accéder à l'alerte CCMS. Pour plus d'informations sur les alertes CCMS, consultez le [site Web de SAP](https://help.sap.com/docs/SAP_NETWEAVER_701/6f45651d6c4b1014a50f9ef0fc8df39d/408dc4a7c415437a9b91d2ef6caa9d7d.html) (français non garanti). Résoudre toutes les alertes CCMS dans l'arborescence Shortdumps. Une fois que toutes les alertes ont été résolues dans le NetWeaver système SAP, la métrique CloudWatch n'est plus signalée en état d'alarme.

Lorsque toutes les erreurs du CloudWatch journal et les alarmes sont résolues, Application Insights cesse de détecter les erreurs et le problème est automatiquement résolu en moins d'une heure. Nous vous recommandons de résoudre toutes les conditions d'erreurs de journal et les alarmes afin de disposer des derniers problèmes sur le tableau de bord des problèmes. Dans l'exemple suivant, le problème de SAP Netweaver High Availability Enqueue Replication est résolu.

![\[Tableau de bord des problèmes pour CloudWatch Application Insights indiquant le problème de disponibilité de SAP : réplication des files d'attente dont le statut est résolu.\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/images/appinsights-nw-app-availability-problem-resolved.png)


## Résolution des problèmes liés aux applications pour SAP NetWeaver
<a name="appinsights-tutorial-sap-netweaver-troubleshooting-health-dashboard"></a>

Cette section fournit des étapes pour vous aider à résoudre les erreurs courantes renvoyées par le tableau de bord Application Insights.

### Impossible d'ajouter plus de 60 métriques de moniteur
<a name="ai-unable-add-monitor-metrics"></a>

**Erreur renvoyée** :`Component cannot have more than 60 monitored metrics.`

**Cause profonde** :`The current metric limit is 60 monitor metrics per component.`

**Résolution** : supprimez les métriques qui ne sont pas nécessaires pour respecter la limite.

### Les métriques de SAP n'apparaissent pas sur le tableau de bord après le processus d'intégration
<a name="sap-metrics-not-on-dashboard"></a>

**Cause principale** : le tableau de bord des composants utilise une période métrique de cinq minutes pour agréger les points de données.

**Résolution** : toutes les métriques devraient apparaître sur le tableau de bord au bout de cinq minutes.

### Les métriques et les alarmes de SAP n'apparaissent pas sur le tableau de bord
<a name="sap-metrics-and-alarms-not-on-dashboard"></a>

Suivez les étapes suivantes pour identifier pourquoi les métriques et les alarmes de SAP n'apparaissent pas sur le tableau de bord après le processus d'intégration. 

**Pour identifier le problème des métriques et des alarmes**

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

1. Dans le panneau de navigation de gauche, sélectionnez **Application Insights** sous **Insights**. Ensuite, choisissez l'onglet **List view** (Vue en liste), puis sélectionnez votre application.

1. Choisissez l'onglet **Configuration history** (Historique de configuration).

1. Si vous voyez des points de données de métriques manquants, vérifiez les erreurs liées à `prometheus-sap_host_exporter`.

1. Si vous ne trouvez pas d'erreur à l'étape précédente, [connectez-vous à votre instance Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html). Pour les déploiements de haute disponibilité, connectez-vous à l' EC2 instance Amazon du cluster principal.

1. Dans votre instance, vérifiez que l'exportateur est en cours d'exécution à l'aide de la commande suivante. La valeur par défaut du port est `9680`. Si vous utilisez un autre port, remplacez `9680` par le port que vous utilisez.

   ```
   curl localhost:9680/metrics
   ```

   Si aucune donnée n'est renvoyée, l'exportateur n'a pas pu démarrer.

1. Pour trouver la convention de dénomination correcte à utiliser `WORKLOAD_SHORT_NAME` dans les deux étapes suivantes, exécutez la commande suivante.
**Note**  
Application Insights ajoute un suffixe`WORKLOAD_SHORT_NAME`, au nom du service en fonction de la charge de travail en cours d'exécution. Les noms abrégés des déploiements NetWeaver distribués, standard et haute disponibilité sont `SAP_NWD``SAP_NWS`, et`SAP_NWH`.

   ```
   sudo systemctl | grep exporter
   ```

1. Pour vérifier l'absence d'erreurs dans les journaux de service de l'exportateur, exécutez la commande suivante :

   ```
   sudo journalctl -e --unit=prometheus-sap_host_exporter_WORKLOAD_SHORT_NAME.service
   ```

1. Pour vérifier l'absence d'erreurs dans les journaux de service du gestionnaire d'exportation, exécutez la commande suivante :

   ```
   sudo journalctl -e --unit=prometheus-sap_host_exporter_manager_WORKLOAD_SHORT_NAME.service
   ```
**Note**  
Ce service doit être opérationnel à tout moment.

   Si cette commande ne renvoie aucune erreur, passez à l'étape suivante.

1. Pour démarrer manuellement l'exportateur, exécutez la commande suivante. Vérifiez ensuite la sortie de l'exportateur.

   ```
   sudo /opt/aws/sap_host_exporter/sap_host_exporter
   ```

   Vous pouvez quitter le processus d'exportation après avoir vérifié l'absence d'erreurs.

**Cause racine** : plusieurs causes possibles peuvent entraîner ce problème. Une cause commune est que l'exportateur ne peut pas se connecter à l'une des instances du serveur d'application.

**Résolution**

Suivez les étapes suivantes pour connecter l'exportateur aux instances du serveur d'application. Vous allez vérifier que l'instance d'application SAP est en cours d'exécution et qu'elle est utilisée SAPControl pour vous connecter à l'instance.

**Pour connecter l'exportateur aux instances de serveur d'application**

1. Dans votre EC2 instance Amazon, exécutez la commande suivante pour vérifier que l'application SAP est en cours d'exécution. 

   ```
   sapcontrol -nr <App_InstNo> -function GetProcessList
   ```

1. Vous devez établir une SAPControl connexion fonctionnelle. Si la SAPControl connexion ne fonctionne pas, trouvez la cause première du problème sur l'instance d'application SAP appropriée.

1. Pour démarrer manuellement l'exportateur après avoir résolu le problème de connexion SAPControl, exécutez la commande suivante :

   ```
   sudo systemctl start prometheus-sap_host_exporter.service
   ```

1. Si vous ne parvenez pas à résoudre le problème de SAPControl connexion, appliquez la procédure suivante comme solution temporaire. 

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

   1. Dans le volet de navigation de gauche, choisissez **State Manager** (Gestionnaire d'états).

   1. Dans **Associations**, recherchez l'association du NetWeaver système SAP.

      ```
      Association Name: Equal: AWS-ApplicationInsights-SSMSAPHostExporterAssociationForCUSTOMSAPNW<SID>-1
      ```

   1. Sélectionnez le **Association id** (Identifiant de l'association).

   1. Cliquez sur l'onglet **Parameters** (Paramètres) et supprimez le numéro du serveur d'applications dans **additionalArguments**.

   1. Choisissez **Apply Association Now** (Appliquer l'association maintenant).
**Note**  
Il s'agit d'une solution temporaire. Si des mises à jour sont apportées aux configurations de surveillance du composant, l'instance sera de nouveau ajoutée.

# Afficher et résoudre les problèmes détectés par Amazon CloudWatch Application Insights
<a name="appinsights-troubleshooting"></a>

Les rubriques de cette section donnent des informations détaillées sur les problèmes détectés et les informations affichées par Application Insights. Elle présente également des solutions suggérées pour les problèmes détectés concernant votre compte ou votre configuration.

**Topics**
+ [CloudWatch présentation de la console](#appinsights-troubleshooting-overview)
+ [Page récapitulative des problèmes d'Application Insights](#appinsights-troubleshooting-problem-summary)
+ [CloudWatch échecs liés à un conflit de fusion d'agents](#cwagent-merge-conflicts)
+ [Utilisation élevée du processeur due au traitement des journaux des CloudWatch agents](#cwagent-high-cpu-usage)
+ [Les alertes ne sont pas créées](#alarms-not-created)
+ [Commentaires](#appinsights-troubleshooting-feedback)
+ [Erreurs de configuration](#appinsights-configuration-errors)

## CloudWatch présentation de la console
<a name="appinsights-troubleshooting-overview"></a>

Vous trouverez un aperçu des problèmes qui ont un impact sur vos applications surveillées dans le volet CloudWatch Application Insights de la page d'aperçu de la [CloudWatch console](https://console.aws.amazon.com/cloudwatch).

Le volet de présentation d' CloudWatch Application Insights affiche les informations suivantes :
+ La gravité des problèmes détectés : High/Medium/Low
+ Un bref résumé du problème
+ La source du problème
+ L'heure à laquelle le problème a commencé
+ L'état de résolution du problème
+ Le Resource Group affecté

Pour consulter les détails d'un problème spécifique, sous **Problem Summary (Résumé du problème)**, sélectionnez la description du problème. Un tableau de bord détaillé affiche les analyses du problème, les anomalies de métriques connexes et des extraits d'erreurs de journal. Vous pouvez fournir des commentaires sur la pertinence de l'analyse en indiquant si elle est utile ou non.

Si une nouvelle ressource non configurée est détectée, le résumé du problème vous permet d'accéder à l'assistant **Edit configuration (Modifier la configuration)** pour configurer votre nouvelle ressource. Vous pouvez afficher ou modifier la configuration de votre Resource Group en sélectionnant **View/edit configuration (Afficher/modifier la configuration)** dans le coin supérieur droit du tableau de bord détaillé.

Pour revenir à l'aperçu, choisissez **Retour à l'aperçu**, qui se trouve à côté de l'en-tête détaillé du tableau de bord CloudWatch Application Insights.

## Page récapitulative des problèmes d'Application Insights
<a name="appinsights-troubleshooting-problem-summary"></a>

**Page récapitulative des problèmes d'Application Insights**  
CloudWatch Application Insights fournit les informations suivantes sur les problèmes détectés sur la page récapitulative des problèmes :
+ Un bref résumé du problème
+ La date et l’heure de début du problème
+ La gravité du problème : High/Medium/Low
+ Le statut du problème détecté : In‐progress/Resolved (En cours/Résolu)
+ Analyses : génération automatique d’analyses concernant le problème détecté et sa possible cause
+ Commentaires sur les informations : commentaires que vous avez fournis sur l'utilité des informations générées par CloudWatch Application Insights
+ Observations connexes : une vue détaillée des anomalies métriques et des extraits pertinents de journaux d’erreurs liés au problème, parmi différents composants d’application

## CloudWatch échecs liés à un conflit de fusion d'agents
<a name="cwagent-merge-conflicts"></a>

CloudWatch Application Insights installe et configure l' CloudWatch agent sur les instances du client. Cela inclut la création d'un fichier de configuration d' CloudWatch agent avec des configurations pour les métriques ou les journaux. Un conflit de fusion peut survenir si l'instance d'un client possède déjà un fichier de configuration d' CloudWatch agent avec différentes configurations définies pour les mêmes métriques ou journaux. Pour résoudre le conflit de fusion, procédez comme suit :

1. Identifiez les fichiers de configuration de l' CloudWatch agent sur votre système. Pour plus d'informations sur les emplacements de fichiers, consultez [CloudWatch fichiers et emplacements des agents](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-files-and-locations).

1. Supprimez les configurations de ressources que vous souhaitez utiliser dans Application Insights du fichier de configuration de l' CloudWatch agent existant. Si vous souhaitez utiliser uniquement les configurations Application Insights, supprimez les fichiers de configuration de CloudWatch l'agent existants.

## Utilisation élevée du processeur due au traitement des journaux des CloudWatch agents
<a name="cwagent-high-cpu-usage"></a>

CloudWatch Application Insights installe et configure l' CloudWatch agent sur les instances du client. Si une instance Amazon EC2 est configurée avec des chemins de journal contenant de grandes quantités de données de journal, l'instance peut connaître une augmentation de l'utilisation du processeur pendant que l' CloudWatch agent traite les journaux. Pour réduire l’utilisation du processeur, supprimez le chemin de journal dans la [Configuration des composants de l’instance Amazon EC2](component-configuration-examples-ec2.md).

## Les alertes ne sont pas créées
<a name="alarms-not-created"></a>

Pour certaines métriques, Application Insights prédit le seuil d'alerte en fonction des points de données précédents pour la métrique. Pour activer cette prédiction, les critères suivants doivent être remplis.
+ **Points de données récents** – Il doit y avoir au moins 100 points de données datant des dernières 24 heures. Les points de données n'ont pas besoin d'être continus et peuvent être répartis sur une période de 24 heures. 
+ **Données historiques** – Il doit y avoir au moins 100 points de données couvrant la période comprise entre 15 jours avant la date actuelle et 1 jour avant la date actuelle. Les points de données n'ont pas besoin d'être continus et peuvent être répartis sur une période de 15 jours. 

**Note**  
Pour certaines métriques, Application Insights retarde la création d'alertes jusqu'à ce que les conditions précédentes soient remplies. Dans ce cas, vous obtenez un événement d'historique de configuration indiquant que la métrique ne dispose pas de suffisamment de points de données pour établir le seuil d'alerte.

## Commentaires
<a name="appinsights-troubleshooting-feedback"></a>

**Commentaires**

Vous pouvez fournir des commentaires sur les analyses générées automatiquement afférentes aux problèmes détectés en les qualifiant d'utiles ou d'inutiles. Les commentaires que vous laissez sur les analyses, ainsi que vos diagnostics d'application (anomalies métriques et exceptions de journaux) sont utilisés pour améliorer les futures détections de problèmes similaires.

## Erreurs de configuration
<a name="appinsights-configuration-errors"></a>

CloudWatch Application Insights utilise votre configuration pour créer des télémétries de surveillance pour les composants. Quand Application Insights détecte un problème avec votre compte ou votre configuration, des informations sur la façon de résoudre le problème de configuration de votre application sont fournies dans le champ **Remarks (Remarques)** du résumé de l'application. 

Le tableau suivant montre les solutions suggérées pour les remarques spécifiques.


| Remarques | Solutions suggérées | Informations complémentaires  | 
| --- | --- | --- | 
|  Le quota pour CloudFormation a déjà été atteint.  |  Application Insights crée une CloudFormation pile pour chaque application afin de gérer l'installation et la configuration des CloudWatch agents pour tous les composants de l'application. Par défaut, chaque AWS compte peut avoir 2 000 piles. Consultez la section [Limites CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html). Pour résoudre ce problème, augmentez la limite des CloudFormation piles.  | N/A | 
|  Aucun rôle d'instance SSM sur les instances suivantes.  |  Pour qu'Application Insights puisse installer et configurer l' CloudWatch agent sur les instances d'application, Amazon SSMManaged InstanceCore et CloudWatchAgentServerPolicy les politiques doivent être associés au rôle d'instance.   |  Application Insights appelle l'[DescribeInstanceInformation API](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeInstanceInformation.html) SSM pour obtenir la liste des instances disposant d'une autorisation SSM. Une fois le rôle attaché à l'instance, SSM met du temps à inclure l'instance dans le DescribeInstanceInformation résultat. Jusqu'à ce que le SSM inclue l'instance dans le résultat, l'erreur NO\$1SSM\$1INSTANCE\$1ROLE reste présente pour l'application.  | 
|  De nouveaux composants peuvent avoir besoin d'être configurés.  |  Application Insights détecte qu'il existe de nouveaux composants dans le Resource Group de l'application. Pour résoudre ce problème, configurez les nouveaux composants en conséquence.  | N/A | 

# Logs et statistiques pris en charge par Amazon CloudWatch Application Insights
<a name="appinsights-logs-and-metrics"></a>

Les listes suivantes indiquent les journaux et les métriques pris en charge pour Amazon CloudWatch Application Insights. 

**CloudWatch Application Insights prend en charge les journaux suivants :**
+ Journaux Microsoft Internet Information Services (IIS)
+ Journaux d'erreurs pour SQL Server sur EC2
+ Journaux d'applications .NET personnalisés, comme Log4Net
+ Journaux d'événements Windows, y compris les journaux Windows (système, application et sécurité) et le journal des applications et services
+ Amazon CloudWatch Logs pour AWS Lambda
+ Journal des erreurs et journal lent pour RDS MySQL Aurora MySQL et MySQL sur EC2
+ Journal PostgreSQL pour PostgreSQL RDS et PostgreSQL sur EC2
+ Amazon CloudWatch Logs pour AWS Step Functions
+ Journaux d'exécution et journaux d'accès (JSON, CSV et XML, mais pas CLF) pour les étapes d'API REST API Gateway
+ Journaux Prometheus JMX Exporter (EMF)
+ Journaux d'alerte et journaux d'écoute pour Oracle sur Amazon RDS et Oracle sur Amazon EC2
+ Le conteneur enregistre le routage depuis les conteneurs Amazon ECS vers le pilote de journal à CloudWatch l'aide [du pilote de `awslogs` journal](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html).
+ Le conteneur enregistre le routage depuis les conteneurs Amazon ECS vers CloudWatch un [routeur de journaux de FireLens conteneurs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).
+ Routage des journaux de conteneurs depuis Amazon EKS ou Kubernetes s'exécutant sur Amazon EC2 vers le processeur de journaux [Fluent Bit ou Fluentd CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-EKS-logs.html) avec Container Insights.
+ Journaux de suivi et d'erreurs SAP HANA
+ Journaux de Pacemaker HA
+ Journaux du serveur SAP ASE
+ Journaux du serveur de sauvegarde SAP ASE
+ Journaux du serveur de réplication SAP ASE
+ Journaux de l'agent RMA SAP ASE
+ Journaux du SAP ASE Fault Manager
+ Journaux de suivi des NetWeaver développeurs SAP
+ Métriques de processus pour les processus Windows utilisant le [plugin proctstat](CloudWatch-Agent-procstat-process-metrics.md) pour agent CloudWatch 
+ Journaux de requêtes DNS publics pour la zone hébergée
+ Amazon Route 53 Resolver Journaux de requêtes DNS

**CloudWatch Application Insights prend en charge les classes de journaux suivantes :**
+ **Standard** — Amazon CloudWatch Application Insights exige que les groupes de journaux soient configurés avec la [classe de CloudWatch journaux Logs Standard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html) pour permettre la surveillance.

**Contents**
+ [Amazon Elastic Compute Cloud (EC2)](appinsights-metrics-ec2.md)
  + [CloudWatch métriques intégrées](appinsights-metrics-ec2.md#appinsights-metrics-ec2-built-in)
  + [CloudWatch métriques relatives aux agents (serveur Windows)](appinsights-metrics-ec2.md#appinsights-metrics-ec2-windows)
  + [CloudWatch métriques du processus de l'agent (serveur Windows)](appinsights-metrics-ec2.md#appinsights-metrics-procstat-ec2-windows)
  + [CloudWatch métriques de l'agent (serveur Linux)](appinsights-metrics-ec2.md#appinsights-metrics-ec2-linux)
+ [Elastic Block Store (EBS)](appinsights-metrics-ebs.md)
+ [Amazon Elastic File System (Amazon EFS)](appinsights-metrics-efs.md)
+ [Elastic Load Balancer (ELB)](appinsights-metrics-elb.md)
+ [Application ELB](appinsights-metrics-app-elb.md)
+ [Groupes Amazon EC2 Auto Scaling](appinsights-metrics-as.md)
+ [Amazon Simple Queue Server (SQS)](appinsights-metrics-sqs.md)
+ [Amazon Relational Database Service (RDS)](appinsights-metrics-rds.md)
  + [Instances base de données RDS](appinsights-metrics-rds.md#appinsights-metrics-rds-instances)
  + [Clusters base de données RDS](appinsights-metrics-rds.md#appinsights-metrics-rds-clusters)
+ [AWS Lambda fonction](appinsights-metrics-lambda.md)
+ [Table Amazon DynamoDB](appinsights-metrics-dyanamodb.md)
+ [Compartiment Amazon S3](appinsights-metrics-s3.md)
+ [AWS Step Functions](appinsights-metrics-step-functions.md)
  + [Niveau exécution](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-execution)
  + [Activité](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-activity)
  + [Fonction Lambda](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-lambda)
  + [Intégration de service](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-service-integration)
  + [Step Functions API](appinsights-metrics-step-functions.md#appinsights-metrics-step-functions-api)
+ [Étapes d'API REST API Gateway d'API](appinsights-metrics-api-gateway.md)
+ [SAP HANA](appinsights-metrics-sap-hana.md)
+ [SAP ASE](appinsights-metrics-sap-ase.md)
+ [Haute disponibilité SAP ASE sur Amazon EC2](appinsights-metrics-sap-ase-ha.md)
+ [SAP NetWeaver](appinsights-metrics-sap-netweaver.md)
+ [Cluster HA](appinsights-metrics-ha-cluster.md)
+ [Java](appinsights-metrics-java.md)
+ [Amazon Elastic Container Service (Amazon ECS)](appinsights-metrics-ecs.md)
  + [CloudWatch métriques intégrées](appinsights-metrics-ecs.md#appinsights-metrics-ecs-built-in-metrics)
  + [Métriques Container Insights](appinsights-metrics-ecs.md#appinsights-metrics-ecs-container-insights-metrics)
  + [Métriques Prometheus Container Insights](appinsights-metrics-ecs.md#appinsights-metrics-ecs-container-insights-prometheus)
+ [Kubernetes activé AWS](appinsights-metrics-kubernetes.md)
  + [Métriques Container Insights](appinsights-metrics-kubernetes.md#appinsights-metrics-kubernetes-container-insights-metrics)
  + [Métriques Prometheus Container Insights](appinsights-metrics-kubernetes.md#appinsights-metrics-kubernetes-container-insights-prometheus)
+ [Amazon FSx](appinsights-metrics-fsx.md)
+ [Amazon VPC](appinsights-metrics-vpc.md)
+ [Passerelles NAT Amazon VPC](appinsights-metrics-nat-gateways.md)
+ [Surveillance de l'état Amazon Route 53](appinsights-metrics-health-check.md)
+ [Zone hébergée Amazon Route 53](appinsights-metrics-hosted-zone.md)
+ [Amazon Route 53 Resolver point de terminaison](appinsights-metrics-resolver-endpoint.md)
+ [AWS Network Firewall groupe de règles](appinsights-metrics-firewall-rule-group.md)
+ [AWS Network Firewall association de groupes de règles](appinsights-metrics-firewall-rule-group-assoc.md)
+ [Métriques avec exigences aux points de données](appinsights-metrics-datapoint-requirements.md)
  + [AWS/ApplicationELB](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-app-elb)
  + [AW/ AutoScaling](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-autoscaling)
  + [AWS/EC2](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-ec2)
  + [Elastic Block Store (EBS)](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-ebs)
  + [AWS/ELB](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-elb)
  + [AWS/RDS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-rds)
  + [AWS/Lambda](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-lambda)
  + [AWS/SQS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-sqs)
  + [AW/ CWAgent](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-cwagent)
  + [AWS/DynamoDB](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-dynamo)
  + [AWS/S3](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-s3)
  + [AWS/States](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-states)
  + [AW/ ApiGateway](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-api-gateway)
  + [AWS/SNS](appinsights-metrics-datapoint-requirements.md#appinsights-metrics-datapoint-requirements-sns)
+ [Métriques recommandées](application-insights-recommended-metrics.md)
+ [Métriques du compteur de performances](application-insights-performance-counter.md)

# Amazon Elastic Compute Cloud (EC2)
<a name="appinsights-metrics-ec2"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

**Topics**
+ [CloudWatch métriques intégrées](#appinsights-metrics-ec2-built-in)
+ [CloudWatch métriques relatives aux agents (serveur Windows)](#appinsights-metrics-ec2-windows)
+ [CloudWatch métriques du processus de l'agent (serveur Windows)](#appinsights-metrics-procstat-ec2-windows)
+ [CloudWatch métriques de l'agent (serveur Linux)](#appinsights-metrics-ec2-linux)

## CloudWatch métriques intégrées
<a name="appinsights-metrics-ec2-built-in"></a>

CPUCreditÉquilibre

CPUCreditUsage

CPUSurplusCreditBalance

CPUSurplusCreditsCharged

CPUUtilization

DiskReadBytes

DiskReadOps

DiskWriteBytes

DiskWriteOps

EBSByteSolde %

EBSIOBalance%

EBSReadOctets

EBSReadOps

EBSWriteOctets

EBSWriteOps

NetworkIn

NetworkOut

NetworkPacketsIn

NetworkPacketsOut

StatusCheckFailed

StatusCheckFailed\$1Instance

StatusCheckFailed\$1Système

## CloudWatch métriques relatives aux agents (serveur Windows)
<a name="appinsights-metrics-ec2-windows"></a>

Exceptions CLR .NET Nombre d'exceptions émises

Exceptions CLR .NET Nombre d'exceptions émises/s

Exceptions CLR .NET Nombre de filtres/s

Exceptions CLR .NET Nombre de finalements/s

Exceptions CLR .NET Lancer pour capter la profondeur/s

.NET CLR Interop \$1 de CCWs

Interop CLR .NET Nombre de talons

Interop CLR .NET Nombre d'exportations TLB/s

Interop CLR .NET Nombre d'importations TLB/s

Interop CLR .NET Nombre de regroupements

Jit CLR .NET % temps en juste-à-temps

Jit CLR .NET Échecs juste-à-temps standard

Chargement CLR .NET % temps de chargement

Chargement CLR .NET Taux des échecs de chargement

Taux de LocksAndThreads contention du CLR .NET par seconde

Longueur de la file d' LocksAndThreads attente .NET CLR/sec

Mémoire CLR .NET \$1 Nombre total d'octets engagés

Mémoire CLR .NET % de temps en GC

.NET CLR Networking 4.0.0.0 HttpWebRequest Temps d'attente moyen

Mise en réseau .NET CLR HttpWebRequests 4.0.0.0 abandonnée par seconde

Le réseau .NET CLR HttpWebRequests 4.0.0.0 a échoué/sec

Réseau .NET CLR HttpWebRequests 4.0.0.0 en file d'attente/sec

APP\$1POOL\$1WAS Total des échecs de ping de processus de travail

L'application ASP.NET redémarre

Applications ASP.NET Temps de traitement en % du processeur géré (estimé)

Applications ASP.NET Total erreurs/s

Applications ASP.NET Erreurs non traitées pendant l'exécution/s

Applications ASP.NET Demandes en file d'attente d'application

Applications ASP.NET Demandes/s

Temps d'attente de la demande ASP.NET

Demandes ASP.NET en file d'attente

Files d'attente de service HTTP CurrentQueueSize

LogicalDisk % d'espace libre

% d'octets validés de mémoire en cours d'utilisation

Mo de mémoire disponible

Pages mémoire/s

Total octets interface réseau/sec

Utilisation en % du fichier de pagination

PhysicalDisk % de temps sur le disque

PhysicalDisk Moyenne. Longueur de la file d'attente de disque

PhysicalDisk Moyenne. Disk sec/Read (Lecture/s sur disque)

PhysicalDisk Moyenne. Disk Write/sec (Écriture/s sur disque)

PhysicalDisk Octets lus sur disque par seconde

PhysicalDisk Lectures sur disque par seconde

PhysicalDisk Octets d'écriture sur disque par seconde

PhysicalDisk Nombre d'écritures sur disque par seconde

Temps d'inactivité en % du processeur

Durée d'interruption en % du processeur

Temps de traitement en % du processeur

Temps utilisateur en % du processeur

SQLServer:Méthodes d'accès : enregistrements transférés par seconde

SQLServer:Méthodes d'accès Analyses complètes/sec

SQLServer:Méthodes d'accès, pages fractionnées par seconde

SQLServer:Buffer Manager Taux de réussite du cache tampon

SQLServer:Durée de vie de la page Buffer Manager

SQLServer:Statistiques générales Processus bloqués

SQLServer:Statistiques générales Connexions utilisateur

SQLServer:Temps d'attente moyen pour les verrous (ms)

SQLServer:Temps d'attente moyen des verrous (ms)

SQLServer:Verrouillage, délais de verrouillage/sec

SQLServer:Locks Lock Watts/sec

SQLServer:Nombre de blocages : nombre de blocages par seconde

SQLServer:Memory Manager : subventions de mémoire en attente

SQLServer:SQL Statistics Batch Requests/sec

SQLServer:Statistiques SQL Compilations SQL/sec

SQLServer:Statistiques SQL Re-compilations SQL/sec

Longueur de la file d'attente du processeur système

TCPv4 Connexions établies

TCPv6 Connexions établies

W3SVC\$1W3WP Vidages du cache de fichiers

W3SVC\$1W3WP Échecs du cache de fichiers

W3SVC\$1W3WP Demandes/s

W3SVC\$1W3WP Vidages de cache d'URI

W3SVC\$1W3WP Échecs de cache d'URI

Service Web Octets reçus/s

Service Web Octets envoyés/s

Tentatives/s de connexion au service Web

Service Web Connexions actuelles

Service Web Obtenir des requêtes/s

Service Web Demandes de publication/s

Octets reçus/s

Longueur de la file d'attente des messages normaux/s

Longueur de la file d'attente de message urgent/s

Nombre de reconnexion

Longueur de la file d'attente de message non reconnu/s

Messages en attente

Messages envoyés/s

Messages de mise à jour de la base de données/s

Messages de mise à jour/sec

Vidanges/s

Points de contrôle crypto enregistrés/s

Points de contrôle crypto restaurés/s

Points de contrôle du registre restaurés/s

Points de contrôle du registre enregistrés/s

Appels d'API de cluster/s

Appels d'API de ressource/s

Descripteurs de cluster/s

Descripteurs de ressource/s

## CloudWatch métriques du processus de l'agent (serveur Windows)
<a name="appinsights-metrics-procstat-ec2-windows"></a>

Les métriques de processus sont collectées à l'aide du [plugin CloudWatch agent procstat](CloudWatch-Agent-procstat-process-metrics.md). Seules les instances Amazon EC2 exécutant des charges de travail Windows prennent en charge les métriques de processus.

procstat cpu\$1time\$1system

procstat cpu\$1time\$1user

procstat cpu\$1usage

procstat memory\$1rss

procstat memory\$1vms

procstat read\$1bytes

procstat write\$1bytes

.procstat read\$1count

procstat write\$1count

## CloudWatch métriques de l'agent (serveur Linux)
<a name="appinsights-metrics-ec2-linux"></a>

cpu\$1time\$1active

cpu\$1time\$1guest

cpu\$1time\$1guest\$1nice

cpu\$1time\$1idle

cpu\$1time\$1iowait

cpu\$1time\$1irq

cpu\$1time\$1nice

cpu\$1time\$1softirq

cpu\$1time\$1steal

cpu\$1time\$1system

cpu\$1time\$1user

cpu\$1usage\$1active

cpu\$1usage\$1guest

cpu\$1usage\$1guest\$1nice

cpu\$1usage\$1idle

cpu\$1usage\$1iowait

cpu\$1usage\$1irq

cpu\$1usage\$1nice

cpu\$1usage\$1softirq

cpu\$1usage\$1steal

cpu\$1usage\$1system

cpu\$1usage\$1user

disk\$1free

disk\$1inodes\$1free

disk\$1inodes\$1used

disk\$1used

disk\$1used\$1percent

diskio\$1io\$1time

diskio\$1iops\$1in\$1progress

diskio\$1read\$1bytes

diskio\$1read\$1time

diskio\$1reads

diskio\$1write\$1bytes

diskio\$1write\$1time

diskio\$1writes

mem\$1active

mem\$1available

mem\$1available\$1percent

mem\$1buffered

mem\$1cached

mem\$1free

mem\$1inactive

mem\$1used

mem\$1used\$1percent

net\$1bytes\$1recv

net\$1bytes\$1sent

net\$1drop\$1in

net\$1drop\$1out

net\$1err\$1in

net\$1err\$1out

net\$1packets\$1recv

net\$1packets\$1sent

netstat\$1tcp\$1close

netstat\$1tcp\$1close\$1wait

netstat\$1tcp\$1closing

netstat\$1tcp\$1established

netstat\$1tcp\$1fin\$1wait1

netstat\$1tcp\$1fin\$1wait2

netstat\$1tcp\$1last\$1ack

netstat\$1tcp\$1listen

netstat\$1tcp\$1none

netstat\$1tcp\$1syn\$1recv

netstat\$1tcp\$1syn\$1sent

netstat\$1tcp\$1time\$1wait

netstat\$1udp\$1socket

processes\$1blocked

processes\$1dead

processes\$1idle

processes\$1paging

processes\$1running

processes\$1sleeping

processes\$1stopped

processes\$1total

processes\$1total\$1threads

processes\$1wait

processes\$1zombies

swap\$1free

swap\$1used

swap\$1used\$1percent

# Elastic Block Store (EBS)
<a name="appinsights-metrics-ebs"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

VolumeReadBytes

VolumeWriteBytes

VolumeReadOps

VolumeWriteOps

VolumeTotalReadTime 

VolumeTotalWriteTime 

VolumeIdleTime

VolumeQueueLength

VolumeThroughputPercentage

VolumeConsumedReadWriteOps

BurstBalance

# Amazon Elastic File System (Amazon EFS)
<a name="appinsights-metrics-efs"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

BurstCreditBalance

Pourcentage IOLimit

PermittedThroughput

Mesuré IOBytes

Total IOBytes

DataWriteIOBytes

DataReadIOBytes

Métadonnées IOBytes

ClientConnections

TimeSinceLastSync

StorageBytes

Débit

PercentageOfPermittedThroughputUtilization

ThroughputIOPS

 PercentThroughputDataReadIOByte

PercentThroughputDataWriteIOBytes

PercentageOfIOPSDataLectureIOBytes

PercentageOfIOPSDataWriteIOBytes (Écrire)

AverageDataReadIOBytesTaille

AverageDataWriteIOBytesTaille

# Elastic Load Balancer (ELB)
<a name="appinsights-metrics-elb"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

Estimé ALBActive ConnectionCount

Estimé ALBConsumed LCUs

Estimé ALBNew ConnectionCount

EstimatedProcessedBytes

HTTPCode\$1Backend\$14xx

HTTPCode\$1Backend\$15xx

HealthyHostCount

RequestCount

UnHealthyHostCount

# Application ELB
<a name="appinsights-metrics-app-elb"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

Estimé ALBActive ConnectionCount

Estimé ALBConsumed LCUs

Estimé ALBNew ConnectionCount

EstimatedProcessedBytes

HTTPCode\$1Backend\$14xx

HTTPCode\$1Backend\$15xx

HealthyHostCount

Latence

RequestCount

SurgeQueueLength

UnHealthyHostCount

# Groupes Amazon EC2 Auto Scaling
<a name="appinsights-metrics-as"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

CPUCreditÉquilibre

CPUCreditUsage

CPUSurplusCreditBalance

CPUSurplusCreditsCharged

CPUUtilization

DiskReadBytes

DiskReadOps

DiskWriteBytes

DiskWriteOps

EBSByteSolde %

EBSIOBalance%

EBSReadOctets

EBSReadOps

EBSWriteOctets

EBSWriteOps

NetworkIn

NetworkOut

NetworkPacketsIn

NetworkPacketsOut

StatusCheckFailed

StatusCheckFailed\$1Instance

StatusCheckFailed\$1Système

# Amazon Simple Queue Server (SQS)
<a name="appinsights-metrics-sqs"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

ApproximateAgeOfOldestMessage

ApproximateNumberOfMessagesDelayed

ApproximateNumberOfMessagesNotVisible

ApproximateNumberOfMessagesVisible

NumberOfEmptyReceives

NumberOfMessagesDeleted

NumberOfMessagesReceived

NumberOfMessagesSent

# Amazon Relational Database Service (RDS)
<a name="appinsights-metrics-rds"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

**Topics**
+ [Instances base de données RDS](#appinsights-metrics-rds-instances)
+ [Clusters base de données RDS](#appinsights-metrics-rds-clusters)

## Instances base de données RDS
<a name="appinsights-metrics-rds-instances"></a>

BurstBalance

CPUCreditÉquilibre

CPUUtilization

DatabaseConnections

DiskQueueDepth

Échoué SQLServer AgentJobsCount

FreeStorageSpace

FreeableMemory

NetworkReceiveThroughput

NetworkTransmitThroughput

ReadIOPS

ReadLatency

ReadThroughput

WriteIOPS

WriteLatency

WriteThroughput

## Clusters base de données RDS
<a name="appinsights-metrics-rds-clusters"></a>

ActiveTransactions

AuroraBinlogReplicaLag

AuroraReplicaLag

BackupRetentionPeriodStorageUsed

BinLogDiskUsage

BlockedTransactions

BufferCacheHitRatio

CPUUtilization

CommitLatency

CommitThroughput

DDLLatency

DDLThroughput

DMLLatency

DMLThroughput

DatabaseConnections

Deadlocks

DeleteLatency

DeleteThroughput

EngineUptime

FreeLocalStorage

FreeableMemory

InsertLatency

InsertThroughput

LoginFailures

NetworkReceiveThroughput

NetworkThroughput

NetworkTransmitThroughput

Requêtes

ResultSetCacheHitRatio

SelectLatency

SelectThroughput

SnapshotStorageUsed

TotalBackupStorageBilled

UpdateLatency

UpdateThroughput

VolumeBytesUsed

VolumeReadIOPs

VolumeWriteIOPs

# AWS Lambda fonction
<a name="appinsights-metrics-lambda"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

Erreurs

DeadLetterErrors

Duration

Throttles

IteratorAge

ProvisionedConcurrencySpilloverInvocations

# Table Amazon DynamoDB
<a name="appinsights-metrics-dyanamodb"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

SystemErrors

UserErrors

ConsumedReadCapacityUnits

ConsumedWriteCapacityUnits

ReadThrottleEvents

WriteThrottleEvents

TimeToLiveDeletedItemCount

ConditionalCheckFailedRequests

TransactionConflict

ReturnedRecordsCount

PendingReplicationCount

ReplicationLatency

# Compartiment Amazon S3
<a name="appinsights-metrics-s3"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

ReplicationLatency

BytesPendingReplication

OperationsPendingReplication

4xxErrors

5xxErrors

AllRequests

GetRequests

PutRequests

DeleteRequests

HeadRequests

PostRequests

SelectRequests

ListRequests

SelectScannedBytes

SelectReturnedBytes

FirstByteLatency

TotalRequestLatency

BytesDownloaded

BytesUploaded

# AWS Step Functions
<a name="appinsights-metrics-step-functions"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

**Topics**
+ [Niveau exécution](#appinsights-metrics-step-functions-execution)
+ [Activité](#appinsights-metrics-step-functions-activity)
+ [Fonction Lambda](#appinsights-metrics-step-functions-lambda)
+ [Intégration de service](#appinsights-metrics-step-functions-service-integration)
+ [Step Functions API](#appinsights-metrics-step-functions-api)

## Niveau exécution
<a name="appinsights-metrics-step-functions-execution"></a>

ExecutionTime

ExecutionThrottled

ExecutionsFailed

ExecutionsTimedOut

ExecutionsAborted

ExecutionsSucceeded

ExecutionsStarted

## Activité
<a name="appinsights-metrics-step-functions-activity"></a>

ActivityRunTime

ActivityScheduleTime

ActivityTime

ActivitiesFailed

ActivitiesHeartbeatTimedOut

ActivitiesTimedOut

ActivitiesScheduled

ActivitiesSucceeded

ActivitiesStarted

## Fonction Lambda
<a name="appinsights-metrics-step-functions-lambda"></a>

LambdaFunctionRunTime

LambdaFunctionScheduleTime

LambdaFunctionTime

LambdaFunctionsFailed

LambdaFunctionsTimedOut

LambdaFunctionsScheduled

LambdaFunctionsSucceeded

LambdaFunctionsStarted

## Intégration de service
<a name="appinsights-metrics-step-functions-service-integration"></a>

ServiceIntegrationRunTime

ServiceIntegrationScheduleTime

ServiceIntegrationTime

ServiceIntegrationsFailed

ServiceIntegrationsTimedOut

ServiceIntegrationsScheduled

ServiceIntegrationsSucceeded

ServiceIntegrationsStarted

## Step Functions API
<a name="appinsights-metrics-step-functions-api"></a>

ThrottledEvents

ProvisionedBucketSize

ProvisionedRefillRate

ConsumedCapacity

# Étapes d'API REST API Gateway d'API
<a name="appinsights-metrics-api-gateway"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

4 XXError

5 XXError

IntegrationLatency

Latence

CacheHitCount

CacheMissCount

# SAP HANA
<a name="appinsights-metrics-sap-hana"></a>

**Note**  
CloudWatch Application Insights ne prend en charge que les environnements SID HANA uniques. Si plusieurs HANA SIDs sont connectés, la surveillance sera configurée uniquement pour le premier SID détecté.

CloudWatch Application Insights prend en charge les mesures suivantes :

hanadb\$1every\$1service\$1started\$1status

hanadb\$1daemon\$1service\$1started\$1status

hanadb\$1preprocessor\$1service\$1started\$1status

hanadb\$1webdispatcher\$1service\$1started\$1status

hanadb\$1compileserver\$1service\$1started\$1status

hanadb\$1nameserver\$1service\$1started\$1status

hanadb\$1server\$1startup\$1time\$1variations\$1seconds

hanadb\$1level\$15\$1alerts\$1count

hanadb\$1level\$14\$1alerts\$1count

hanadb\$1out\$1of\$1memory\$1events\$1count

hanadb\$1max\$1trigger\$1read\$1ratio\$1percent

hanadb\$1max\$1trigger\$1write\$1ratio\$1percent

hanadb\$1log\$1switch\$1wait\$1ratio\$1percent

hanadb\$1log\$1switch\$1race\$1ratio\$1percent

hanadb\$1time\$1since\$1last\$1savepoint\$1seconds

hanadb\$1disk\$1usage\$1highlevel\$1percent

hanadb\$1max\$1converter\$1page\$1number\$1count

hanadb\$1long\$1running\$1savepoints\$1count

hanadb\$1failed\$1io\$1reads\$1count

hanadb\$1failed\$1io\$1writes\$1count

hanadb\$1disk\$1data\$1unused\$1percent

hanadb\$1current\$1allocation\$1limit\$1used\$1percent

hanadb\$1table\$1allocation\$1limit\$1used\$1percent

hanadb\$1host\$1total\$1physical\$1memory\$1mb

hanadb\$1host\$1physical\$1memory\$1used\$1mb

hanadb\$1host\$1physical\$1memory\$1free\$1mb

hanadb\$1swap\$1memory\$1free\$1mb

hanadb\$1swap\$1memory\$1used\$1mb

hanadb\$1host\$1allocation\$1limit\$1mb

hanadb\$1host\$1total\$1memory\$1used\$1mb

 hanadb\$1host\$1total\$1peak\$1memory\$1used\$1mb

hanadb\$1host\$1total\$1allocation\$1limit\$1mb

hanadb\$1host\$1code\$1size\$1mb

hanadb\$1host\$1shared\$1memory\$1allocation\$1mb

hanadb\$1cpu\$1usage\$1percent

hanadb\$1cpu\$1user\$1percent

hanadb\$1cpu\$1system\$1percent

hanadb\$1cpu\$1waitio\$1percent

hanadb\$1cpu\$1busy\$1percent

hanadb\$1cpu\$1idle\$1percent

hanadb\$1long\$1delta\$1merge\$1count

hanadb\$1unsuccessful\$1delta\$1merge\$1count

hanadb\$1successful\$1delta\$1merge\$1count

hanadb\$1row\$1store\$1allocated\$1size\$1mb

hanadb\$1row\$1store\$1free\$1size\$1mb

hanadb\$1row\$1store\$1used\$1size\$1mb

hanadb\$1temporary\$1tables\$1count

hanadb\$1large\$1non\$1compressed\$1tables\$1count

hanadb\$1total\$1non\$1compressed\$1tables\$1count

hanadb\$1longest\$1running\$1job\$1seconds

hanadb\$1average\$1commit\$1time\$1milliseconds

hanadb\$1suspended\$1sql\$1statements\$1count

hanadb\$1plan\$1cache\$1hit\$1ratio\$1percent

hanadb\$1plan\$1cache\$1lookup\$1count

hanadb\$1plan\$1cache\$1hit\$1count

hanadb\$1plan\$1cache\$1total\$1execution\$1microseconds

hanadb\$1plan\$1cache\$1cursor\$1duration\$1microseconds

hanadb\$1plan\$1cache\$1preparation\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1count

hanadb\$1plan\$1cache\$1evicted\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1preparation\$1count

hanadb\$1plan\$1cache\$1evicted\$1execution\$1count

hanadb\$1plan\$1cache\$1evicted\$1preparation\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1cursor\$1duration\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1total\$1execution\$1microseconds

hanadb\$1plan\$1cache\$1evicted\$1plan\$1size\$1mb

hanadb\$1plan\$1cache\$1count

hanadb\$1plan\$1cache\$1preparation\$1count

hanadb\$1plan\$1cache\$1execution\$1count

hanadb\$1network\$1collision\$1rate

hanadb\$1network\$1receve\$1rate

hanadb\$1network\$1transmit\$1rate

hanadb\$1network\$1packet\$1receve\$1rate

hanadb\$1network\$1packet\$1transmit\$1rate

hanadb\$1network\$1transmit\$1error\$1rate

hanadb\$1network\$1receve\$1error\$1rate

hanadb\$1time\$1until\$1license\$1expires\$1days

hanadb\$1is\$1license\$1valid\$1status

hanadb\$1local\$1running\$1connections\$1count

hanadb\$1local\$1idle\$1connections\$1count

hanadb\$1remote\$1running\$1connections\$1count

hanadb\$1remote\$1idle\$1connections\$1count

hanadb\$1last\$1full\$1data\$1backup\$1age\$1days

hanadb\$1last\$1data\$1backup\$1age\$1days

hanadb\$1last\$1log\$1backup\$1age\$1hours

hanadb\$1failed\$1data\$1backup\$1past\$17\$1days\$1count

hanadb\$1failed\$1log\$1backup\$1past\$17\$1days\$1count

hanadb\$1oldest\$1backup\$1in\$1catalog\$1age\$1days

hanadb\$1backup\$1catalog\$1size\$1mb

hanadb\$1hsr\$1replication\$1status

hanadb\$1hsr\$1log\$1shipping\$1delay\$1seconds

hanadb\$1hsr\$1secondary\$1failover\$1count

hanadb\$1hsr\$1secondary\$1reconnect\$1count

hanadb\$1hsr\$1async\$1buffer\$1used\$1mb

hanadb\$1hsr\$1secondary\$1active\$1status

hanadb\$1handle\$1count

hanadb\$1ping\$1time\$1millisecondes

hanadb\$1connection\$1count

hanadb\$1internal\$1connection\$1count

hanadb\$1external\$1connection\$1count

hanadb\$1idle\$1connection\$1count

hanadb\$1transaction\$1count

hanadb\$1internal\$1transaction\$1count

hanadb\$1external\$1transaction\$1count

hanadb\$1user\$1transaction\$1count

hanadb\$1blocked\$1transaction\$1count

hanadb\$1statement\$1count

hanadb\$1active\$1commit\$1id\$1range\$1count

hanadb\$1mvcc\$1version\$1count

hanadb\$1pending\$1session\$1count

hanadb\$1record\$1lock\$1count

hanadb\$1read\$1count

hanadb\$1write\$1count

hanadb\$1merge\$1count

hanadb\$1unload\$1count

hanadb\$1active\$1thread\$1count

hanadb\$1waiting\$1thread\$1count

hanadb\$1total\$1thread\$1count

hanadb\$1active\$1sql\$1executor\$1count

hanadb\$1waiting\$1sql\$1executor\$1count

hanadb\$1total\$1sql\$1executor\$1count

hanadb\$1data\$1write\$1size\$1mb

hanadb\$1data\$1write\$1time\$1milliseconds

hanadb\$1log\$1write\$1size\$1mb

hanadb\$1log\$1write\$1time\$1milliseconds

hanadb\$1data\$1read\$1size\$1mb

hanadb\$1data\$1read\$1time\$1milliseconds

hanadb\$1log\$1read\$1size\$1mb

hanadb\$1log\$1read\$1time\$1milliseconds

hanadb\$1data\$1backup\$1write\$1size\$1mb

hanadb\$1data\$1backup\$1write\$1time\$1milliseconds

hanadb\$1log\$1backup\$1write\$1size\$1mb

hanadb\$1log\$1backup\$1write\$1time\$1milliseconds

hanadb\$1mutex\$1collision\$1count

hanadb\$1read\$1write\$1lock\$1collision\$1count

hanadb\$1admission\$1control\$1admit\$1count

hanadb\$1admission\$1control\$1reject\$1count

hanadb\$1admission\$1control\$1queue\$1size\$1mb

hanadb\$1admission\$1control\$1wait\$1time\$1milliseconds

# SAP ASE
<a name="appinsights-metrics-sap-ase"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

asedb\$1database\$1availability

asedb\$1trunc\$1log\$1on\$1chkpt\$1enabled

asedb\$1last\$1db\$1backup\$1age\$1in\$1days

asedb\$1last\$1transaction\$1log\$1backup\$1age\$1in\$1hours

asedb\$1suspected\$1database

asedb\$1db\$1space\$1usage\$1percent

asedb\$1db\$1log\$1space\$1usage\$1percent

asedb\$1locked\$1login

asedb\$1has\$1mixed\$1log\$1and\$1data

asedb\$1runtime\$1for\$1open\$1transactions

asedb\$1data\$1cache\$1hit\$1ratio

asedb\$1data\$1cache\$1usage

asedb\$1sql\$1cache\$1hit\$1ratio

asedb\$1cache\$1usage

asedb\$1run\$1queue\$1length

asedb\$1number\$1of\$1rollbacks

asedb\$1number\$1of\$1commits

asedb\$1number\$1of\$1transactions

asedb\$1outstanding\$1disk\$1io

asedb\$1percent\$1io\$1busy

asedb\$1percent\$1system\$1busy

asedb\$1percent\$1locks\$1active

asedb\$1scheduled\$1jobs\$1failed\$1percent

asedb\$1user\$1connections\$1percent

asedb\$1query\$1logical\$1reads

asedb\$1query\$1physical\$1reads

asedb\$1query\$1cpu\$1time

asedb\$1query\$1memory\$1usage

# Haute disponibilité SAP ASE sur Amazon EC2
<a name="appinsights-metrics-sap-ase-ha"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

asedb\$1ha\$1replication\$1state

asedb\$1ha\$1replication\$1mode

asedb\$1ha\$1replication\$1latency\$1in\$1minutes

# SAP NetWeaver
<a name="appinsights-metrics-sap-netweaver"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :


| Métrique | Description | 
| --- | --- | 
| alertes\$1sap\$1 ResponseTime |  L'alerte de temps de réponse SAP envoyée par CCMS (RZ20) >R3Services>Dialog>ResponseTime.  | 
|  alertes\$1sap\$1 ResponseTimeDialog  | L'alerte de dialogue sur le temps de réponse SAP envoyée par CCMS (RZ20) ResponseTimeDialog >R3Services>Dialog>. | 
| SAP\$1ALERTS\$1 RFC ResponseTimeDialog | L'alerte de temps de réponse SAP envoyée par CCMS (RZ20) > R3Services > Dialog > RFC. ResponseTimeDialog | 
| heure sap\$1alerts\$1 DBRequest | L'alerte de temps de réponse SAP envoyée par CCMS (RZ20) >R3Services>Dialog> DBRequest Time. | 
| alertes\$1sap\$1 FrontendResponseTime | L'alerte de temps de réponse SAP envoyée par CCMS (RZ20) >R3Services > Dialog>. FrontEndResponseTime | 
| sap\$1alerts\$1Database  | Le système SAP a enregistré des erreurs liées à la base de données. Alerte provenant de SM21 CCMS (RZ20) >R3Syslog>Database. | 
| alertes\$1sap\$1 QueueTime  | L'alerte de temps d'attente SAP envoyée par CCMS (RZ20) >R3Services>Dialog>QueueTime. | 
| alertes\$1sap\$1 AbortedJobs | Échec des tâches d'arrière-plan dans le système SAP. Alerte de (RZ20) > Services R3 > Contexte >. AbortedJobs | 
| alertes\$1sap\$1 BasisSystem | Le système SAP a journalisé les erreurs de niveau système. Alerte émise par SM21 ou CCMS (RZ20) BasisSystem >R3Syslog>. | 
| sap\$1alerts\$1Security  | Le système SAP a journalisé des messages liés à la sécurité. Alerte émise par SM21 ou CCMS (RZ20) >R3Syslog>Security. | 
| sap\$1alerts\$1System  | Le système SAP a enregistré des messages relatifs à la sécurité ou à l'audit. Alerte provenant de SM21 CCMS (RZ20) >Security>System. | 
| alertes\$1sap\$1 LongRunners  | Des programmes sont en cours d'exécution depuis longtemps dans votre système SAP. Alerte provenant de CCMS (RZ20) > R3Services > Dialog>. LongRunners | 
| alertes\$1sap\$1 SqlError  | Il existe des journaux d'erreurs de la couche client de la base de données SAP. Alerte du CCMS (RZ20) > > DatabaseClient AbapSql >SqlError. | 
| sap\$1alerts\$1State  | Alerte d'état émise par CCMS (RZ20) >OS Collector>State. | 
| sap\$1alerts\$1Shortdumps  | Alerte Shortdumps depuis ST22 et CCMS () RZ20 >R3Abap>Shortdumps. | 
| sap\$1alerts\$1Availability  | Alerte de disponibilité pour l'instance du serveur d'applications SAP provenant de SM21 SM50 SM51, SM66,, et CCMS (RZ20) > InstanceAsTask >Disponibilité. | 
| sap\$1dispatcher\$1queue\$1high | La fonction SAPControl Web Service GetQueueStatistic fournit à la file d'attente du répartiteur un nombre élevé de files d'attente.  | 
| sap\$1dispatcher\$1queue\$1max | La fonction SAPControl Web Service GetQueueStatistic fournit le nombre maximal de files d'attente du répartiteur.  | 
| sap\$1dispatcher\$1queue\$1now | La fonction SAPControl GetQueueStatistic Web Service indique le nombre actuel de files d'attente du répartiteur. | 
| sap\$1dispatcher\$1queue\$1reads | La fonction SAPControl Web Service GetQueueStatistic fournit le nombre de lectures de la file d'attente du répartiteur.  | 
| sap\$1dispatcher\$1queue\$1writes | La fonction SAPControl Web Service GetQueueStatistic fournit le nombre d'écritures dans la file d'attente du répartiteur.  | 
| sap\$1enqueue\$1server\$1arguments\$1high  | La fonction SAPControl Web Service EnqGetStatistic fournit des arguments de file d'attente élevés. | 
| sap\$1enqueue\$1server\$1arguments\$1max  | La fonction SAPControl Web Service EnqGetStatistic fournit le nombre maximum d'arguments de file d'attente. | 
| sap\$1enqueue\$1server\$1arguments\$1now | La fonction SAPControl Web Service EnqGetStatistic fournit désormais les arguments de file d'attente. | 
| sap\$1enqueue\$1server\$1arguments\$1state | La fonction SAPControl Web Service EnqGetStatistic fournit l'état des arguments de la file d'attente. | 
| sap\$1enqueue\$1server\$1backup\$1requests | La fonction SAPControl Web Service EnqGetStatistic fournit les demandes de sauvegarde de la file d'attente. | 
| sap\$1enqueue\$1server\$1cleanup\$1requests | La fonction SAPControl Web Service EnqGetStatistic fournit les demandes de nettoyage de la file d'attente.  | 
| sap\$1enqueue\$1server\$1dequeue\$1all\$1requests | La fonction SAPControl Web Service EnqGetStatistic permet de retirer toutes les demandes de la file d'attente. | 
| sap\$1enqueue\$1server\$1dequeue\$1errors | La fonction SAPControl Web Service EnqGetStatistic fournit les erreurs de retrait de file d'attente.  | 
| sap\$1enqueue\$1server\$1dequeue\$1requests  | La fonction SAPControl Web Service EnqGetStatistic fournit les demandes de retrait de la file d'attente. | 
| sap\$1enqueue\$1server\$1enqueue\$1errors | La fonction SAPControl Web Service EnqGetStatistic fournit les erreurs de file d'attente. | 
| sap\$1enqueue\$1server\$1enqueue\$1rejects  | La fonction SAPControl Web Service EnqGetStatistic fournit les rejets de files d'attente. | 
| sap\$1enqueue\$1server\$1enqueue\$1requests | La fonction SAPControl Web Service EnqGetStatistic fournit les demandes de file d'attente. | 
| sap\$1enqueue\$1server\$1lock\$1time | La fonction SAPControl EnqGetStatistic Web Service indique l'heure de verrouillage de la file d'attente. | 
| sap\$1enqueue\$1server\$1lock\$1wait\$1time | La fonction de service SAPControl Web EnqGetStatistic indique le temps d'attente pour verrouiller la file d'attente. | 
| sap\$1enqueue\$1server\$1locks\$1high | La fonction de service SAPControl Web EnqGetStatistic permet de verrouiller la file d'attente à un niveau élevé. | 
| sap\$1enqueue\$1server\$1locks\$1max | La fonction SAPControl Web Service EnqGetStatistic fournit le nombre maximum de verrous de file d'attente. | 
| sap\$1enqueue\$1server\$1locks\$1now | La fonction SAPControl Web Service EnqGetStatistic fournit désormais les verrous de file d'attente. | 
| sap\$1enqueue\$1server\$1locks\$1state | La fonction SAPControl Web Service EnqGetStatistic fournit l'état des verrous de file d'attente. | 
| sap\$1enqueue\$1server\$1owner\$1high | La fonction de service SAPControl Web EnqGetStatistic fournit un avantage au propriétaire de la file d'attente. | 
| sap\$1enqueue\$1server\$1owner\$1max | La fonction SAPControl EnqGetStatistic Web Service indique le nombre maximal de propriétaires de la file d'attente. | 
| sap\$1enqueue\$1server\$1owner\$1now | La fonction SAPControl Web Service EnqGetStatistic fournit désormais le nom du propriétaire de la file d'attente. | 
| sap\$1enqueue\$1server\$1owner\$1state | La fonction SAPControl Web Service EnqGetStatistic fournit l'état du propriétaire de la file d'attente. | 
| sap\$1enqueue\$1server\$1replication\$1state  | La fonction SAPControl Web Service EnqGetStatistic fournit l'état de réplication de la file d'attente. | 
| sap\$1enqueue\$1server\$1reporting\$1requests | La fonction de service SAPControl Web EnqGetStatistic fournit le statut des demandes de rapports. | 
| sap\$1enqueue\$1server\$1server\$1time | La fonction SAPControl Web Service EnqGetStatistic fournit l'heure du serveur de file d'attente. | 
| sap\$1HA\$1check\$1failover\$1config\$1state | La fonction SAPControl Web Service HACheckFailoverConfig fournit le statut de haute disponibilité de SAP. | 
| SAP\$1HA\$1Get\$1Failover\$1Config\$1 HAActive | La fonction de service SAPControl Web HAGetFailoverConfig fournit la configuration et l'état du cluster SAP High Availability. | 
| sap\$1start\$1service\$1processes  | La fonction SAPControl Web Service GetProcessList fournit l'état des processus disp\$1work, IGS, gwrd, icman, du serveur de messagerie et du serveur de file d'attente. | 

# Cluster HA
<a name="appinsights-metrics-ha-cluster"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

ha\$1cluster\$1pacemaker\$1stonith\$1enabled 

ha\$1cluster\$1corosync\$1quorate

hanadb\$1webdispatcher\$1service\$1started\$1status

ha\$1cluster\$1pacemaker\$1nodes 

ha\$1cluster\$1corosync\$1ring\$1errors

ha\$1cluster\$1pacemaker\$1fail\$1count 

# Java
<a name="appinsights-metrics-java"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

java\$1lang\$1memory\$1heapmemoryusage\$1used

java\$1lang\$1memory\$1heapmemoryusage\$1committed

java\$1lang\$1operatingsystem\$1openfiledescriptorcount

java\$1lang\$1operatingsystem\$1maxfiledescriptorcount

java\$1lang\$1operatingsystem\$1freephysicalmemorysize

java\$1lang\$1operatingsystem\$1freeswapspacesize

java\$1lang\$1threading\$1threadcount

java\$1lang\$1threading\$1daemonthreadcount

java\$1lang\$1classloading\$1loadedclasscount

java\$1lang\$1garbagecollector\$1collectiontime\$1copy

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1scavenge

java\$1lang\$1garbagecollector\$1collectiontime\$1parnew

java\$1lang\$1garbagecollector\$1collectiontime\$1marksweepcompact

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1marksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1concurrentmarksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1young\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1old\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1mixed\$1generation

java\$1lang\$1operatingsystem\$1committedvirtualmemorysize

# Amazon Elastic Container Service (Amazon ECS)
<a name="appinsights-metrics-ecs"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

**Topics**
+ [CloudWatch métriques intégrées](#appinsights-metrics-ecs-built-in-metrics)
+ [Métriques Container Insights](#appinsights-metrics-ecs-container-insights-metrics)
+ [Métriques Prometheus Container Insights](#appinsights-metrics-ecs-container-insights-prometheus)

## CloudWatch métriques intégrées
<a name="appinsights-metrics-ecs-built-in-metrics"></a>

CPUReservation

CPUUtilization

MemoryReservation

MemoryUtilization

GPUReservation

## Métriques Container Insights
<a name="appinsights-metrics-ecs-container-insights-metrics"></a>

ContainerInstanceCount

CpuUtilized

CpuReserved

DeploymentCount

DesiredTaskCount

MemoryUtilized

MemoryReserved

NetworkRxBytes

NetworkTxBytes

PendingTaskCount

RunningTaskCount

ServiceCount

StorageReadBytes

StorageWriteBytes

TaskCount

TaskSetCount

instance\$1cpu\$1limit

instance\$1cpu\$1reserved\$1capacity

instance\$1cpu\$1usage\$1total

instance\$1cpu\$1utilization

instance\$1filesystem\$1utilization

instance\$1memory\$1limit

instance\$1memory\$1reserved\$1capacity

instance\$1memory\$1utilization

instance\$1memory\$1working\$1set

instance\$1network\$1total\$1bytes

instance\$1number\$1of\$1running\$1tasks

## Métriques Prometheus Container Insights
<a name="appinsights-metrics-ecs-container-insights-prometheus"></a>

**Métriques Java JMX**

java\$1lang\$1memory\$1heapmemoryusage\$1used

java\$1lang\$1memory\$1heapmemoryusage\$1committed

java\$1lang\$1operatingsystem\$1openfiledescriptorcount

java\$1lang\$1operatingsystem\$1maxfiledescriptorcount

java\$1lang\$1operatingsystem\$1freephysicalmemorysize

java\$1lang\$1operatingsystem\$1freeswapspacesize

java\$1lang\$1threading\$1threadcount

java\$1lang\$1classloading\$1loadedclasscount

java\$1lang\$1threading\$1daemonthreadcount

java\$1lang\$1garbagecollector\$1collectiontime\$1copy

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1scavenge

java\$1lang\$1garbagecollector\$1collectiontime\$1parnew

java\$1lang\$1garbagecollector\$1collectiontime\$1marksweepcompact

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1marksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1concurrentmarksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1young\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1old\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1mixed\$1generation

java\$1lang\$1operatingsystem\$1committedvirtualmemorysize

# Kubernetes activé AWS
<a name="appinsights-metrics-kubernetes"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

**Topics**
+ [Métriques Container Insights](#appinsights-metrics-kubernetes-container-insights-metrics)
+ [Métriques Prometheus Container Insights](#appinsights-metrics-kubernetes-container-insights-prometheus)

## Métriques Container Insights
<a name="appinsights-metrics-kubernetes-container-insights-metrics"></a>

cluster\$1failed\$1node\$1count

cluster\$1node\$1count

namespace\$1number\$1of\$1running\$1pods

node\$1cpu\$1limit

node\$1cpu\$1reserved\$1capacity

node\$1cpu\$1usage\$1total

node\$1cpu\$1utilization

node\$1filesystem\$1utilization

node\$1memory\$1limit

node\$1memory\$1reserved\$1capacity

node\$1memory\$1utilization

node\$1memory\$1working\$1set

node\$1network\$1total\$1bytes

node\$1number\$1of\$1running\$1containers

node\$1number\$1of\$1running\$1pods

pod\$1cpu\$1reserved\$1capacity

pod\$1cpu\$1utilization

pod\$1cpu\$1utilization\$1over\$1pod\$1limit

pod\$1memory\$1reserved\$1capacity

pod\$1memory\$1utilization

pod\$1memory\$1utilization\$1over\$1pod\$1limit

pod\$1network\$1rx\$1bytes

pod\$1network\$1tx\$1bytes

service\$1number\$1of\$1running\$1pods

## Métriques Prometheus Container Insights
<a name="appinsights-metrics-kubernetes-container-insights-prometheus"></a>

**Métriques Java JMX**

java\$1lang\$1memory\$1heapmemoryusage\$1used

java\$1lang\$1memory\$1heapmemoryusage\$1committed

java\$1lang\$1operatingsystem\$1openfiledescriptorcount

java\$1lang\$1operatingsystem\$1maxfiledescriptorcount

java\$1lang\$1operatingsystem\$1freephysicalmemorysize

java\$1lang\$1operatingsystem\$1freeswapspacesize

java\$1lang\$1threading\$1threadcount

java\$1lang\$1classloading\$1loadedclasscount

java\$1lang\$1threading\$1daemonthreadcount

java\$1lang\$1garbagecollector\$1collectiontime\$1copy

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1scavenge

java\$1lang\$1garbagecollector\$1collectiontime\$1parnew

java\$1lang\$1garbagecollector\$1collectiontime\$1marksweepcompact

java\$1lang\$1garbagecollector\$1collectiontime\$1ps\$1marksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1concurrentmarksweep

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1young\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1old\$1generation

java\$1lang\$1garbagecollector\$1collectiontime\$1g1\$1mixed\$1generation

java\$1lang\$1operatingsystem\$1committedvirtualmemorysize

# Amazon FSx
<a name="appinsights-metrics-fsx"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

DataReadBytes

DataWriteBytes

DataReadOperations

DataWriteOperations

MetadataOperations

FreeStorageCapacity

FreeDataStorageCapacity

LogicalDiskUsage

PhysicalDiskUsage

# Amazon VPC
<a name="appinsights-metrics-vpc"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

NetworkAddressUsage

NetworkAddressUsagePeered

VPCFirewallQueryVolume

# Passerelles NAT Amazon VPC
<a name="appinsights-metrics-nat-gateways"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

ErrorPortAllocation

IdleTimeoutCount

# Surveillance de l'état Amazon Route 53
<a name="appinsights-metrics-health-check"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

ChildHealthCheckHealthyCount

ConnectionTime

HealthCheckPercentageHealthy

HealthCheckStatus

SSLHandshakeHeure 

TimeToFirstByte

# Zone hébergée Amazon Route 53
<a name="appinsights-metrics-hosted-zone"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

DNSQueries

DNSSECInternalDéfaillance

DNSSECKeySigningKeysNeedingAction

DNSSECKeySigningKeyMaxNeedingActionAge

DNSSECKeySigningKeyAge

# Amazon Route 53 Resolver point de terminaison
<a name="appinsights-metrics-resolver-endpoint"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

EndpointHealthyENICount

EndpointUnHealthyENICount

InboundQueryVolume

OutboundQueryVolume

OutboundQueryAggregateVolume

# AWS Network Firewall groupe de règles
<a name="appinsights-metrics-firewall-rule-group"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

FirewallRuleGroupQueryVolume

# AWS Network Firewall association de groupes de règles
<a name="appinsights-metrics-firewall-rule-group-assoc"></a>

CloudWatch Application Insights prend en charge les mesures suivantes :

FirewallRuleGroupVpcQueryVolume

# Métriques avec exigences aux points de données
<a name="appinsights-metrics-datapoint-requirements"></a>

Pour les métriques sans seuil d'alerte évident par défaut, Application Insights attend que la métrique comporte suffisamment de points de données pour prédire un seuil d'alerte raisonnable. Les points de données métriques qu' CloudWatch Application Insights vérifie avant de créer une alarme sont les suivants : 
+ La métrique possède au moins 100 points de données qui datent de 2 à 15 jours.
+ La métrique possède au moins 100 points de données qui datent de la veille.

Les métriques suivantes respectent ces exigences aux points de données. Notez que les métriques des CloudWatch agents nécessitent jusqu'à une heure pour créer des alarmes. 

**Topics**
+ [AWS/ApplicationELB](#appinsights-metrics-datapoint-requirements-app-elb)
+ [AW/ AutoScaling](#appinsights-metrics-datapoint-requirements-autoscaling)
+ [AWS/EC2](#appinsights-metrics-datapoint-requirements-ec2)
+ [Elastic Block Store (EBS)](#appinsights-metrics-datapoint-requirements-ebs)
+ [AWS/ELB](#appinsights-metrics-datapoint-requirements-elb)
+ [AWS/RDS](#appinsights-metrics-datapoint-requirements-rds)
+ [AWS/Lambda](#appinsights-metrics-datapoint-requirements-lambda)
+ [AWS/SQS](#appinsights-metrics-datapoint-requirements-sqs)
+ [AW/ CWAgent](#appinsights-metrics-datapoint-requirements-cwagent)
+ [AWS/DynamoDB](#appinsights-metrics-datapoint-requirements-dynamo)
+ [AWS/S3](#appinsights-metrics-datapoint-requirements-s3)
+ [AWS/States](#appinsights-metrics-datapoint-requirements-states)
+ [AW/ ApiGateway](#appinsights-metrics-datapoint-requirements-api-gateway)
+ [AWS/SNS](#appinsights-metrics-datapoint-requirements-sns)

## AWS/ApplicationELB
<a name="appinsights-metrics-datapoint-requirements-app-elb"></a>

ActiveConnectionCount

Consommé LCUs

HTTPCode\$1ELB\$14XX\$1Count

HTTPCode\$1TARGET\$12XX\$1Count

HTTPCode\$1TARGET\$13XX\$1Count

HTTPCode\$1TARGET\$14XX\$1Count

HTTPCode\$1TARGET\$15XX\$1Count

NewConnectionCount

ProcessedBytes

TargetResponseTime

UnHealthyHostCount

## AW/ AutoScaling
<a name="appinsights-metrics-datapoint-requirements-autoscaling"></a>

GroupDesiredCapacity

GroupInServiceInstances

GroupMaxSize

GroupMinSize

GroupPendingInstances

GroupStandbyInstances

GroupTerminatingInstances

GroupTotalInstances

## AWS/EC2
<a name="appinsights-metrics-datapoint-requirements-ec2"></a>

CPUCreditÉquilibre

CPUCreditUsage

CPUSurplusCreditBalance

CPUSurplusCreditsCharged

CPUUtilization

DiskReadBytes

DiskReadOps

DiskWriteBytes

DiskWriteOps

EBSByteSolde %

EBSIOBalance%

EBSReadOctets

EBSReadOps

EBSWriteOctets

EBSWriteOps

NetworkIn

NetworkOut

NetworkPacketsIn

NetworkPacketsOut

## Elastic Block Store (EBS)
<a name="appinsights-metrics-datapoint-requirements-ebs"></a>

VolumeReadBytes 

VolumeWriteBytes 

VolumeReadOps

VolumeWriteOps

VolumeTotalReadTime 

VolumeTotalWriteTime 

VolumeIdleTime

VolumeQueueLength

VolumeThroughputPercentage

VolumeConsumedReadWriteOps

BurstBalance

## AWS/ELB
<a name="appinsights-metrics-datapoint-requirements-elb"></a>

Estimé ALBActive ConnectionCount

Estimé ALBConsumed LCUs

Estimé ALBNew ConnectionCount

EstimatedProcessedBytes

HTTPCode\$1Backend\$14xx

HTTPCode\$1Backend\$15xx

HealthyHostCount

Latence

RequestCount

SurgeQueueLength

UnHealthyHostCount

## AWS/RDS
<a name="appinsights-metrics-datapoint-requirements-rds"></a>

ActiveTransactions

AuroraBinlogReplicaLag

AuroraReplicaLag

BackupRetentionPeriodStorageUsed

BinLogDiskUsage

BlockedTransactions

CPUCreditÉquilibre

CommitLatency

CommitThroughput

DDLLatency

DDLThroughput

DMLLatency

DMLThroughput

DatabaseConnections

Deadlocks

DeleteLatency

DeleteThroughput

DiskQueueDepth

EngineUptime

FreeLocalStorage

FreeStorageSpace

FreeableMemory

InsertLatency

InsertThroughput

LoginFailures

NetworkReceiveThroughput

NetworkThroughput

NetworkTransmitThroughput

Requêtes

ReadIOPS

ReadThroughput

SelectLatency

SelectThroughput

SnapshotStorageUsed

TotalBackupStorageBilled

UpdateLatency

UpdateThroughput

VolumeBytesUsed

VolumeReadIOPs

VolumeWriteIOPs

WriteIOPS

WriteThroughput

## AWS/Lambda
<a name="appinsights-metrics-datapoint-requirements-lambda"></a>

Erreurs

DeadLetterErrors

Duration

Throttles

IteratorAge

ProvisionedConcurrencySpilloverInvocations

## AWS/SQS
<a name="appinsights-metrics-datapoint-requirements-sqs"></a>

ApproximateAgeOfOldestMessage

ApproximateNumberOfMessagesDelayed

ApproximateNumberOfMessagesNotVisible

ApproximateNumberOfMessagesVisible

NumberOfEmptyReceives

NumberOfMessagesDeleted

NumberOfMessagesReceived

NumberOfMessagesSent

## AW/ CWAgent
<a name="appinsights-metrics-datapoint-requirements-cwagent"></a>

LogicalDisk % d'espace libre

% d'octets validés de mémoire en cours d'utilisation

Mo de mémoire disponible

Total octets interface réseau/sec

Utilisation en % du fichier de pagination

PhysicalDisk % de temps sur le disque

PhysicalDisk Moyenne. Disk sec/Read (Lecture/s sur disque)

PhysicalDisk Moyenne. Disk Write/sec (Écriture/s sur disque)

PhysicalDisk Octets lus sur disque par seconde

PhysicalDisk Lectures sur disque par seconde

PhysicalDisk Octets d'écriture sur disque par seconde

PhysicalDisk Nombre d'écritures sur disque par seconde

Temps d'inactivité en % du processeur

Durée d'interruption en % du processeur

Temps de traitement en % du processeur

Temps utilisateur en % du processeur

SQLServer:Méthodes d'accès : enregistrements transférés par seconde

SQLServer:Méthodes d'accès, pages fractionnées par seconde

SQLServer:Buffer Manager Taux de réussite du cache tampon

SQLServer:Durée de vie de la page Buffer Manager

SQLServer:Octets de fichier de réplique de base de données reçus/sec

SQLServer:Réplique de base de données : octets de journal reçus par seconde

SQLServer:Journal de réplication de base de données restant à annuler

SQLServer:Database Replica Log Send Queue

SQLServer:Réplique de base de données, transaction d'écriture en miroite/SEC

SQLServer:File d'attente de restauration d'une réplique de base

SQLServer:Réplique de base de données : rétablir les octets restants

SQLServer:Réplique de base de données refaite octets/s

SQLServer:Database Replica Total Log nécessitant une annulation

SQLServer:Retard de transaction de réplication de base de données

SQLServer:Statistiques générales Processus bloqués

SQLServer:SQL Statistics Batch Requests/sec

SQLServer:Statistiques SQL Compilations SQL/sec

SQLServer:Statistiques SQL Re-compilations SQL/sec

Longueur de la file d'attente du processeur système

TCPv4 Connexions établies

TCPv6 Connexions établies

## AWS/DynamoDB
<a name="appinsights-metrics-datapoint-requirements-dynamo"></a>

ConsumedReadCapacityUnits

ConsumedWriteCapacityUnits

ReadThrottleEvents

WriteThrottleEvents

TimeToLiveDeletedItemCount

ConditionalCheckFailedRequests

TransactionConflict

ReturnedRecordsCount

PendingReplicationCount

ReplicationLatency

## AWS/S3
<a name="appinsights-metrics-datapoint-requirements-s3"></a>

ReplicationLatency

BytesPendingReplication

OperationsPendingReplication

4xxErrors

5xxErrors

AllRequests

GetRequests

PutRequests

DeleteRequests

HeadRequests

PostRequests

SelectRequests

ListRequests

SelectScannedBytes

SelectReturnedBytes

FirstByteLatency

TotalRequestLatency

BytesDownloaded

BytesUploaded

## AWS/States
<a name="appinsights-metrics-datapoint-requirements-states"></a>

ActivitiesScheduled

ActivitiesStarted

ActivitiesSucceeded

ActivityScheduleTime

ActivityRuntime

ActivityTime

LambdaFunctionsScheduled

LambdaFunctionsStarted

LambdaFunctionsSucceeded

LambdaFunctionScheduleTime

LambdaFunctionRuntime

LambdaFunctionTime

ServiceIntegrationsScheduled

ServiceIntegrationsStarted

ServiceIntegrationsSucceeded

ServiceIntegrationScheduleTime

ServiceIntegrationRuntime

ServiceIntegrationTime

ProvisionedRefillRate

ProvisionedBucketSize

ConsumedCapacity

ThrottledEvents

## AW/ ApiGateway
<a name="appinsights-metrics-datapoint-requirements-api-gateway"></a>

4 XXError 

IntegrationLatency

Latence

DataProcessed

CacheHitCount

CacheMissCount

## AWS/SNS
<a name="appinsights-metrics-datapoint-requirements-sns"></a>

NumberOfNotificationsDelivered

NumberOfMessagesPublished

NumberOfNotificationsFailed

NumberOfNotificationsFilteredOut

NumberOfNotificationsFilteredOut-InvalidAttributes

NumberOfNotificationsFilteredOut-NoMessageAttributes

NumberOfNotificationsRedrivenToDlq

NumberOfNotificationsFailedToRedriveToDlq

SMSSuccessTaux

# Métriques recommandées
<a name="application-insights-recommended-metrics"></a>

Le tableau suivant répertorie les métriques recommandées pour chaque type de composant.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/application-insights-recommended-metrics.html)

Le tableau suivant répertorie les processus recommandés et les mesures de processus pour chaque type de composant. CloudWatch Application Insights ne recommande pas de surveiller les processus qui ne s'exécutent pas sur une instance.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonCloudWatch/latest/monitoring/application-insights-recommended-metrics.html)

# Métriques du compteur de performances
<a name="application-insights-performance-counter"></a>

Les métriques du compteur de performances sont recommandées pour les instances uniquement lorsque les jeux de compteur de performances correspondants sont installés sur les instances Windows.


| Nom de la métrique du compteur de performances | Nom de l'ensemble de compteurs de performances | 
| --- | --- | 
| Exceptions CLR .NET Nombre d'exceptions émises | Exceptions CLR .NET | 
| Nombre d'exceptions .NET CLR Nombre d'exceptions Thrown/Sec  | Exceptions CLR .NET | 
| Nombre d'exceptions .NET CLR Filters/Sec  | Exceptions CLR .NET | 
| Nombre d'exceptions .NET CLR Finallys/Sec  | Exceptions CLR .NET | 
| Les exceptions .NET CLR sont bloquées Depth/Sec  | Exceptions CLR .NET | 
| .NET CLR Interop \$1 de CCWs  | Interop CLR .NET  | 
| Interop CLR .NET Nombre de talons  | Interop CLR .NET  | 
| Numéro d'interopérabilité .NET CLR de TLB exports/Sec  | Interop CLR .NET  | 
| Numéro d'interopérabilité .NET CLR de TLB imports/Sec  | Interop CLR .NET  | 
| Interop CLR .NET Nombre de regroupements  | Interop CLR .NET  | 
| Jit CLR .NET % temps en juste-à-temps  | Jit CLR .NET  | 
| Jit CLR .NET Échecs juste-à-temps standard  | Jit CLR .NET  | 
| Chargement CLR .NET % temps de chargement  | Chargement CLR .NET  | 
| Chargement CLR .NET Taux des échecs de chargement  | Chargement CLR .NET  | 
| Conflit CLR LocksAndThreads .NET Rate/Sec  | .NET CLR LocksAndThreads  | 
| File d'attente .NET CLR LocksAndThreads Length/Sec  | .NET CLR LocksAndThreads  | 
| Mémoire CLR .NET \$1 Nombre total d'octets engagés  | Mémoire CLR .NET | 
| Mémoire CLR .NET % de temps en GC | Mémoire CLR .NET | 
| .NET CLR Networking 4.0.0.0 HttpWebRequest Temps d'attente moyen  | Mise en réseau CLR .NET 4.0.0.0  | 
| Mise en réseau .NET CLR HttpWebRequests 4.0.0.0 abandonnée par seconde  | Mise en réseau CLR .NET 4.0.0.0  | 
| Le réseau .NET CLR HttpWebRequests 4.0.0.0 a échoué/sec  | Mise en réseau CLR .NET 4.0.0.0  | 
| .NET CLR Networking HttpWebRequests 4.0.0.0 en file d'attente/sec  | Mise en réseau CLR .NET 4.0.0.0  | 
| APP\$1POOL\$1WAS Total des échecs de ping de processus de travail | APP\$1POOL\$1WAS | 
| L'application ASP.NET redémarre  | ASP.NET  | 
| Demandes ASP.NET rejetées | ASP.NET | 
| Le processus ASP.NET Worker redémarre | ASP.NET | 
| Tronquage des API du cache des applications ASP.NET | Applications ASP.NET | 
| Applications ASP.NET Temps de traitement en % du processeur géré (estimé) | Applications ASP.NET | 
| Applications ASP.NET Total erreurs/s | Applications ASP.NET | 
|  Applications ASP.NET Erreurs non traitées pendant l'exécution/s  |  Applications ASP.NET  | 
|  Applications ASP.NET Demandes en file d'attente d'application  |  Applications ASP.NET  | 
|  Applications ASP.NET Demandes/s  |  Applications ASP.NET  | 
| Temps d'attente de la demande ASP.NET  | ASP.NET  | 
| Demandes ASP.NET en file d'attente  | ASP.NET  | 
| Base de données ==> Résultats en du cache de bases de données des instances | Base de données ==> Instances | 
| Base de données ==> Instances La I/O base de données lit la latence moyenne | Base de données ==> Instances | 
| Base de données ==> Instances lues par I/O seconde | Base de données ==> Instances | 
| Base de données ==> Instances : I/O log, écritures, latence moyenne | Base de données ==> Instances | 
| DirectoryServices DRA en attente d'opérations de réplication | DirectoryServices | 
| DirectoryServices SYNCHRONISATIONS DE RÉPLICATION DRA EN ATTENTE | DirectoryServices | 
| DirectoryServices Heure de liaison LDAP | DirectoryServices | 
| Requêtes récursives DNS par seconde | DNS | 
| Échec de la requête récursive DNS /s | DNS | 
| Requête DNS TCP reçue/s | DNS | 
| Total DNS Requête reçue/s | DNS | 
| Réponse totale DNS envoyée/s | DNS | 
| Requête DNS TCP reçue/s | DNS | 
| Files d'attente de service HTTP CurrentQueueSize  | Files d'attente de demandes de service HTTP  | 
|  LogicalDisk % d'espace libre  |  LogicalDisk  | 
| LogicalDisk Moyenne. Disk Write/sec (Écriture/s sur disque) | LogicalDisk | 
| LogicalDisk Moyenne. Disk sec/Read (Lecture/s sur disque) | LogicalDisk | 
| LogicalDisk Moyenne. Longueur de la file d'attente de disque | LogicalDisk | 
|  % d'octets validés de mémoire en cours d'utilisation  | Mémoire | 
|  Mo de mémoire disponible  |  Mémoire  | 
| Mémoire Pages/Sec  |  Mémoire  | 
| Durée de vie moyenne du cache en veille à long terme de la mémoire (s) | Mémoire | 
|  Total octets interface réseau/s  | Interface réseau | 
| Octets d'interface réseau reçus/s | Interface réseau | 
| Octets d'interface réseau envoyés/sec | Interface réseau | 
| Bande passante actuelle de l'interface réseau | Interface réseau | 
|  Utilisation en % du fichier de pagination  |  Fichier de pagination  | 
| PhysicalDisk % de temps sur le disque | PhysicalDisk | 
| PhysicalDisk Moyenne. Longueur de la file d'attente de disque | PhysicalDisk | 
| PhysicalDisk Moyenne. Lecture/s sur disque | PhysicalDisk | 
| PhysicalDisk Moyenne. Écriture/s sur disque | PhysicalDisk | 
| PhysicalDisk Octets lus sur le disque par seconde | PhysicalDisk | 
| PhysicalDisk Lectures sur disque par seconde | PhysicalDisk | 
| PhysicalDisk Octets d'écriture sur disque par seconde | PhysicalDisk | 
| PhysicalDisk Nombre d'écritures sur disque par seconde | PhysicalDisk | 
|  Temps d'inactivité en % du processeur  | Processeur | 
| Durée d'interruption en % du processeur |  Processeur  | 
| Temps de traitement en % du processeur |  Processeur  | 
| Temps utilisateur en % du processeur |  Processeur  | 
| SharePoint Taux de remplissage du cache blob basé sur disque  | SharePoint Cache sur disque  | 
| SharePoint Cache sur disque : le cache blob est vidé par seconde  | SharePoint Cache sur disque  | 
| SharePoint Taux de réussite du cache Blob basé sur le disque  | SharePoint Cache sur disque  | 
| SharePoint Cache sur disque Nombre total de compactages de cache | SharePoint Cache sur disque  | 
| SharePoint Time/Page Demande d'exécution par la Fondation | SharePoint Fondation | 
| SharePoint Cache de publication Le cache de publication est vidé par seconde | SharePoint Cache de publication | 
| Authentications Kerberos des statistiques de sécurité à l'échelle du système | Statistiques de sécurité à l'échelle du système | 
| Authentications NTLM des statistiques de sécurité à l'échelle du système | Statistiques de sécurité à l'échelle du système | 
| SQLServer:Méthodes d'accès : enregistrements transférés par seconde |  SQLServer:Méthodes d'accès  | 
| SQLServer:Méthodes d'accès : scans complets par seconde |  SQLServer:Méthodes d'accès  | 
| SQLServer:Méthodes d'accès : pages fractionnées par seconde |  SQLServer:Méthodes d'accès  | 
| SQLServer:Buffer Manager : taux de réussite du cache tampon |  SQLServer:Gestionnaire de mémoire tampon  | 
| SQLServer:Durée de vie de la page Buffer Manager |  SQLServer:Gestionnaire de mémoire tampon  | 
| SQLServer:Octets de fichier de réplique de base de données reçus/sec | SQLServer:Réplique de base de | 
| SQLServer:Réplique de base de données : octets de journal reçus par seconde | SQLServer:Réplique de base de | 
| SQLServer:Journal de réplication de base de données restant à annuler | SQLServer:Réplique de base de | 
| SQLServer:Database Replica Log Send Queue | SQLServer:Réplique de base de | 
| SQLServer:Réplique de base de données, transaction d'écriture en miroite/SEC | SQLServer:Réplique de base de | 
| SQLServer:File d'attente de restauration d'une réplique de base | SQLServer:Réplique de base de | 
| SQLServer:Réplique de base de données : rétablir les octets restants | SQLServer:Réplique de base de | 
| SQLServer:Réplique de base de données refaite octets/s | SQLServer:Réplique de base de | 
| SQLServer:Database Replica Total Log nécessitant une annulation | SQLServer:Réplique de base de | 
| SQLServer:Retard de transaction de réplication de base de données | SQLServer:Réplique de base de | 
| SQLServer:Processus de statistiques générales bloqués |  SQLServer:Statistiques générales  | 
| SQLServer:Statistiques générales Connexions utilisateur | SQLServer:Statistiques générales | 
| SQLServer:Temps d'attente moyen pour les verrous (ms)  | SQLServer:Loquets  | 
| SQLServer:Temps d'attente moyen des verrous (ms)  | SQLServer:Serrures  | 
| SQLServer:Serrures et verrous Timeouts/Sec  | SQLServer:Serrures  | 
| SQLServer:Serrures et verrous Waits/Sec  | SQLServer:Serrures  | 
| SQLServer:Nombre de verrous Deadlocks/Sec  | SQLServer:Serrures  | 
| SQLServer:Memory Manager : subventions de mémoire en attente  | SQLServer:Gestionnaire de mémoire  | 
| SQLServer:SQL Statistics Batch Requests/sec | SQLServer:Statistiques SQL | 
| SQLServer:Statistiques SQL Compilations SQL/sec | SQLServer:Statistiques SQL | 
| SQLServer:Statistiques SQL Re-compilations SQL/sec |  SQLServer:Statistiques SQL  | 
| Longueur de la file d'attente du processeur système |  Système  | 
| TCPv4 Connexions établies | TCPv4 | 
| TCPv6 Connexions établies | TCPv6 | 
| W3SVC\$1W3WP Vidages du cache de fichiers  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP Échecs du cache de fichiers  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP Requests/Sec  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP Vidages de cache d'URI  | W3SVC\$1W3WP  | 
| W3SVC\$1W3WP Échecs de cache d'URI  | W3SVC\$1W3WP  | 
| Service Web Octets reçus/s |  Services web  | 
| Service Web Octets envoyés/s |  Services web  | 
|  Connexion au service Web Attempts/Sec   |  Services web  | 
| Service Web Connexions actuelles  |  Services web  | 
| Service Web Obtenir Requests/Sec  |  Services web  | 
| Service Web Post Requests/Sec  |  Services web  | 

# Utilisation de l'affichage de l'état des ressources dans la CloudWatch console
<a name="servicelens_resource_health"></a>

Vous pouvez utiliser l'affichage d'état des ressources pour découvrir, gérer et visualiser automatiquement l'état et les performances des hôtes dans leurs applications dans une vue unique. Vous pouvez visualiser l'état de leurs hôtes par une dimension de performance telle que l'UC ou la mémoire, et découper des centaines d'hôtes dans une seule vue à l'aide de filtres. Vous pouvez filtrer par identifications ou par cas d'utilisation, tels que les hôtes du même groupe Auto Scaling ou les hôtes qui utilisent le même équilibreur de charge, 

## Conditions préalables
<a name="servicelens_resource_health-prerequisites"></a>

Pour vous assurer de bénéficier pleinement de l'affichage de l'état des ressources, vérifiez que les conditions préalables suivantes sont remplies.
+ Pour connaître l'utilisation de la mémoire par vos hôtes et l'utiliser comme filtre, vous devez installer l' CloudWatch agent sur vos hôtes et le configurer pour envoyer une métrique de mémoire CloudWatch dans l'espace de `CWAgent` noms par défaut. Sur les instances Linux et macOS, l' CloudWatch agent doit envoyer la `mem_used_percent` métrique. Sur les instances Windows, l'agent doit envoyer la métrique `Memory % Committed Bytes In Use`. Ces métriques sont incluses si vous utilisez l'assistant pour créer le fichier de configuration de l' CloudWatch agent et sélectionnez l'un des ensembles de métriques prédéfinis. Les métriques collectées par l' CloudWatch agent sont facturées comme des métriques personnalisées. Pour de plus amples informations, veuillez consulter [Installation de l' CloudWatch agent](install-CloudWatch-Agent-on-EC2-Instance.md). 

  Lorsque vous utilisez l' CloudWatch agent pour collecter ces métriques de mémoire à utiliser avec la vue de l'état des ressources, vous devez inclure la section suivante dans le fichier de configuration de l' CloudWatch agent. Cette section contient les paramètres de dimension par défaut et est créée par défaut. Par conséquent, ne modifiez aucune partie de cette section à quelque chose de différent de ce qui est indiqué dans l'exemple suivant.

  ```
  "append_dimensions": {
    "ImageId": "${aws:ImageId}",
    "InstanceId": "${aws:InstanceId}",
    "InstanceType": "${aws:InstanceType}",
    "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
  },
  ```
+  Pour afficher toutes les informations disponibles dans l'affichage de l'état de la ressource, vous devez être connecté à un compte disposant des autorisations suivantes. Si vous êtes connecté avec moins d'autorisations, vous pouvez toujours utiliser la vue données d'état des ressources, mais certaines données de performances ne seront pas visibles.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": [
                  "autoscaling:Describe*",
                  "cloudwatch:Describe*",
                  "cloudwatch:Describe*",
                  "cloudwatch:Get*",
                  "cloudwatch:List*",
                  "logs:Get*",
                  "logs:Describe*",
                  "sns:Get*",
                  "sns:List*",
                  "ec2:DescribeInstances",
                  "ec2:DescribeInstanceStatus",
                  "ec2:DescribeRegions"
              ],
              "Effect": "Allow",
              "Resource": "*"
          }
      ]
  }
  ```

------

**Pour afficher l'état des ressources dans votre compte**

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

1. Dans le volet de navigation, sélectionnez **Informations**, **État des ressources EC2**.

   La page d'état de la ressource apparaît et affiche un carré pour chaque hôte de votre compte. Chaque carré est coloré en fonction de l'état actuel de cet hôte, en fonction du paramètre **Color by (Couleur par)**. Les carrés de l'hôte avec un symbole d'alerte comportent une ou plusieurs alertes actuellement en état alerte.

   Vous pouvez voir jusqu'à 500 hôtes dans une seule vue. Si vous avez plus d'hôtes dans votre compte, utilisez les paramètres de filtre à l'étape 6 de cette procédure.

1. Pour modifier les critères utilisés pour afficher l'état de santé de chaque hôte, choisissez un paramètre pour **Color by (Couleur par)**. Vous pouvez choisir **CPU Utilization (Utilisation de l'UC)**, puis **Memory Utilization (Utilisation de la mémoire)** ou **Status check (Contrôle d'états)**. Les métriques d'utilisation de la mémoire ne sont disponibles que pour les hôtes qui exécutent l' CloudWatch agent et qui l'ont configuré pour collecter des métriques de mémoire et les envoyer vers l'espace de `CWAgent` noms par défaut. Pour de plus amples informations, veuillez consulter [Collectez des métriques, des journaux et des traces à l'aide de l' CloudWatch agent](Install-CloudWatch-Agent.md).

1. Pour modifier les seuils et les couleurs utilisés pour les indicateurs d'état dans la grille, choisissez l'icône d'engrenage au-dessus de la grille.

1. Pour activer ou désactiver l'affichage des alertes dans la grille de l'hôte, sélectionnez ou désactivez **Show alarms across all metrics (Afficher les alertes sur toutes les métriques)**.

1. Pour diviser les hôtes de la carte en groupes, choisissez un critère de regroupement pour **Group by (Regrouper par)**.

1. Pour réduire la vue à moins d'hôtes, choisissez un critère de filtre pour **Filter by (Filter par)**. Vous pouvez filtrer par identifications et par groupes de ressources tels que le groupe Auto Scaling, le type d'instance, le groupe de sécurité, etc.

1. Pour trier les hôtes, choisissez un critère de tri pour **Sort by (Trier par)**. Vous pouvez trier les résultats du contrôle d'état, l'état de l'instance, l'utilisation de l'UC ou de la mémoire, et le nombre d'alertes qui sont en état alerte.

1. Pour afficher plus d'informations sur un hôte, choisissez le carré qui représente cet hôte. Un panneau contextuel s'affiche. Pour ensuite approfondir les informations sur cet hôte, choisissez **View dashboard (Afficher le tableau de bord)** ou **View on list (Afficher sur la liste)**.