

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.

# Configuration de l’ingestion depuis un serveur Prometheus existant dans Kubernetes sur EC2
<a name="AMP-onboard-ingest-metrics-existing-Prometheus"></a>

Amazon Managed Service for Prometheus prend en charge l’ingestion de métriques à partir de serveurs Prometheus dans des clusters exécutés sur Amazon EKS et dans des clusters Kubernetes exécutés sur Amazon EC2. Les instructions détaillées de cette section concernent un serveur Prometheus dans un cluster Amazon EKS. Les étapes pour un cluster Kubernetes autogéré sur Amazon EC2 sont les mêmes, sauf que vous devrez configurer vous-même le fournisseur OIDC et les rôles IAM pour les comptes de service dans le cluster Kubernetes.

Les instructions de cette section utilisent Helm comme gestionnaire de packages Kubernetes.

**Topics**
+ [Étape 1 : Configurer des rôles IAM pour les comptes de service](#AMP-onboard-existing-Prometheus-IRSA)
+ [Étape 2 : Mettre à niveau votre serveur Prometheus existant à l’aide de Helm](#AMP-onboard-ingest-metrics-existing-remotewrite)

## Étape 1 : Configurer des rôles IAM pour les comptes de service
<a name="AMP-onboard-existing-Prometheus-IRSA"></a>

Pour cette méthode d’intégration indiquée, vous devez utiliser des rôles IAM pour les comptes de service du cluster Amazon EKS où le serveur Prometheus est exécuté. Ces rôles sont également appelés *fonctions du service*.

Avec les rôles de service, vous pouvez associer un rôle IAM à un compte de service Kubernetes. Ce compte de service peut ensuite fournir des AWS autorisations aux conteneurs de n'importe quel pod utilisant ce compte de service. Pour plus d’informations, consultez la section [Rôles IAM pour les comptes de service](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).

Si vous n’avez pas encore configuré ces rôles, suivez les instructions de la section [Configuration de rôles de service pour l’ingestion de métriques à partir de clusters Amazon EKS](set-up-irsa.md#set-up-irsa-ingest) pour les configurer.

## Étape 2 : Mettre à niveau votre serveur Prometheus existant à l’aide de Helm
<a name="AMP-onboard-ingest-metrics-existing-remotewrite"></a>

Les instructions de cette section incluent la configuration de l’écriture à distance et de sigv4 pour authentifier et autoriser le serveur Prometheus à écrire à distance sur votre espace de travail Amazon Managed Service for Prometheus.

### Utilisation de Prometheus version 2.26.0 ou ultérieure
<a name="AMP-onboard-ingest-metrics-Helm13"></a>

Suivez ces étapes si vous utilisez des Charts de Helm avec une image du serveur Prometheus version 2.26.0 ou ultérieure.

**Pour configurer l’écriture à distance depuis un serveur Prometheus à l’aide de Charts de Helm**

1. Créez une nouvelle section d’écriture à distance dans votre fichier de configuration Helm :
   + `${IAM_PROXY_PROMETHEUS_ROLE_ARN}`Remplacez-le par l'ARN du **amp-iamproxy-ingest-role**que vous avez créé dans[Étape 1 : Configurer des rôles IAM pour les comptes de service](#AMP-onboard-existing-Prometheus-IRSA). L’ARN du rôle doit être au format `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role`.
   + Remplacez `${WORKSPACE_ID}` par l’ID de votre espace de travail Amazon Managed Service for Prometheus.
   + Remplacez `${REGION}` par la Région de votre espace de travail Amazon Managed Service for Prometheus (comme `us-west-2`).

   ```
   ## The following is a set of default values for prometheus server helm chart which enable remoteWrite to AMP
       ## For the rest of prometheus helm chart values see: https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml
       ##
       serviceAccounts:
         server:
           name: amp-iamproxy-ingest-service-account
           annotations: 
             eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN}
       server:
         remoteWrite:
           - url: https://aps-workspaces.${REGION}.amazonaws.com/workspaces/${WORKSPACE_ID}/api/v1/remote_write
             sigv4:
               region: ${REGION}
             queue_config:
               max_samples_per_send: 1000
               max_shards: 200
               capacity: 2500
   ```

1. Mettez à jour la configuration existante de votre serveur Prometheus à l’aide de Helm :
   + Remplacez `prometheus-chart-name` par le nom de votre version de Prometheus.
   + Remplacez `prometheus-namespace` par l’espace de noms Kubernetes dans lequel votre serveur Prometheus est installé.
   + Remplacez `my_prometheus_values_yaml` par le chemin d’accès à votre fichier de configuration Helm.
   + Remplacez `current_helm_chart_version` par la version actuelle de vos Charts de Helm du serveur Prometheus. Vous pouvez trouver la version actuelle du graphique à l’aide de la commande [helm list](https://helm.sh/docs/helm/helm_list/).

   ```
   helm upgrade prometheus-chart-name prometheus-community/prometheus \
          -n prometheus-namespace \
          -f my_prometheus_values_yaml \
          --version current_helm_chart_version
   ```

### Utilisation de versions antérieures de Prometheus
<a name="AMP-onboard-ingest-metrics-Helm8"></a>

Suivez ces étapes si vous utilisez une version de Prometheus antérieure à la version 2.26.0. Ces étapes utilisent une approche parallèle, car les versions antérieures de Prometheus ne prennent pas en charge nativement le processus de AWS signature Signature version 4 (SigV4).AWS 

Ces instructions supposent que vous utilisez Helm pour déployer Prometheus.

**Pour configurer l’écriture à distance depuis un serveur Prometheus**

1. Sur votre serveur Prometheus, créez une nouvelle configuration d’écriture à distance. Commencez par créer un nouveau fichier de mise à jour. Nous appellerons ce fichier `amp_ingest_override_values.yaml`.

   Ajoutez les valeurs suivantes au fichier YALM.

   ```
   serviceAccounts:
           server:
               name: "amp-iamproxy-ingest-service-account"
               annotations:
                   eks.amazonaws.com/role-arn: "${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}"
       server:
           sidecarContainers:
               - name: aws-sigv4-proxy-sidecar
                 image: public.ecr.aws/aws-observability/aws-sigv4-proxy:1.0
                 args:
                 - --name
                 - aps
                 - --region
                 - ${REGION}
                 - --host
                 - aps-workspaces.${REGION}.amazonaws.com
                 - --port
                 - :8005
                 ports:
                 - name: aws-sigv4-proxy
                   containerPort: 8005
           statefulSet:
               enabled: "true"
           remoteWrite:
               - url: http://localhost:8005/workspaces/${WORKSPACE_ID}/api/v1/remote_write
   ```

   Remplacez `${REGION}` par la Région de votre espace de travail Amazon Managed Service for Prometheus.

   `${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}`Remplacez-le par l'ARN du **amp-iamproxy-ingest-role**que vous avez créé dans[Étape 1 : Configurer des rôles IAM pour les comptes de service](#AMP-onboard-existing-Prometheus-IRSA). L’ARN du rôle doit être au format `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role`.

   Remplacez `${WORKSPACE_ID}` par votre ID d’espace de travail.

1. Mettez à niveau vos Charts de Helm Prometheus. Commencez par rechercher le nom de vos Charts de Helm en entrant la commande suivante. Dans la sortie de cette commande, recherchez un graphique dont le nom inclut `prometheus`.

   ```
   helm ls --all-namespaces
   ```

   Entrez ensuite la commande suivante.

   ```
   helm upgrade --install prometheus-helm-chart-name prometheus-community/prometheus -n prometheus-namespace -f ./amp_ingest_override_values.yaml
   ```

   Remplacez *prometheus-helm-chart-name* par le nom du diagramme de barre de Prometheus renvoyé dans la commande précédente. Remplacez *prometheus-namespace* par le nom de votre espace de noms.

#### Téléchargement de Charts de Helm
<a name="AMP-onboard-ingest-downloadHelm"></a>

Si vous n’avez pas encore téléchargé les Charts de Helm en local, vous pouvez utiliser la commande suivante pour les télécharger.

```
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm pull prometheus-community/prometheus --untar
```