

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.

# Verwaltete Collectors für Amazon EKS einrichten
<a name="AMP-collector-how-to"></a>

Um einen Amazon Managed Service for Prometheus-Collector zu verwenden, erstellen Sie einen Scraper, der Metriken in Ihrem Amazon EKS-Cluster erkennt und abruft. Sie können auch einen Scraper erstellen, der in Amazon Managed Streaming for Apache Kafka integriert ist. Weitere Informationen finden Sie unter [Amazon MSK integrieren](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-msk-integration.html).
+ Sie können einen Scraper als Teil Ihrer Amazon-EKS-Cluster-Erstellung erstellen. Weitere Informationen zur Erstellung eines Amazon-EKS-Clusters, einschließlich der Erstellung eines Scrapers, finden Sie unter [Erstellen eines Amazon-EKS-Clusters](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) im *Amazon-EKS-Benutzerhandbuch*.
+ Sie können Ihren eigenen Scraper programmgesteuert mit der AWS API oder mithilfe der erstellen. AWS CLI

Ein Kollektor von Amazon Managed Service für Prometheus erfasst Metriken, die mit Prometheus kompatibel sind. Weitere Informationen zu Prometheus-kompatiblen Metriken finden Sie unter [Was sind Prometheus-kompatible Metriken?](prom-compatible-metrics.md). Amazon EKS-Cluster stellen Metriken für den API-Server bereit. Amazon EKS-Cluster mit Kubernetes-Version `1.28` oder höher stellen auch Metriken für und bereit. `kube-scheduler` `kube-controller-manager` Weitere Informationen finden Sie unter [Rohmetriken der Kontrollebene im Prometheus-Format abrufen](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics) im *Amazon EKS-Benutzerhandbuch*.

**Anmerkung**  
Beim Extrahieren von Metriken aus einem Cluster können Gebühren für die Netzwerknutzung anfallen. Eine Möglichkeit, diese Kosten zu optimieren, besteht darin, Ihren `/metrics` Endpunkt so zu konfigurieren, dass die bereitgestellten Metriken komprimiert werden (z. B. mit gzip), sodass weniger Daten über das Netzwerk übertragen werden müssen. Wie das geht, hängt von der Anwendung oder Bibliothek ab, die die Metriken bereitstellt. Manche Bibliotheken sind standardmäßig gzip.

In den folgenden Themen wird beschrieben, wie Sie Scraper erstellen, verwalten und konfigurieren.

**Topics**
+ [Einen Scraper erstellen](#AMP-collector-create)
+ [Ihren Amazon-EKS-Cluster konfigurieren](#AMP-collector-eks-setup)
+ [Suchen und Löschen von Scrapern](#AMP-collector-list-delete)
+ [Scraper-Konfiguration](#AMP-collector-configuration)
+ [Fehlerbehebung der Scraper-Konfiguration](#AMP-collector-troubleshoot)
+ [Scraper-Einschränkungen](#AMP-collector-limits)

## Einen Scraper erstellen
<a name="AMP-collector-create"></a>

Ein Kollektor von Amazon Managed Service für Prometheus besteht aus einem Scraper, der Metriken aus einem Amazon-EKS-Cluster erkennt und sammelt. Amazon Managed Service für Prometheus verwaltet den Scraper für Sie und bietet Ihnen so die Skalierbarkeit, Sicherheit und Zuverlässigkeit, die Sie benötigen, ohne Instances, Agenten oder Scraper selbst verwalten zu müssen.

Es gibt drei Möglichkeiten, einen Scraper zu erstellen:
+ Ein Scraper wird automatisch für Sie erstellt, wenn Sie [über die Amazon EKS-Konsole einen Amazon EKS-Cluster erstellen](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) und sich dafür entscheiden, Prometheus-Metriken zu aktivieren.
+ Sie können von der Amazon EKS-Konsole aus einen Scraper für einen vorhandenen Cluster erstellen. Öffnen Sie den Cluster in der [Amazon EKS-Konsole](https://console.aws.amazon.com/eks/home#/clusters) und wählen Sie dann auf der Registerkarte **Observability** die Option **Scraper hinzufügen** aus.

  Weitere Informationen zu den verfügbaren Einstellungen finden Sie [unter Prometheus-Metriken aktivieren](https://docs.aws.amazon.com/eks/latest/userguide/prometheus.html#turn-on-prometheus-metrics) im *Amazon EKS-Benutzerhandbuch*.
+ Sie können einen Scraper entweder mit der AWS API oder der erstellen. AWS CLI

  Diese Optionen werden im folgenden Verfahren beschrieben.

Es gibt einige Voraussetzungen, um Ihren eigenen Scraper zu erstellen:
+ Sie haben einen Amazon-EKS-Cluster erstellt.
+ In Ihrem Amazon-EKS-Cluster muss die [Cluster-Endpunkt-Zugriffskontrolle](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) so eingestellt sein, dass sie privaten Zugriff beinhaltet. Er kann private und öffentliche Daten beinhalten, muss aber mindestens private Daten beinhalten.
+ In der Amazon VPC, in der sich der Amazon EKS-Cluster befindet, muss [DNS](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html) aktiviert sein.

**Anmerkung**  
Der Cluster wird dem Scraper über seinen Amazon-Ressourcennamen (ARN) zugeordnet. Wenn Sie einen Cluster löschen und dann einen neuen mit demselben Namen erstellen, wird der ARN für den neuen Cluster wiederverwendet. Aus diesem Grund versucht der Scraper, Metriken für den neuen Cluster zu sammeln. Sie [löschen Scraper](#AMP-collector-list-delete) getrennt vom Löschen des Clusters.

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

**So erstellen Sie einen Scraper unter Verwendung der AWS -API**

Verwenden Sie den `CreateScraper` API-Vorgang, um einen Scraper mit der AWS API zu erstellen. Im folgenden Beispiel wird ein Scraper in der `us-west-2` Region erstellt. Sie müssen die Workspace- AWS-Konto, Security- und Amazon EKS-Cluster-Informationen durch Ihre eigenen ersetzen und die Konfiguration angeben IDs, die für Ihren Scraper verwendet werden soll.

**Anmerkung**  
Die Sicherheitsgruppe und die Subnetze sollten auf die Sicherheitsgruppe und die Subnetze für den Cluster eingestellt werden, zu dem Sie eine Verbindung herstellen.  
Sie müssen mindestens zwei Subnetze in mindestens zwei Availability Zones einfügen.

Das `scrapeConfiguration` ist eine Prometheus-Konfigurations-YAML-Datei, die Base64-codiert ist. Sie können eine allgemeine Zweckkonfiguration mit der `GetDefaultScraperConfiguration`API-Operation herunterladen. Weitere Hinweise zum Format von finden Sie unter`scrapeConfiguration`. [Scraper-Konfiguration](#AMP-collector-configuration)

```
POST /scrapers HTTP/1.1
Content-Length: 415 
Authorization: AUTHPARAMS
X-Amz-Date: 20201201T193725Z
User-Agent: aws-cli/1.18.147 Python/2.7.18 Linux/5.4.58-37.125.amzn2int.x86_64 botocore/1.18.6

{
    "alias": "myScraper",
    "destination":  {
        "ampConfiguration": {
            "workspaceArn": "arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id"
        }
    },
    "source": {
        "eksConfiguration": {
            "clusterArn": "arn:aws:eks:us-west-2:account-id:cluster/cluster-name",
            "securityGroupIds": ["sg-security-group-id"],
            "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"]
        }
    },
    "scrapeConfiguration": {
        "configurationBlob": <base64-encoded-blob>
    }
}
```

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

**So erstellen Sie einen Scraper unter Verwendung der AWS CLI**

Verwenden Sie den `create-scraper` Befehl, um einen Scraper mit dem AWS CLI zu erstellen. Im folgenden Beispiel wird ein Scraper in der `us-west-2` Region erstellt. Sie müssen die Workspace- AWS-Konto, Security- und Amazon EKS-Cluster-Informationen durch Ihre eigenen ersetzen und die Konfiguration angeben IDs, die für Ihren Scraper verwendet werden soll.

**Anmerkung**  
Die Sicherheitsgruppe und die Subnetze sollten auf die Sicherheitsgruppe und die Subnetze für den Cluster eingestellt werden, zu dem Sie eine Verbindung herstellen.  
Sie müssen mindestens zwei Subnetze in mindestens zwei Availability Zones einfügen.

Das `scrape-configuration` ist eine Prometheus-Konfigurations-YAML-Datei, die Base64-codiert ist. Mit dem Befehl können Sie eine Allzweckkonfiguration herunterladen. `get-default-scraper-configuration` Weitere Informationen zum Format von finden Sie `scrape-configuration` unter[Scraper-Konfiguration](#AMP-collector-configuration).

```
aws amp create-scraper \
  --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id:cluster/cluster-name', securityGroupIds=['sg-security-group-id'],subnetIds=['subnet-subnet-id-1', 'subnet-subnet-id-2']}" \
  --scrape-configuration configurationBlob=<base64-encoded-blob> \
  --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id'}"
```

------

Im Folgenden finden Sie eine vollständige Liste der Scraper-Operationen, die Sie mit der AWS API verwenden können:
+ Erstellen Sie einen Scraper mit der [CreateScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_CreateScraper.html) API-Operation.
+ Listen Sie Ihre vorhandenen Scraper mit der [ListScrapers](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html) API-Operation auf.
+ Aktualisieren Sie den Alias, die Konfiguration oder das Ziel eines Scrapers mit der [UpdateScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_UpdateScraper.html)API-Operation.
+ Löschen Sie einen Scraper mit der [DeleteScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html) API-Operation.
+ Erfahren Sie mehr über einen Scraper mit der [DescribeScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DescribeScraper.html) API-Operation.
+ Holen Sie sich eine allgemeine Zweckkonfiguration mit der [GetDefaultScraperConfiguration](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html)API-Operation.

**Anmerkung**  
Der Amazon-EKS-Cluster, den Sie scrapen, muss so konfiguriert sein, dass Amazon Managed Service für Prometheus auf die Metriken zugreifen kann. Im nächsten Thema wird beschrieben, wie Sie Ihren Cluster konfigurieren.

### Kontoübergreifende Einrichtung
<a name="cross-account-remote-write"></a>

Gehen Sie wie folgt vor, um einen kontenübergreifenden Scraper zu erstellen, wenn sich Ihr Amazon EKS-Cluster und Amazon Managed Service for Prometheus Workspace in unterschiedlichen Konten befinden. Sie haben beispielsweise ein Quellkonto, das den Amazon EKS-Cluster `account_id_source` enthält, und ein Zielkonto, das den Amazon Managed Service for Prometheus Workspace `account_id_target` enthält.

**Um einen Scraper in einer kontoübergreifenden Konfiguration zu erstellen**

1. Erstellen Sie im Quellkonto eine Rolle `arn:aws:iam::account_id_source:role/Source` und fügen Sie die folgende Vertrauensrichtlinie hinzu.

   ```
   {
       "Effect": "Allow",
       "Principal": {
       "Service": [
           "scraper.aps.amazonaws.com"
        ]
       },
       "Action": "sts:AssumeRole",
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "scraper_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       }
   }
   ```

1. Für jede Kombination aus Quelle (Amazon EKS-Cluster) und Ziel (Amazon Managed Service for Prometheus Workspace) müssen Sie eine Rolle erstellen `arn:aws:iam::account_id_target:role/Target` und die folgende Vertrauensrichtlinie mit Berechtigungen für hinzufügen. [AmazonPrometheusRemoteWriteAccess](https://docs.aws.amazon.com/prometheus/latest/userguide/security-iam-awsmanpol.html)

   ```
   {
     "Effect": "Allow",
     "Principal": {
        "AWS": "arn:aws:iam::account_id_source:role/Source"
     },
     "Action": "sts:AssumeRole",
     "Condition": {
        "StringEquals": {
           "sts:ExternalId": "scraper_ARN"
         }
     }
   }
   ```

1. Erstellen Sie einen Scraper mit der Option. `--role-configuration`

   ```
   aws amp create-scraper \
     --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id_source:cluster/xarw,subnetIds=[subnet-subnet-id]}" \
     --scrape-configuration configurationBlob=<base64-encoded-blob> \
     --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id_target:workspace/ws-workspace-id'}"\
     --role-configuration '{"sourceRoleArn":"arn:aws:iam::account-id_source:role/Source", "targetRoleArn":"arn:aws:iam::account-id_target:role/Target"}'
   ```

1. Bestätigen Sie die Erstellung des Scrapers.

   ```
   aws amp list-scrapers
   {
       "scrapers": [
           {
               "scraperId": "scraper-id",
               "arn": "arn:aws:aps:us-west-2:account_id_source:scraper/scraper-id",
               "roleArn": "arn:aws:iam::account_id_source:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraperInternal_cc319052-41a3-4",
               "status": {
                   "statusCode": "ACTIVE"
               },
               "createdAt": "2024-10-29T16:37:58.789000+00:00",
               "lastModifiedAt": "2024-10-29T16:55:17.085000+00:00",
               "tags": {},
               "source": {
                   "eksConfiguration": {
                       "clusterArn": "arn:aws:eks:us-west-2:account_id_source:cluster/xarw",
                       "securityGroupIds": [
                           "sg-security-group-id",
                           "sg-security-group-id"
                       ],
                       "subnetIds": [
                           "subnet-subnet_id"
                       ]
                   }
               },
               "destination": {
                   "ampConfiguration": {
                       "workspaceArn": "arn:aws:aps:us-west-2:account_id_target:workspace/ws-workspace-id"
                   }
               }
           }
       ]
   }
   ```

### Wechsel zwischen einer RoleConfiguration serviceverknüpften Rolle
<a name="changing-roles"></a>

Wenn Sie zurück zu einer serviceverknüpften Rolle wechseln möchten, anstatt in einen Amazon Managed Service for Prometheus Workspace `RoleConfiguration` zu schreiben, müssen Sie den aktualisieren `UpdateScraper` und einen Workspace im selben Konto wie der Scraper ohne die bereitstellen. `RoleConfiguration` Der `RoleConfiguration` wird aus dem Scraper entfernt und die Rolle, die mit dem Service verknüpft ist, wird verwendet.

Wenn Sie die Arbeitsbereiche in demselben Konto wie der Scraper ändern und den weiterhin verwenden möchten`RoleConfiguration`, müssen Sie erneut die Option On angeben. `RoleConfiguration` `UpdateScraper`

### Scraper für Workspaces erstellen, die mit vom Kunden verwalteten Schlüsseln aktiviert sind
<a name="setup-customer-managed-keys"></a>

Um einen Scraper für die Aufnahme von Metriken in einen Amazon Managed Service for Prometheus-Workspace mit vom [Kunden verwalteten Schlüsseln](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) zu erstellen, verwenden Sie den, `--role-configuration` wobei sowohl die Quelle als auch das Ziel auf dasselbe Konto eingestellt sind.

```
aws amp create-scraper \
  --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id:cluster/xarw,subnetIds=[subnet-subnet_id]}" \
  --scrape-configuration configurationBlob=<base64-encoded-blob> \
  --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id'}"\
  --role-configuration '{"sourceRoleArn":"arn:aws:iam::account_id:role/Source", "targetRoleArn":"arn:aws:iam::account_id:role/Target"}'
```

### Häufige Fehler beim Erstellen von Scrapern
<a name="AMP-collector-create-errors"></a>

Im Folgenden sind die häufigsten Probleme beim Versuch, einen neuen Scraper zu erstellen, aufgeführt.
+ Erforderliche AWS Ressourcen sind nicht vorhanden. Die angegebene *Sicherheitsgruppe*, die *Subnetze* und der *Amazon EKS-Cluster* müssen vorhanden sein.
+ Ungenügender IP-Adressraum. In jedem Subnetz, das Sie an die `CreateScraper` API übergeben, muss mindestens eine IP-Adresse verfügbar sein.

## Ihren Amazon-EKS-Cluster konfigurieren
<a name="AMP-collector-eks-setup"></a>

Ihr Amazon-EKS-Cluster muss so konfiguriert sein, dass der Scraper auf Metriken zugreifen kann. Für diese Konfiguration gibt es zwei Optionen:
+ Verwenden Sie Amazon *EKS-Zugriffseinträge*, um Sammlern von Amazon Managed Service for Prometheus automatisch Zugriff auf Ihren Cluster zu gewähren.
+ Konfigurieren Sie Ihren Amazon EKS-Cluster manuell für verwaltetes Metrik-Scraping.

In den folgenden Themen werden die einzelnen Themen ausführlicher beschrieben.

### Amazon EKS für den Scraper-Zugriff mit Zugriffseinträgen konfigurieren
<a name="AMP-collector-eks-access-entry-setup"></a>

Die Verwendung von Zugriffseinträgen für Amazon EKS ist der einfachste Weg, Amazon Managed Service for Prometheus Zugriff auf Scrape-Metriken aus Ihrem Cluster zu gewähren.

Der Amazon EKS-Cluster, den Sie scrapen, muss so konfiguriert sein, dass er die API-Authentifizierung zulässt. Der Cluster-Authentifizierungsmodus muss entweder `API` auf oder eingestellt sein. `API_AND_CONFIG_MAP` Dies ist in der Amazon EKS-Konsole auf der Registerkarte **Zugriffskonfiguration** der Cluster-Details sichtbar. Weitere Informationen finden Sie unter [Erlauben des Zugriffs von IAM-Rollen oder Benutzern auf das Kubernetes-Objekt in Ihrem Amazon EKS-Cluster](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) im *Amazon EKS-Benutzerhandbuch*.

Sie können den Scraper bei der Erstellung des Clusters oder nach der Erstellung des Clusters erstellen:
+ **Beim Erstellen eines Clusters** — Sie können diesen Zugriff konfigurieren, wenn Sie [einen Amazon EKS-Cluster über die Amazon EKS-Konsole](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) erstellen (folgen Sie den Anweisungen, um einen Scraper als Teil des Clusters zu erstellen). Daraufhin wird automatisch eine Zugriffsrichtlinie erstellt, die Amazon Managed Service for Prometheus Zugriff auf die Cluster-Metriken gewährt.
+ **Hinzufügen nach der Erstellung eines Clusters** — Wenn Ihr Amazon EKS-Cluster bereits existiert, setzen Sie den Authentifizierungsmodus auf entweder `API` oder`API_AND_CONFIG_MAP`, und für alle Scraper, die Sie [über die Amazon Managed Service for Prometheus API oder CLI](#AMP-collector-create) oder über die Amazon EKS-Konsole erstellen, wird automatisch die richtige Zugriffsrichtlinie für Sie erstellt, und die Scraper haben Zugriff auf Ihren Cluster.

**Zugangsrichtlinie wurde erstellt**

Wenn Sie einen Scraper erstellen und Amazon Managed Service for Prometheus eine Zugriffsrichtlinie für Sie generieren lassen, generiert es die folgende Richtlinie. Weitere Informationen zu Zugriffseinträgen finden Sie unter [Erlauben des Zugriffs von IAM-Rollen oder Benutzern auf Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) im *Amazon EKS-Benutzerhandbuch*.

```
{
    "rules": [
        {
            "effect": "allow",
            "apiGroups": [
                ""
            ],
            "resources": [
                "nodes",
                "nodes/proxy",
                "nodes/metrics",
                "services",
                "endpoints",
                "pods",
                "ingresses",
                "configmaps"
            ],
            "verbs": [
                "get",
                "list",
                "watch"
            ]
        },
        {
            "effect": "allow",
            "apiGroups": [
                "extensions",
                "networking.k8s.io"
            ],
            "resources": [
                "ingresses/status",
                "ingresses"
            ],
            "verbs": [
                "get",
                "list",
                "watch"
            ]
        },
        {
            "effect": "allow",
            "apiGroups": [
                "metrics.eks.amazonaws.com"
            ],
            "resources": [
                "kcm/metrics",
                "ksh/metrics"
            ],
            "verbs": [
                "get"
            ]
        },
        {
            "effect": "allow",
            "nonResourceURLs": [
                "/metrics"
            ],
            "verbs": [
                "get"
            ]
        }
    ]
}
```

### Manuelles Konfigurieren von Amazon EKS für den Scraper-Zugriff
<a name="AMP-collector-eks-manual-setup"></a>

Wenn Sie es vorziehen, den `aws-auth ConfigMap` Zugriff auf Ihren Kubernetes-Cluster zu kontrollieren, können Sie Amazon Managed Service for Prometheus Scrapern trotzdem Zugriff auf Ihre Metriken gewähren. Mit den folgenden Schritten erhält Amazon Managed Service for Prometheus Zugriff auf Scrape-Metriken aus Ihrem Amazon EKS-Cluster.

**Anmerkung**  
Weitere Informationen zu `ConfigMap` und zum Zugriff auf Einträge finden Sie unter [Erlauben des Zugriffs von IAM-Rollen oder Benutzern auf Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) im *Amazon EKS-Benutzerhandbuch*.

Dieses Verfahren verwendet `kubectl` und die AWS CLI. Informationen zum Installieren von `kubectl` finden Sie unter [Installieren von kubectl](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) im *Amazon-EKS-Benutzerhandbuch*.

**Um Ihren Amazon EKS-Cluster manuell für verwaltetes Metrik-Scraping zu konfigurieren**

1. Erstellen Sie eine Datei mit dem Namen `clusterrole-binding.yml` und dem folgenden Text:

   ```
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRole
   metadata:
     name: aps-collector-role
   rules:
     - apiGroups: [""]
       resources: ["nodes", "nodes/proxy", "nodes/metrics", "services", "endpoints", "pods", "ingresses", "configmaps"]
       verbs: ["describe", "get", "list", "watch"]
     - apiGroups: ["extensions", "networking.k8s.io"]
       resources: ["ingresses/status", "ingresses"]
       verbs: ["describe", "get", "list", "watch"]
     - nonResourceURLs: ["/metrics"]
       verbs: ["get"]
     - apiGroups: ["metrics.eks.amazonaws.com"]
       resources: ["kcm/metrics", "ksh/metrics"]
       verbs: ["get"]
   ---
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRoleBinding
   metadata:
     name: aps-collector-user-role-binding
   subjects:
   - kind: User
     name: aps-collector-user
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: ClusterRole
     name: aps-collector-role
     apiGroup: rbac.authorization.k8s.io
   ```

1. Führen Sie den folgenden Befehl in Ihrem Cluster aus:

   ```
   kubectl apply -f clusterrole-binding.yml
   ```

   Dadurch werden die Cluster-Rollenbindung und die Regel erstellt. In diesem Beispiel wird `aps-collector-role` als Rollenname und `aps-collector-user` als Benutzername verwendet.

1. Der folgende Befehl gibt Ihnen Informationen über den Scraper mit der ID. *scraper-id* Dies ist der Scraper, den Sie mit dem Befehl im vorherigen Abschnitt erstellt haben.

   ```
   aws amp describe-scraper --scraper-id scraper-id
   ```

1. Suchen Sie in den Ergebnissen von `describe-scraper` den `roleArn`. Dieser hat das folgende Format:

   ```
   arn:aws:iam::account-id:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_unique-id
   ```

   Amazon EKS benötigt ein anderes Format für diesen ARN. Sie müssen das Format des zurückgegebenen ARN anpassen, damit es im nächsten Schritt verwendet werden kann. Bearbeiten Sie es so, dass es diesem Format entspricht:

   ```
   arn:aws:iam::account-id:role/AWSServiceRoleForAmazonPrometheusScraper_unique-id
   ```

   Zum Beispiel diese ARN:

   ```
   arn:aws:iam::111122223333:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7
   ```

   Muss wie folgt umgeschrieben werden:

   ```
   arn:aws:iam::111122223333:role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7
   ```

1. Führen Sie den folgenden Befehl in Ihrem Cluster aus, indem Sie den überarbeiteten `roleArn` aus dem vorherigen Schritt sowie Ihren Clusternamen und Ihre Region verwenden:

   ```
   eksctl create iamidentitymapping --cluster cluster-name --region region-id --arn roleArn --username aps-collector-user
   ```

   Dadurch kann der Scraper mit der Rolle und dem Benutzer, die Sie in der `clusterrole-binding.yml` Datei erstellt haben, auf den Cluster zugreifen.

## Suchen und Löschen von Scrapern
<a name="AMP-collector-list-delete"></a>

Sie können die AWS API oder die verwenden AWS CLI , um die Scraper in Ihrem Konto aufzulisten oder zu löschen.

**Anmerkung**  
Stellen Sie sicher, dass Sie die neueste Version des AWS CLI oder SDK verwenden. Die neueste Version bietet Ihnen die neuesten Features und Funktionen sowie Sicherheitsupdates. Alternativ können Sie [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html), was immer eine up-to-date Befehlszeilenerfahrung bietet, automatisch verwenden.

Die [ListScrapers](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html)-API-Operation listet alle Scraper in Ihrem Konto auf.

Rufen Sie alternativ mit dem AWS CLI folgenden Befehl auf:

```
aws amp list-scrapers --region aws-region
```

`ListScrapers` gibt alle Scraper in Ihrem Konto zurück, zum Beispiel:

```
{
    "scrapers": [
        {
            "scraperId": "s-1234abcd-56ef-7890-abcd-1234ef567890",
            "arn": "arn:aws:aps:us-west-2:123456789012:scraper/s-1234abcd-56ef-7890-abcd-1234ef567890",
            "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-2931",
            "status": {
                "statusCode": "DELETING"
            },
            "createdAt": "2023-10-12T15:22:19.014000-07:00",
            "lastModifiedAt": "2023-10-12T15:55:43.487000-07:00",
            "tags": {},
            "source": {
                "eksConfiguration": {
                    "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster",
                    "securityGroupIds": [
                        "sg-1234abcd5678ef90"
                    ],
                    "subnetIds": [
                        "subnet-abcd1234ef567890", 
                        "subnet-1234abcd5678ab90"
                    ]
                }
            },
            "destination": {
                "ampConfiguration": {
                    "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-1234abcd-5678-ef90-ab12-cdef3456a78"
                }
            }
        }
    ]
}
```

Suchen Sie zum Löschen eines Scrapers mithilfe der `ListScrapers`-Operation die `scraperId` für den Scraper, den Sie löschen möchten, und verwenden Sie dann die [DeleteScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html)-Operation, um ihn zu löschen.

Alternativ rufen Sie mit AWS CLI dem auf:

```
aws amp delete-scraper --scraper-id scraperId
```

## Scraper-Konfiguration
<a name="AMP-collector-configuration"></a>

Mit einer Promethus-kompatiblen Scraper-Konfiguration können Sie steuern, wie Ihr Scraper Metriken erkennt und sammelt. Sie können beispielsweise das Intervall ändern, in dem Metriken an den Workspace gesendet werden. Sie können Umetikettierung auch verwenden, um die Etiketten einer Metrik dynamisch neu zu schreiben. Die Scraper-Konfiguration ist eine YAML-Datei, die Teil der Definition des Scrapers ist.

Wenn ein neuer Scraper erstellt wird, geben Sie eine Konfiguration an, indem Sie im API-Aufruf eine Base64-codierte YAML-Datei angeben. Sie können eine allgemeine Zweckkonfigurationsdatei mit dem `GetDefaultScraperConfiguration` Vorgang in der API für Amazon Managed Service für Prometheus herunterladen.

Um die Konfiguration eines Scrapers zu ändern, können Sie die `UpdateScraper` Operation verwenden. Wenn Sie die Quelle der Metriken aktualisieren müssen (z. B. auf einen anderen Amazon EKS-Cluster), müssen Sie den Scraper löschen und ihn mit der neuen Quelle neu erstellen.

**Unterstützte Konfiguration**

Informationen zum Scraper-Konfigurationsformat, einschließlich einer detaillierten Aufschlüsselung der möglichen Werte, finden Sie in der Prometheus-Dokumentation unter [Konfiguration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/). Die globalen Konfigurationsoptionen und `<scrape_config>` Optionen beschreiben die am häufigsten benötigten Optionen.

Da Amazon EKS der einzige unterstützte Service ist, ist der einzige unterstützte Service Discovery config (`<*_sd_config>`) der`<kubernetes_sd_config>`.

Die vollständige Liste der zulässigen Konfigurationsabschnitte:
+ `<global>`
+ `<scrape_config>`
+ `<static_config>`
+ `<relabel_config>`
+ `<metric_relabel_configs>`
+ `<kubernetes_sd_config>`

Die Einschränkungen in diesen Abschnitten sind nach der Beispielkonfigurationsdatei aufgeführt.

**Beispielkonfigurationsdatei**

Im Folgenden finden Sie ein Beispiel für eine YAML-Konfigurationsdatei mit einem Scrape-Intervall von 30 Sekunden. Dieses Beispiel beinhaltet Unterstützung für die Kube-API-Servermetriken kube-controller-manager sowie für Kube-Scheduler-Metriken. Weitere Informationen finden Sie unter [Rohmetriken der Kontrollebene im Prometheus-Format abrufen](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics) im *Amazon EKS-Benutzerhandbuch*.

```
global:
   scrape_interval: 30s
   external_labels:
     clusterArn: apiserver-test-2
scrape_configs:
  - job_name: pod_exporter
    kubernetes_sd_configs:
      - role: pod
  - job_name: cadvisor
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
      - role: node
    relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - replacement: kubernetes.default.svc:443
        target_label: __address__
      - source_labels: [__meta_kubernetes_node_name]
        regex: (.+)
        target_label: __metrics_path__
        replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
  # apiserver metrics
  - scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    job_name: kubernetes-apiservers
    kubernetes_sd_configs:
    - role: endpoints
    relabel_configs:
    - action: keep
      regex: default;kubernetes;https
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_service_name
      - __meta_kubernetes_endpoint_port_name
  # kube proxy metrics
  - job_name: kube-proxy
    honor_labels: true
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - action: keep
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_pod_name
      separator: '/'
      regex: 'kube-system/kube-proxy.+'
    - source_labels:
      - __address__
      action: replace
      target_label: __address__
      regex: (.+?)(\\:\\d+)?
      replacement: $1:10249
  # Scheduler metrics
  - job_name: 'ksh-metrics'
    kubernetes_sd_configs:
    - role: endpoints
    metrics_path: /apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics
    scheme: https
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    relabel_configs:
    - source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_service_name
      - __meta_kubernetes_endpoint_port_name
      action: keep
      regex: default;kubernetes;https
  # Controller Manager metrics
  - job_name: 'kcm-metrics'
    kubernetes_sd_configs:
    - role: endpoints
    metrics_path: /apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics
    scheme: https
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    relabel_configs:
    - source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_service_name
      - __meta_kubernetes_endpoint_port_name
      action: keep
      regex: default;kubernetes;https
```

Die folgenden Einschränkungen gelten nur für verwaltete Collectoren: AWS 
+ **Scrape-Intervall** – In der Scraper-Konfiguration kann kein Scrape-Intervall von weniger als 30 Sekunden angegeben werden.
+ **Ziele** – Ziele in der `static_config` müssen als IP-Adressen angegeben werden.
+ **DNS-Auflösung** — Bezogen auf den Zielnamen ist der einzige Servername, der in dieser Konfiguration erkannt wird, der Kubernetes-API-Server,. `kubernetes.default.svc` Alle anderen Maschinennamen müssen anhand der IP-Adresse angegeben werden.
+ **Autorisierung** — Lassen Sie diese Option aus, wenn keine Autorisierung erforderlich ist. Wenn sie benötigt wird, muss die Autorisierung vorhanden sein `Bearer` und auf die Datei `/var/run/secrets/kubernetes.io/serviceaccount/token` verweisen. Mit anderen Worten, wenn er verwendet wird, muss der Autorisierungsabschnitt wie folgt aussehen:

  ```
      authorization:
        type: Bearer
        credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  ```
**Anmerkung**  
`type: Bearer`ist die Standardeinstellung und kann daher weggelassen werden.

## Fehlerbehebung der Scraper-Konfiguration
<a name="AMP-collector-troubleshoot"></a>

Kollektoren von Amazon Managed Service für Prometheus entdecken und scrapen automatisch Metriken. Aber wie können Sie Fehler beheben, wenn Sie in Ihrem Workspace in Amazon Managed Service für Prometheus eine Metrik nicht sehen, die Sie erwarten würden?

**Wichtig**  
Stellen Sie sicher, dass der private Zugriff für Ihren Amazon EKS-Cluster aktiviert ist. Weitere Informationen finden Sie unter [Cluster Private Endpoint](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html#cluster-endpoint-private) im *Amazon EKS-Benutzerhandbuch*.

Die `up` Metrik ist ein hilfreiches Tool. Für jeden Endpunkt, den ein Kollektor von Amazon Managed Service für Prometheus erkennt, verkauft er diese Metrik automatisch. Es gibt drei Status dieser Metrik, die Ihnen helfen können, Fehler im Kollektor zu beheben.
+ `up` ist nicht vorhanden – Wenn für einen Endpunkt keine `up`-Metrik vorhanden ist, bedeutet das, dass der Kollektor den Endpunkt nicht finden konnte.

  Wenn Sie sicher sind, dass der Endpunkt existiert, gibt es mehrere Gründe, warum der Collector ihn möglicherweise nicht finden kann.
  + Möglicherweise müssen Sie die Scrape-Konfiguration anpassen. Die Erkennung muss `relabel_config` möglicherweise angepasst werden.
  + Möglicherweise liegt ein Problem mit der für die Erkennung `role` verwendeten Datei vor.
  + In der vom Amazon EKS-Cluster verwendeten Amazon VPC ist [DNS möglicherweise nicht aktiviert](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html), sodass der Collector den Endpunkt nicht finden kann.
+ `up` ist vorhanden, aber immer 0 – Wenn `up` vorhanden, aber 0, dann kann der Kollektor den Endpunkt ermitteln, aber keine Prometheus-kompatiblen Metriken finden.

  In diesem Fall könnten Sie versuchen, einen `curl` Befehl direkt für den Endpunkt zu verwenden. Sie können überprüfen, ob Sie die richtigen Angaben gemacht haben, z. B. das Protokoll (`http`oder`https`), den Endpunkt oder den Port, den Sie verwenden. Sie können auch überprüfen, ob der Endpunkt mit einer gültigen `200` Antwort antwortet und dem Prometheus-Format folgt. Schließlich darf der Hauptteil der Antwort nicht größer als die maximal zulässige Größe sein. (Informationen zu den Beschränkungen für AWS verwaltete Collectors finden Sie im folgenden Abschnitt.)
+ `up` ist vorhanden und größer als 0 – Wenn `up` vorhanden und größer als 0 ist, werden Metriken an Amazon Managed Service für Prometheus gesendet.

  Stellen Sie sicher, dass Sie in Amazon Managed Service für Prometheus (oder Ihrem alternativen Dashboard, z. B. Amazon Managed Grafana) nach den richtigen Metriken suchen. Sie können curl erneut verwenden, um nach erwarteten Daten in Ihrem `/metrics` Endpunkt zu suchen. Vergewissern Sie sich auch, dass Sie andere Grenzwerte nicht überschritten haben, z. B. die Anzahl der Endpunkte pro Scraper. Sie können die Anzahl der Metriken-Endpunkte überprüfen, die gescrapt werden, indem Sie die Anzahl der `up` Metriken mithilfe von. `count(up)`

## Scraper-Einschränkungen
<a name="AMP-collector-limits"></a>

Die vollständig verwalteten Scraper, die von Amazon Managed Service für Prometheus bereitgestellt werden, unterliegen nur wenigen Einschränkungen.
+ **Region** – Ihr EKS-Cluster, Ihr Managed Scraper und Ihr Workspace in Amazon Managed Service für Prometheus müssen sich alle in derselben AWS -Region befinden.
+ **Kollektoren** – Sie können pro Region und Konto maximal 10 Scraper von Amazon Managed Service für Prometheus haben.
**Anmerkung**  
Sie können eine Erhöhung dieses Limits anfordern, indem Sie [eine Erhöhung der Quote anfordern](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase).
+ **Antwort auf Metriken** – Der Hauptteil einer Antwort auf eine einzelne `/metrics`-Endpunktanfrage darf nicht mehr als 50 Megabyte (MB) umfassen.
+ **Endpunkte pro Scraper** – Ein Scraper kann maximal 30.000 Endpunkte scrapen.
+ **Scrape-Intervall** – In der Scraper-Konfiguration kann kein Scrape-Intervall von weniger als 30 Sekunden angegeben werden.