

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

# CloudWatch Solution Amazon : Prometheus collecte de métriques sur Amazon Amazon EC2
<a name="Solution-Prometheus-On-EC2"></a>

Cette solution vous permet de collecter des métriques Prometheus compatibles à partir de vos instances Amazon EC2 sans exécuter ni faire évoluer votre propre infrastructure de collecte. Vous exécutez un ou plusieurs Prometheus exportateurs sur vos instances, et un collecteur Prometheus CloudWatch géré par Amazon découvre les cibles de votre VPC, extrait leurs `/metrics` points de terminaison et leur transmet les métriques. CloudWatch Pour des informations générales sur toutes les solutions CloudWatch d'observabilité, consultez[CloudWatch solutions d'observabilité](Monitoring-Solutions.md). Pour plus d'informations sur les collecteurs gérés, consultez[Amazon CloudWatch a géré les collectionneurs de Prometheus](managed-prometheus-collectors.md).

**Topics**
+ [Exigences](#Solution-Prometheus-On-EC2-Requirements)
+ [Enable Prometheus exportateurs](#Solution-Prometheus-On-EC2-Exporters)
+ [Étape 1 : configurer la configuration du scrape](#Solution-Prometheus-On-EC2-Scrape-Config)
+ [Étape 2 : Configuration du grattoir](#Solution-Prometheus-On-EC2-Create-Scraper)
+ [Valider la collecte de métriques](#Solution-Prometheus-On-EC2-Validate)
+ [Créez un tableau de bord personnalisé](#Solution-Prometheus-On-EC2-Dashboards)
+ [Coûts](#Solution-Prometheus-On-EC2-Costs)

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

Cette solution est pertinente pour les conditions suivantes :
+ Calcul : instances Amazon EC2 qui exécutent un ou plusieurs Prometheus exportateurs.
+ Amazon VPC avec DNS activé et au moins deux sous-réseaux dans des zones de disponibilité différentes pour le collecteur.
+ Un groupe de sécurité qui permet au collecteur d'accéder aux ports d'exportation de vos instances.

## Enable Prometheus exportateurs
<a name="Solution-Prometheus-On-EC2-Exporters"></a>

Un Prometheus exportateur est un processus qui expose les métriques sous forme d'Prometheusexposition sur un point de `/metrics` terminaison HTTP. Vous exécutez un exportateur qui correspond à la charge de travail que vous souhaitez surveiller. Les exportateurs suivants sont couramment utilisés sur Amazon EC2 :
+ **Exportateur de nœuds ** : indicateurs Host-level d'infrastructure tels que le processeur, la mémoire, le disque et le réseau (port par défaut 9100). Pour plus d'informations, consultez le [ référentiel ](https://github.com/prometheus/node_exporter) Node Exporter sur GitHub.
+ **Exportateur JMX ** : mesures des applications JVM et Java pour les charges de travail Java. Pour plus d'informations, consultez le [ référentiel ](https://github.com/prometheus/jmx_exporter) JMX Exporter sur GitHub.
+ **PrometheusExportateur NGINX ** — Serveur Web NGINX et métriques de proxy inverse. Pour plus d'informations, consultez le [ référentiel ](https://github.com/nginx/nginx-prometheus-exporter) NGINX Prometheus Exporter sur. GitHub
+ **Exportateur DCGM ** : mesures des GPU NVIDIA pour les charges de travail des GPU, telles que l'apprentissage automatique, l'apprentissage et l'inférence (port par défaut 9400). Pour plus d'informations, consultez le [ référentiel ](https://github.com/NVIDIA/dcgm-exporter) DCGM Exporter sur GitHub.
+ **HAProxy Exporter ** — Mesures de l'équilibreur de charge HAProxy. Pour plus d'informations, consultez le [ référentiel ](https://github.com/prometheus/haproxy_exporter) HAProxy Exporter sur GitHub.
+ **Exportateur Apache ** — Métriques du serveur HTTP Apache. Pour plus d'informations, consultez le [ référentiel ](https://github.com/Lusitaniae/apache_exporter) Apache Exporter sur GitHub.

Installez et exécutez chaque exportateur sur vos instances en suivant sa documentation officielle. Notez le port sur lequel chaque exportateur écoute, car vous faites référence à ces ports dans votre configuration Scrape. Pour un catalogue complet des exportateurs disponibles, voir [ Exportateurs et intégrations ](https://prometheus.io/docs/instrumenting/exporters/) dans la Prometheus documentation.

Après avoir démarré un exportateur, confirmez qu'il expose des métriques en interrogeant son point de terminaison depuis l'instance :

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

## Étape 1 : configurer la configuration du scrape
<a name="Solution-Prometheus-On-EC2-Scrape-Config"></a>

L'exemple suivant utilise `static_configs` avec l'instance des noms DNS privés pour extraire un exemple d'application (port 8080) et Node Exporter (port 9100) sur vos instances Amazon EC2. La `relabel_configs` section ajoute des libellés cohérents à vos statistiques afin que vous puissiez effectuer des requêtes et filtrer les différents services. Pour connaître l'ensemble complet des options de configuration prises en charge, consultez[Configuration du scraper](managed-prometheus-collectors-scraper-configuration.md).

```
global:
  scrape_interval: 30s
  scrape_timeout: 10s

scrape_configs:
  - job_name: 'ec2-metrics'
    static_configs:
      - targets:
          - ip-{{ip-address}}.us-west-2.compute.internal:8080
    metrics_path: '/metrics'
    relabel_configs:
      - source_labels: [__address__]
        target_label: instance
        replacement: 'ec2-metrics-instance'
      - target_label: service
        replacement: 'ec2-metrics'
      - target_label: environment
        replacement: 'dev'
    metric_relabel_configs:
      - source_labels: [__name__]
        regex: '.*'
        action: keep

  - job_name: ec2-node-exporter
    static_configs:
      - targets:
          - ip-{{ip-address}}.us-west-2.compute.internal:9100
```

## Étape 2 : Configuration du grattoir
<a name="Solution-Prometheus-On-EC2-Create-Scraper"></a>

Créez un collecteur VPC-connected géré qui extrait vos instances et fournit des mesures à votre CloudWatch ensemble de données. Indiquez les sous-réseaux et le groupe de sécurité qui permettent au collecteur d'atteindre vos ports d'exportation :

Vous pouvez l'utiliser [GetDefaultScraperConfiguration](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html) pour récupérer une configuration de scraper à usage général ou fournir la vôtre.

------
#### [ AWS API ]

Utilisez l'opération `CreateScraper` API pour créer un scraper avec une CloudWatch destination. Remplacez les informations relatives au sous-réseau, au groupe de sécurité et à l'ensemble de données par vos propres valeurs.

```
POST /scrapers HTTP/1.1

{
  "alias": "ec2-payment-service-scraper",
  "source": {
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  },
  "destination": {
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  },
  "scrapeConfiguration": {
    "configurationBlob": "{{base64-encoded-blob}}"
  }
}
```

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

Utilisez la `create-scraper` commande pour créer un scraper avec une CloudWatch destination. Remplacez les informations relatives au sous-réseau, au groupe de sécurité et à l'ensemble de données par vos propres valeurs.

```
aws amp create-scraper \
  --alias "ec2-payment-service-scraper" \
  --source '{
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  }' \
  --scrape-configuration configurationBlob=$(cat {{ec2-scraper.yml}} | base64 -w 0) \
  --destination '{
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  }'
```

------

Lorsque vous créez un collecteur géré, Amazon Managed Service pour Prometheus crée automatiquement un rôle lié à un service qui accorde au collecteur l'autorisation d'accéder aux ressources de votre VPC et d'écrire dans votre ensemble de données. CloudWatch 

## Valider la collecte de métriques
<a name="Solution-Prometheus-On-EC2-Validate"></a>

En quelques minutes, les métriques commencent à être transmises à votre CloudWatch ensemble de données. Pour vérifier que vos statistiques arrivent, exécutez une requête ad hoc à CloudWatch l'aide de [ Query Studio](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-PromQL-QueryStudio.html). Par exemple, la requête suivante renvoie les mesures relatives à la `ec2-metrics` tâche :

```
{job="ec2-metrics"}
```

## Créez un tableau de bord personnalisé
<a name="Solution-Prometheus-On-EC2-Dashboards"></a>

Une fois que le collecteur a commencé à transmettre vos métriques Amazon EC2 à CloudWatch, vous pouvez créer un tableau de CloudWatch bord personnalisé pour les visualiser. Grâce à des tableaux de bord personnalisés, vous pouvez combiner les statistiques de vos Prometheus exportateurs dans des widgets, ajouter PromQL-based des requêtes et organiser les widgets en fonction de vos besoins de surveillance. Pour plus d'informations, consultez la section [ Utilisation des CloudWatch tableaux de bord. ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)

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

Nous facturons les Prometheus collecteurs à l'heure et un tarif d'ingestion CloudWatch OpenTelemetry métrique s'applique. Pour plus d'informations sur la CloudWatch tarification, consultez la page CloudWatch Tarification [ Amazon](https://aws.amazon.com/cloudwatch/pricing/).