

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.

# Einrichten der Erfassung von Metriken aus einer Amazon-EC2-Instance mithilfe von Remote-Write
<a name="AMP-onboard-ingest-metrics-remote-write-EC2"></a>

In diesem Abschnitt wird erläutert, wie Sie einen Prometheus-Server mit Remote-Write in einer Instance von Amazon Elastic Compute Cloud (Amazon EC2) ausführen. Es wird erklärt, wie Sie Metriken aus einer in Go geschriebenen Demo-Anwendung sammeln und sie an einen Workspace in Amazon Managed Service für Prometheus senden.

## Voraussetzungen
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-prereq"></a>

**Wichtig**  
Bevor Sie beginnen, müssen Sie Prometheus v2.26 oder höher installiert haben. Wir gehen davon aus, dass Sie mit Prometheus, Amazon EC2 und Amazon Managed Service für Prometheus vertraut sind. Informationen zur Installation von Prometheus finden Sie unter [Erste Schritte](https://prometheus.io/docs/prometheus/latest/getting_started/) auf der Prometheus-Website.

Wenn Sie mit Amazon EC2 oder Amazon Managed Service für Prometheus nicht vertraut sind, empfehlen wir Ihnen, zunächst die folgenden Abschnitte zu lesen:
+ [Was ist Amazon Elastic Compute Cloud?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)
+ [Was ist Amazon Managed Service für Prometheus?](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)

## Erstellen Sie eine IAM-Rolle für Amazon EC2
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-IAM"></a>

Um Metriken zu streamen, müssen Sie zunächst eine IAM-Rolle mit der AWS verwalteten Richtlinie erstellen. **AmazonPrometheusRemoteWriteAccess** Anschließend können Sie eine Instance mit der Rolle starten und Metriken in Ihren Workspace in Amazon Managed Service für Prometheus streamen.

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Roles (Rollen)** und dann **Create role (Rolle erstellen)** aus.

1. Wählen Sie als Typ der vertrauenswürdigen Entität **AWS -Service** aus. Wählen Sie für den Anwendungsfall **EC2** aus. Wählen Sie **Weiter: Berechtigungen** aus.

1. Geben Sie im Suchfeld **AmazonPrometheusRemoteWriteAccess** ein. Wählen Sie als **Richtlinienname **AmazonPrometheusRemoteWriteAccess****die Option **Richtlinie anhängen** aus. Wählen Sie **Weiter: Tags** aus.

1. (Optional) Erstellen Sie IAM-Tags für Ihre IAM-Rolle. Wählen Sie **Weiter: Prüfen** aus.

1. Geben Sie einen Namen für die neue Rolle ein. Wählen Sie **Richtlinie erstellen** aus.

## Starten Sie eine Amazon-EC2-Instance
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-instance"></a>

Befolgen Sie die Anweisungen unter [Eine Instance starten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) im *Amazon EC2-Benutzerhandbuch für Linux-Instances*, um eine Amazon-EC2-Instance zu starten.

## Setzen Sie die Demo-App ein
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-demo"></a>

Nachdem Sie Ihre IAM-Rolle erstellt und eine EC2-Instance mit der Rolle gestartet haben, können Sie eine Demo-Anwendung ausführen, um zu sehen, wie sie funktioniert.

**Um eine Demo-Anwendung auszuführen und Metriken zu testen**

1. Verwenden Sie die folgende Vorlage, um eine Go-Datei mit dem Namen `main.go` zu erstellen.

   ```
   package main
   
   import (
       "github.com/prometheus/client_golang/prometheus/promhttp"
       "net/http"
   )
   
   func main() {
       http.Handle("/metrics", promhttp.Handler())
   
       http.ListenAndServe(":8000", nil)
   }
   ```

1. Führen Sie den folgenden Befehl aus, um die richtigen Abhängigkeiten zu installieren.

   ```
   sudo yum update -y
   sudo yum install -y golang
   go get github.com/prometheus/client_golang/prometheus/promhttp
   ```

1. Setzen Sie die Demo-App ein.

   ```
   go run main.go
   ```

   Die Demo-App sollte auf Port 8000 laufen und alle offengelegten Prometheus-Metriken anzeigen. Das ist ein Beispiel dieser Metriken.

   ```
   curl -s http://localhost:8000/metrics 
   ...
   process_max_fds 4096# HELP process_open_fds Number of open file descriptors.# TYPE process_open_fds gauge
   process_open_fds 10# HELP process_resident_memory_bytes Resident memory size in bytes.# TYPE process_resident_memory_bytes gauge
   process_resident_memory_bytes 1.0657792e+07# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.# TYPE process_start_time_seconds gauge
   process_start_time_seconds 1.61131955899e+09# HELP process_virtual_memory_bytes Virtual memory size in bytes.# TYPE process_virtual_memory_bytes gauge
   process_virtual_memory_bytes 7.77281536e+08# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.# TYPE process_virtual_memory_max_bytes gauge
   process_virtual_memory_max_bytes -1# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.# TYPE promhttp_metric_handler_requests_in_flight gauge
   promhttp_metric_handler_requests_in_flight 1# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.# TYPE promhttp_metric_handler_requests_total counter
   promhttp_metric_handler_requests_total{code="200"} 1
   promhttp_metric_handler_requests_total{code="500"} 0
   promhttp_metric_handler_requests_total{code="503"} 0
   ```

## Erstellen eines Workspace in Amazon Managed Service für Prometheus
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-workspace"></a>

Um einen Workspace in Amazon Managed Service für Prometheus zu erstellen, folgen Sie den Anweisungen unter [Einen Workspace erstellen](AMP-create-workspace.md).

## Setzen Sie einen Prometheus-Server ein
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-server"></a>

1. Verwenden Sie die folgende YAML-Beispieldatei als Vorlage, um eine neue Datei mit dem Namen `prometheus.yaml` zu erstellen. {{my-region}}Ersetzen Sie für `url` durch Ihren Regionswert und {{my-workspace-id}} durch die Workspace-ID, die Amazon Managed Service for Prometheus für Sie generiert hat. Ersetzen Sie für `region` durch den {{my-region}} Wert für Ihre Region.

   **Beispiel: YAML-Datei**

   ```
   global:
     scrape_interval: 15s
     external_labels:
       monitor: 'prometheus'
   
   scrape_configs:
     - job_name: 'prometheus'
       static_configs:
         - targets: ['localhost:8000']
   
   remote_write:
     -
       url: https://aps-workspaces.{{my-region}}.amazonaws.com/workspaces/{{my-workspace-id}}/api/v1/remote_write
       queue_config:
           max_samples_per_send: 1000
           max_shards: 200
           capacity: 2500
       sigv4:
            region: {{my-region}}
   ```

1. Führen Sie den Prometheus-Server aus, um die Metriken der Demo-App an Ihren Workspace in Amazon Managed Service für Prometheus zu senden.

   ```
   prometheus --config.file=prometheus.yaml
   ```

Der Prometheus-Server sollte jetzt die Metriken der Demo-App an Ihren Workspace in Amazon Managed Service für Prometheus senden.