

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.

# 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).