

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# CloudWatch Amazon-Lösung: Prometheus Erfassung von Metriken auf Amazon Amazon EC2
<a name="Solution-Prometheus-On-EC2"></a>

Diese Lösung hilft Ihnen dabei, Prometheus kompatible Metriken von Ihren Amazon EC2-Instances zu sammeln, ohne Ihre eigene Erfassungsinfrastruktur ausführen oder skalieren zu müssen. Sie führen einen oder mehrere Prometheus Exporter auf Ihren Instances aus, und ein von Amazon CloudWatch verwalteter Prometheus-Collector erkennt die Ziele in Ihrer VPC, scannt deren `/metrics` Endpunkte und liefert die Metriken an. CloudWatch Allgemeine Informationen zu allen Observability-Lösungen finden Sie unter. CloudWatch [CloudWatch Observability-Lösungen](Monitoring-Solutions.md) Weitere Informationen zu verwalteten Collectors finden Sie unter[Amazon CloudWatch verwaltete Prometheus-Sammler](managed-prometheus-collectors.md).

**Topics**
+ [Voraussetzungen](#Solution-Prometheus-On-EC2-Requirements)
+ [Aktivieren Prometheus Exporteure](#Solution-Prometheus-On-EC2-Exporters)
+ [Schritt 1: Richten Sie die Scrape-Konfiguration ein](#Solution-Prometheus-On-EC2-Scrape-Config)
+ [Schritt 2: Richte den Schaber ein](#Solution-Prometheus-On-EC2-Create-Scraper)
+ [Validieren Sie die Erfassung der Kenn](#Solution-Prometheus-On-EC2-Validate)
+ [Erstellen Sie ein benutzerdefiniertes Dashboard](#Solution-Prometheus-On-EC2-Dashboards)
+ [Kosten](#Solution-Prometheus-On-EC2-Costs)

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

Diese Lösung ist für folgende Bedingungen relevant:
+ Compute: Amazon EC2-Instances, auf denen ein oder mehrere Prometheus Exporteure ausgeführt werden.
+ Amazon VPC mit aktiviertem DNS und mindestens zwei Subnetzen in verschiedenen Availability Zones für den Collector.
+ Eine Sicherheitsgruppe, die es dem Collector ermöglicht, die Exporter-Ports auf Ihren Instances zu erreichen.

## Aktivieren Prometheus Exporteure
<a name="Solution-Prometheus-On-EC2-Exporters"></a>

Ein Prometheus Exporter ist ein Prozess, der Metriken im Prometheus Expositionsformat auf einem HTTP-Endpunkt verfügbar macht. `/metrics` Sie führen einen Exporter aus, der der Arbeitslast entspricht, die Sie überwachen möchten. Die folgenden Exporteure werden häufig in Amazon EC2 verwendet:
+ **Node Exporter ** — Host-level Infrastrukturkennzahlen wie CPU, Arbeitsspeicher, Festplatte und Netzwerk (Standardport 9100). Weitere Informationen finden Sie im [ Node Exporter-Repository ](https://github.com/prometheus/node_exporter) unter. GitHub
+ **JMX Exporter ** — JVM- und Java-Anwendungsmetriken für Java-Workloads. Weitere Informationen finden Sie im [ JMX Exporter-Repository unter. ](https://github.com/prometheus/jmx_exporter) GitHub
+ **NGINX Prometheus Exporter ** — NGINX-Webserver- und Reverse-Proxy-Metriken. Weitere Informationen finden Sie im NGINX Exporter-Repository unter[. Prometheus](https://github.com/nginx/nginx-prometheus-exporter) GitHub
+ **DCGM Exporter ** — NVIDIA-GPU-Metriken für GPU-Workloads wie maschinelles Lerntraining und Inferenz (Standardport 9400). Weitere Informationen finden Sie im DCGM Exporter-Repository unter[. ](https://github.com/NVIDIA/dcgm-exporter) GitHub
+ **HAProxy Exporter ** — HAProxy Load Balancer-Metriken. Weitere Informationen finden Sie im [ HAProxy Exporter-Repository unter. ](https://github.com/prometheus/haproxy_exporter) GitHub
+ **Apache Exporter ** — Apache HTTP-Server-Metriken. Weitere Informationen finden Sie im [ Apache ](https://github.com/Lusitaniae/apache_exporter) Exporter-Repository unter. GitHub

Installieren Sie jeden Exporter und führen Sie ihn auf Ihren Instances aus, indem Sie der offiziellen Dokumentation folgen. Notieren Sie sich den Port, den jeder Exporteur abhört, da Sie in Ihrer Scrape-Konfiguration auf diese Ports verweisen. Einen vollständigen Katalog der verfügbaren Exporteure finden Sie in der Dokumentation unter [ Exporteure und Integrationen. ](https://prometheus.io/docs/instrumenting/exporters/) Prometheus

Nachdem Sie einen Exporter gestartet haben, stellen Sie sicher, dass er Metriken verfügbar macht, indem Sie seinen Endpunkt von der Instance aus abfragen:

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

## Schritt 1: Richten Sie die Scrape-Konfiguration ein
<a name="Solution-Prometheus-On-EC2-Scrape-Config"></a>

Im folgenden Beispiel werden `static_configs` mit der Instance private DNS-Namen verwendet, um eine Beispielanwendung (Port 8080) und Node Exporter (Port 9100) auf Ihren Amazon EC2-Instances zu scrapen. Der `relabel_configs` Abschnitt fügt Ihren Metriken konsistente Bezeichnungen hinzu, sodass Sie dienstübergreifende Abfragen und Filter durchführen können. Den vollständigen Satz der unterstützten Konfigurationsoptionen finden Sie unter[Scraper-Konfiguration](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
```

## Schritt 2: Richte den Schaber ein
<a name="Solution-Prometheus-On-EC2-Create-Scraper"></a>

Erstellen Sie einen VPC-connected verwalteten Collector, der Ihre Instances scrapft und Metriken an Ihren CloudWatch Datensatz übermittelt. Geben Sie die Subnetze und die Sicherheitsgruppe an, über die der Collector Ihre Exporter-Ports erreichen kann:

Sie können [GetDefaultScraperConfiguration](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html) es verwenden, um eine allgemeine Scraper-Konfiguration abzurufen oder Ihre eigene bereitzustellen.

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

Verwenden Sie die `CreateScraper` API-Operation, um einen Scraper mit einem Ziel zu erstellen. CloudWatch Ersetzen Sie die Subnetz-, Sicherheitsgruppen- und Datensatzinformationen durch Ihre eigenen Werte.

```
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 ]

Verwenden Sie den `create-scraper` Befehl, um einen Scraper mit einem CloudWatch Ziel zu erstellen. Ersetzen Sie die Subnetz-, Sicherheitsgruppen- und Datensatzinformationen durch Ihre eigenen Werte.

```
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"
    }
  }'
```

------

Wenn Sie einen verwalteten Collector erstellen, erstellt Amazon Managed Service for Prometheus automatisch eine serviceverknüpfte Rolle, die dem Collector die Erlaubnis erteilt, auf Ihre VPC-Ressourcen zuzugreifen und in Ihren Datensatz zu schreiben. CloudWatch 

## Validieren Sie die Erfassung der Kenn
<a name="Solution-Prometheus-On-EC2-Validate"></a>

Innerhalb weniger Minuten beginnen die Messwerte in Ihren CloudWatch Datensatz zu fließen. Führen Sie CloudWatch mithilfe [ von Query Studio ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-PromQL-QueryStudio.html) eine Ad-hoc-Abfrage aus, um zu bestätigen, dass Ihre Metriken eintreffen. Die folgende Abfrage gibt beispielsweise die Metriken für den `ec2-metrics` Job zurück:

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

## Erstellen Sie ein benutzerdefiniertes Dashboard
<a name="Solution-Prometheus-On-EC2-Dashboards"></a>

Nachdem der Collector mit der Bereitstellung Ihrer Amazon EC2-Metriken begonnen hat CloudWatch, können Sie ein benutzerdefiniertes CloudWatch Dashboard erstellen, um sie zu visualisieren. Mit benutzerdefinierten Dashboards können Sie die Metriken Ihrer Prometheus Exporteure in Widgets kombinieren, PromQL-based Abfragen hinzufügen und die Widgets so organisieren, dass sie Ihren Überwachungsanforderungen entsprechen. Weitere Informationen finden Sie unter [ Verwenden von CloudWatch Dashboards. ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)

## Kosten
<a name="Solution-Prometheus-On-EC2-Costs"></a>

Wir berechnen die Gebühren pro Stunde, und es gelten die Preise für Prometheus die CloudWatch OpenTelemetry Erfassung metrischer Daten. Weitere Informationen zur CloudWatch Preisgestaltung finden Sie unter [ CloudWatch Amazon-Preise. ](https://aws.amazon.com/cloudwatch/pricing/)