

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.

# Eine Prometheus-Instance als Kollektor verwenden
<a name="AMP-ingest-with-prometheus"></a>

Sie können eine Prometheus-Instance verwenden, die im *Agentenmodus* läuft (bekannt als *Prometheus-Agent), um Metriken zu sammeln und sie an Ihren Amazon Managed Service for Prometheus-Workspace* zu senden.

In den folgenden Themen werden verschiedene Möglichkeiten beschrieben, eine im Agentenmodus ausgeführte Prometheus-Instance als Kollektor für Ihre Metriken einzurichten.

**Warnung**  
Wenn Sie einen Prometheus-Agenten erstellen, sind Sie für dessen Konfiguration und Wartung verantwortlich. [Vermeiden Sie es, Prometheus-Scrape-Endpunkte dem öffentlichen Internet auszusetzen, indem Sie Sicherheitsfunktionen aktivieren.](https://prometheus.io/docs/prometheus/latest/configuration/https/)

Wenn Sie mehrere Prometheus-Instances einrichten, die dieselben Metriken überwachen, und diese aus Gründen der Hochverfügbarkeit an einen einzigen Workspace in Amazon Managed Service für Prometheus senden, müssen Sie die Deduplizierung einrichten. Wenn Sie die Schritte zur Einrichtung der Deduplizierung nicht befolgen, werden Ihnen alle an Amazon Managed Service für Prometheus gesendeten Datenbeispiele, einschließlich doppelter Beispiele, in Rechnung gestellt. Anweisungen zur Einrichtung der Deduplizierung finden Sie unter [Deduplizierung von Hochverfügbarkeitsmetriken, die an Amazon Managed Service für Prometheus gesendet werden](AMP-ingest-dedupe.md).

**Topics**
+ [Richten Sie die Erfassung von einem neuen Prometheus-Server mithilfe des Befehls „Helm“ ein](AMP-onboard-ingest-metrics-new-Prometheus.md)
+ [Richten Sie die Erfassung von einem vorhandenen Prometheus-Server in Kubernetes auf EC2 ein](AMP-onboard-ingest-metrics-existing-Prometheus.md)
+ [Richten Sie die Erfassung von einem vorhandenen Prometheus-Server in Kubernetes auf Fargate ein](AMP-onboard-ingest-metrics-existing-Prometheus-fargate.md)

# Richten Sie die Erfassung von einem neuen Prometheus-Server mithilfe des Befehls „Helm“ ein
<a name="AMP-onboard-ingest-metrics-new-Prometheus"></a>

Mit den Anweisungen in diesem Abschnitt können Sie Amazon Managed Service für Prometheus schnell einrichten. Sie richten einen neuen Prometheus-Server in einem Amazon-EKS-Cluster ein und der neue Server verwendet eine Standardkonfiguration, um Metriken an Amazon Managed Service für Prometheus zu senden. Für diese Methode müssen die folgenden Voraussetzungen erfüllt sein:
+ Sie benötigen einen Amazon EKS-Cluster, aus dem der neue Prometheus-Server Metriken sammelt.
+ In Ihrem Amazon EKS-Cluster muss ein [Amazon EBS CSI-Treiber](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) installiert sein (von Helm erforderlich).
+ Sie müssen Helm CLI 3.0 oder höher verwenden.
+ Sie müssen einen Linux- oder macOS-Computer verwenden, um die Schritte in den folgenden Abschnitten auszuführen.

## Schritt 1: Hinzufügen neuer Helm-Chart-Repositorys
<a name="AMP-onboard-new-Prometheus-HelmRepo"></a>

Geben Sie die folgenden Befehle ein, um neue Helm-Chart-Repositorys hinzuzufügen. Weitere Informationen zu diesen Befehlen finden Sie unter [Helm Repo](https://helm.sh/docs/helm/helm_repo/).

```
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics
helm repo update
```

## Schritt 2: Erstellen eines Prometheus-Namespace
<a name="AMP-onboard-new-Prometheus-namespace"></a>

Geben Sie den folgenden Befehl ein, um einen Prometheus-Namespace für den Prometheus-Server und andere Monitoring-Komponenten zu erstellen. *prometheus-namespace*Ersetzen Sie durch den Namen, den Sie für diesen Namespace wünschen.

```
kubectl create namespace prometheus-namespace
```

## Schritt 3: Einrichten von IAM-Rollen für Servicekonten
<a name="AMP-onboard-new-Prometheus-IRSA"></a>

Für die Onboarding-Methode, die wir dokumentieren, müssen Sie IAM-Rollen für Servicekonten im Amazon-EKS-Cluster verwenden, in dem der Prometheus-Server läuft. 

Mit IAM-Rollen für Servicekonten können Sie eine IAM-Rolle mit einem Kubernetes-Servicekonto verknüpfen. Dieses Servicekonto kann dann AWS -Berechtigungen für die Container in einem beliebigen Pod bereitstellen, der dieses Servicekonto verwendet. Weitere Informationen finden Sie unter [IAM-Rollen für Servicekonten](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).

Wenn Sie diese Rollen noch nicht eingerichtet haben, folgen Sie den Anweisungen unter [Einrichten von Servicerollen für die Erfassung von Metriken aus Amazon-EKS-Clustern](set-up-irsa.md#set-up-irsa-ingest), um die Rollen einzurichten. Die Anweisungen in diesem Abschnitt erfordern die Verwendung von `eksctl`. Weitere Informationen finden Sie unter [Erste Schritte mit Amazon Elastic Kubernetes Service – `eksctl`](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html). 

**Anmerkung**  
Wenn Sie nicht auf EKS oder sind AWS und nur den Zugriffsschlüssel und den geheimen Schlüssel für den Zugriff auf Amazon Managed Service for Prometheus verwenden, können Sie das `EKS-IAM-ROLE` basierte SigV4 nicht verwenden.

## Schritt 4: Einrichten des neuen Servers und Beginn der Erfassung von Metriken
<a name="AMP-onboard-ingest-metrics-new-Prometheus-Helm"></a>

Gehen Sie wie folgt vor, um den neuen Prometheus-Server zu installieren, der Metriken an Ihren Workspace in Amazon Managed Service für Prometheus sendet.

**Um einen neuen Prometheus-Server zu installieren, um Metriken an Ihren Workspace in Amazon Managed Service für Prometheus zu senden**

1. Erstellen Sie mithilfe eines Texteditors eine Datei mit dem Namen `my_prometheus_values_yaml` mit folgenden Inhalten.
   + *IAM\$1PROXY\$1PROMETHEUS\$1ROLE\$1ARN*Ersetzen Sie es durch den ARN des **amp-iamproxy-ingest-role**, in dem Sie es erstellt haben[Einrichten von Servicerollen für die Erfassung von Metriken aus Amazon-EKS-Clustern](set-up-irsa.md#set-up-irsa-ingest).
   + *WORKSPACE\$1ID*Ersetzen Sie es durch die ID Ihres Amazon Managed Service for Prometheus-Workspace.
   + *REGION*Ersetzen Sie es durch die Region Ihres Amazon Managed Service for Prometheus-Workspace.

   ```
   ## 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. Geben Sie den folgenden Befehl ein, um den Prometheus-Server zu starten.
   + Ersetzen Sie *prometheus-chart-name* durch Ihren Prometheus-Versionsnamen.
   + Ersetzen Sie es *prometheus-namespace* durch den Namen Ihres Prometheus-Namespaces.

   ```
   helm install prometheus-chart-name prometheus-community/prometheus -n prometheus-namespace \
   -f my_prometheus_values_yaml
   ```
**Anmerkung**  
Sie können den `helm install`-Befehl auf viele Arten anpassen. Weitere Informationen finden Sie unter [Helm-Installation](https://helm.sh/docs/helm/helm_install/) in der *Helm-Dokumentation*.

# Richten Sie die Erfassung von einem vorhandenen Prometheus-Server in Kubernetes auf EC2 ein
<a name="AMP-onboard-ingest-metrics-existing-Prometheus"></a>

Amazon Managed Service für Prometheus unterstützt die Erfassung von Metriken von Prometheus-Servern in Clustern, auf denen Amazon EKS ausgeführt wird, und in selbstverwalteten Kubernetes-Clustern, die auf Amazon EC2 ausgeführt werden. Die detaillierten Anweisungen in diesem Abschnitt beziehen sich auf einen Prometheus-Server in einem Amazon-EKS-Cluster. Die Schritte für einen selbstverwalteten Kubernetes-Cluster auf Amazon EC2 sind dieselben, mit der Ausnahme, dass Sie die OIDC-Anbieter- und IAM-Rollen für Servicekonten selbst im Kubernetes-Cluster einrichten müssen.

In den Anweisungen in diesem Abschnitt wird Helm als Kubernetes-Paketmanager verwendet.

**Topics**
+ [Schritt 1: Einrichten von IAM-Rollen für Servicekonten](#AMP-onboard-existing-Prometheus-IRSA)
+ [Schritt 2: Aktualisieren Sie Ihren vorhandenen Prometheus-Server mithilfe von Helm](#AMP-onboard-ingest-metrics-existing-remotewrite)

## Schritt 1: Einrichten von IAM-Rollen für Servicekonten
<a name="AMP-onboard-existing-Prometheus-IRSA"></a>

Für die Onboarding-Methode, die wir dokumentieren, müssen Sie IAM-Rollen für Servicekonten im Amazon-EKS-Cluster verwenden, in dem der Prometheus-Server läuft. Diese Rollen werden als *Servicerollen* bezeichnet.

Mit Servicerollen können Sie eine IAM-Rolle mit einem Kubernetes-Servicekonto verknüpfen. Dieses Dienstkonto kann dann AWS Berechtigungen für die Container in jedem Pod gewähren, der dieses Dienstkonto verwendet. Weitere Informationen finden Sie unter [IAM-Rollen für Servicekonten](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).

Wenn Sie diese Rollen noch nicht eingerichtet haben, folgen Sie den Anweisungen unter [Einrichten von Servicerollen für die Erfassung von Metriken aus Amazon-EKS-Clustern](set-up-irsa.md#set-up-irsa-ingest), um die Rollen einzurichten.

## Schritt 2: Aktualisieren Sie Ihren vorhandenen Prometheus-Server mithilfe von Helm
<a name="AMP-onboard-ingest-metrics-existing-remotewrite"></a>

Die Anweisungen in diesem Abschnitt beinhalten die Einrichtung von Remote-Write und SigV4 zur Authentifizierung und Autorisierung des Prometheus-Servers für Remote–Write in Ihrem Workspace in Amazon Managed Service für Prometheus.

### Verwenden von Prometheus Version 2.26.0 oder höher
<a name="AMP-onboard-ingest-metrics-Helm13"></a>

Gehen Sie wie folgt vor, wenn Sie einen Helm-Chart mit einem Prometheus Server-Image der Version 2.26.0 oder höher verwenden.

**So richten Sie Remote-Write von einem Prometheus-Server aus mithilfe von Helm-Chart ein**

1. Erstellen Sie einen neuen Remote-Write-Abschnitt in Ihrer Helm-Konfigurationsdatei:
   + `${IAM_PROXY_PROMETHEUS_ROLE_ARN}`Ersetzen Sie es durch den ARN des **amp-iamproxy-ingest-role**, in dem Sie es erstellt haben[Schritt 1: Einrichten von IAM-Rollen für Servicekonten](#AMP-onboard-existing-Prometheus-IRSA). Der Rollen-ARN sollte das Format `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role` haben.
   + Ersetzen Sie `${WORKSPACE_ID}` durch Ihre Workspace-ID von Amazon Managed Service für Prometheus.
   + Ersetzen Sie `${REGION}` durch die Region des Workspace in Amazon Managed Service für Prometheus (z. B. `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. Aktualisieren Sie Ihre bestehende Prometheus-Server-Konfiguration mit Helm:
   + Ersetzen Sie `prometheus-chart-name` durch Ihren Prometheus-Versionsnamen.
   + Ersetzen Sie `prometheus-namespace` durch den Kubernetes-Namespace, in dem Ihr Prometheus-Server installiert ist.
   + Ersetzen Sie `my_prometheus_values_yaml` durch den Pfad zu Ihrer Helm-Konfigurationsdatei.
   + Ersetzen Sie `current_helm_chart_version` durch die aktuelle Version Ihres Prometheus-Server-Helm-Charts. Sie können die aktuelle Chart-Version finden, indem Sie den Befehl [Helmliste](https://helm.sh/docs/helm/helm_list/) verwenden.

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

### Verwenden früherer Versionen von Prometheus
<a name="AMP-onboard-ingest-metrics-Helm8"></a>

Gehen Sie wie folgt vor, wenn Sie eine ältere Version von Prometheus als 2.26.0 verwenden. Bei diesen Schritten wird ein Sidecar-Ansatz verwendet, da frühere Versionen von Prometheus den Signaturprozess von AWS Signature Version 4 (Sigv4) nicht nativ unterstützen.AWS 

Bei diesen Anleitungen wird davon ausgegangen, dass Sie Helm verwenden, um Prometheus bereitzustellen.

**So richten Sie Remote-Write von einem Prometheus-Server aus ein**

1. Erstellen Sie auf Ihrem Prometheus-Server eine neue Remote-Write-Konfiguration. Erstellen Sie zunächst eine neue Aktualisierungsdatei. Wir werden die Datei `amp_ingest_override_values.yaml` aufrufen.

   Fügen Sie der YAML-Datei die folgenden Werte hinzu.

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

   Ersetzen Sie `${REGION}` durch die Region des Workspace in Amazon Managed Service für Prometheus.

   `${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}`Ersetzen Sie es durch den ARN des **amp-iamproxy-ingest-role**, in dem Sie es erstellt haben[Schritt 1: Einrichten von IAM-Rollen für Servicekonten](#AMP-onboard-existing-Prometheus-IRSA). Der Rollen-ARN sollte das Format `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role` haben.

   Ersetzen Sie `${WORKSPACE_ID}` durch Ihre Workspace-ID.

1. Aktualisieren Sie Ihr Prometheus Helm-Chart. Suchen Sie zunächst nach dem Namen Ihres Helm-Charts, indem Sie den folgenden Befehl eingeben. Suchen Sie in der Ausgabe dieses Befehls nach einem Chart mit einem Namen, der `prometheus` enthält:

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

   Geben Sie dann den folgenden Befehl ein.

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

   *prometheus-helm-chart-name*Ersetzen Sie es durch den Namen der Prometheus-Helmkarte, die im vorherigen Befehl zurückgegeben wurde. Ersetzen Sie *prometheus-namespace* durch den Namen Ihres Namespaces.

#### Helm-Charts werden heruntergeladen
<a name="AMP-onboard-ingest-downloadHelm"></a>

Wenn Sie Helm-Charts noch nicht lokal heruntergeladen haben, können Sie sie mit dem folgenden Befehl herunterladen.

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

# Richten Sie die Erfassung von einem vorhandenen Prometheus-Server in Kubernetes auf Fargate ein
<a name="AMP-onboard-ingest-metrics-existing-Prometheus-fargate"></a>

Amazon Managed Service für Prometheus unterstützt die Erfassung von Metriken von Prometheus-Servern in selbstverwalteten Kubernetes-Clustern, die auf Fargate ausgeführt werden. Um Metriken von Prometheus-Servern in Amazon-EKS-Clustern zu erfassen, die auf Fargate laufen, überschreiben Sie die Standardkonfigurationen in einer Konfigurationsdatei mit dem Namen amp\$1ingest\$1override\$1values.yaml wie folgt:

```
prometheus-node-exporter:
        enabled: false
    
    alertmanager:
        enabled: false
    
    serviceAccounts:
      server:
        name: amp-iamproxy-ingest-service-account
        annotations: 
          eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN}
    
    server:
      persistentVolume:
        enabled: false
      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
```

Installieren Sie Prometheus mithilfe der Overrides mit dem folgenden Befehl:

```
helm install prometheus-for-amp prometheus-community/prometheus \
                   -n prometheus \
                   -f amp_ingest_override_values.yaml
```

Beachten Sie, dass wir in der Helm-Chart-Konfiguration den Node Exporter und den Alert Manager deaktiviert und die Prometheus-Serverbereitstellung ausgeführt haben.

Sie können die Installation mit der folgenden Beispiel-Testabfrage überprüfen.

```
$ awscurl --region region --service aps "https://aps-workspaces.region_id.amazonaws.com/workspaces/workspace_id/api/v1/query?query=prometheus_api_remote_read_queries"
    {"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"prometheus_api_remote_read_queries","instance":"localhost:9090","job":"prometheus"},"value":[1648461236.419,"0"]}]}}21
```