

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.

# Verwenden von Daten zur geteilten Kostenzuweisung mit Amazon Managed Service für Prometheus
<a name="split-cost-allocation-data-resource-amp"></a>

Um die Kostendaten für Amazon EKS aufzuteilen, müssen Sie Metriken aus Ihren Clustern sammeln und speichern, einschließlich Speicher- und CPU-Auslastung. Amazon Managed Service für Prometheus kann für diesen Zweck verwendet werden.

Sobald Sie sich für die Aufteilung der Kostenzuweisungsdaten entschieden haben und Ihr Amazon Managed Service for Prometheus-Workspace beginnt, die beiden erforderlichen Metriken (`container_cpu_usage_seconds_total`und`container_memory_working_set_bytes`) zu empfangen, erkennen die geteilten Kostenzuordnungsdaten die Metriken und verwenden sie automatisch.

**Anmerkung**  
Die beiden erforderlichen Metriken (`container_cpu_usage_seconds_total`und`container_memory_working_set_bytes`) sind in der Standardkonfiguration von Prometheus Scrape und der Standardkonfiguration mit einem AWS verwalteten Collector enthalten. Wenn Sie diese Konfigurationen jedoch anpassen, dürfen Sie die folgenden Bezeichnungen in den Metriken und nicht neu `container_memory_working_set_bytes` kennzeichnen, ändern oder entfernen:`name`, `container_cpu_usage_seconds_total` und. `namespace` `pod` Wenn Sie diese Labels umbenennen, ändern oder entfernen, kann sich dies auf die Erfassung Ihrer Metriken auswirken.

Sie können Amazon Managed Service for Prometheus verwenden, um EKS-Metriken von einem einzigen Nutzungskonto in einer einzigen Region zu sammeln. Der Amazon Managed Service for Prometheus Workspace muss sich in diesem Konto und dieser Region befinden. Sie benötigen eine Amazon Managed Service for Prometheus-Instance für jedes Nutzungskonto und jede Region, für die Sie die Kosten überwachen möchten. Sie können Metriken für mehrere Cluster im Amazon Managed Service for Prometheus Workspace sammeln, sofern sie sich im selben Nutzungskonto und in derselben Region befinden.

In den folgenden Abschnitten wird beschrieben, wie Sie die richtigen Metriken von Ihrem EKS-Cluster an den Amazon Managed Service for Prometheus Workspace senden.

## Voraussetzungen
<a name="prerequisites-prometheus"></a>

Als Voraussetzungen für die Nutzung von Amazon Managed Service for Prometheus mit geteilten Kostenzuweisungsdaten gelten folgende Voraussetzungen:
+ Sie müssen die Daten zur geteilten Kostenzuweisung in der AWS Billing and Cost Management-Konsole aktivieren. Einzelheiten finden Sie unter Daten zur [geteilten Kostenzuweisung aktivieren](https://docs.aws.amazon.com/cur/latest/userguide/enabling-split-cost-allocation-data.html). Wenn Sie sich für die Aufteilung der Kostenzuweisungsdaten entscheiden, wird in jedem Nutzungskonto eine serviceverknüpfte Rolle erstellt, um Amazon Managed Service for Prometheus nach den Amazon EKS-Cluster-Metriken in diesem Konto abzufragen. Weitere Informationen finden Sie unter [Service-linked Rollen für Daten zur geteilten](https://docs.aws.amazon.com/cost-management/latest/userguide/split-cost-allocation-data-SLR.html) Kostenzuweisung.
+ Sie benötigen einen EKS-Cluster, für den Sie Daten zur geteilten Kostenzuweisung verfolgen möchten. Dies kann ein vorhandener Cluster sein, oder Sie können einen neuen erstellen. Weitere Informationen finden Sie unter [Erstellen eines Amazon EKS-Clusters](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) im *Amazon EKS-Benutzerhandbuch*.
**Anmerkung**  
Sie benötigen die `EKS cluster ARN``security group IDs`, und mindestens zwei `subnet IDs` (in unterschiedlichen Verfügbarkeitszonen), um sie in späteren Schritten verwenden zu können.  
(optional) Stellen Sie den Authentifizierungsmodus Ihres EKS-Clusters entweder auf `API` oder ein`API_AND_CONFIG_MAP`.
+ Sie benötigen eine Amazon Managed Service for Prometheus-Instance in demselben Konto und derselben Region wie Ihr EKS-Cluster. Wenn Sie noch keine haben, können Sie eine erstellen. Weitere Informationen zur Erstellung einer Amazon Managed Service for Prometheus-Instance finden [Sie unter Erstellen eines Workspace](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html) im *Amazon Managed Service for Prometheus-Benutzerhandbuch*.
**Anmerkung**  
Sie benötigen den, um ihn in späteren Schritten verwenden `Amazon Managed Service for Prometheus workspace ARN` zu können.

## Weiterleiten von EKS-Metriken an Amazon Managed Service for Prometheus
<a name="forward-eks-metrics-prometheus"></a>

Sobald Sie über einen EKS-Cluster und eine Amazon Managed Service for Prometheus-Instance verfügen, können Sie die Metriken vom Cluster an die Instance weiterleiten. Sie können Metriken auf zwei Arten senden.
+ [Option 1: Verwenden Sie einen AWS verwalteten Collector.](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#use-managed-collector) Dies ist die einfachste Methode, Metriken von einem EKS-Cluster an Amazon Managed Service for Prometheus zu senden. Es ist jedoch begrenzt, dass Metriken höchstens alle 30 Sekunden abgerufen werden.
+ [Option 2: Erstellen Sie Ihren eigenen Prometheus-Agenten.](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#create-prometheus-agent) In diesem Fall haben Sie mehr Kontrolle über die Scraping-Konfiguration, müssen den Agenten jedoch verwalten, nachdem Sie ihn erstellt haben.

### Option 1: Verwenden eines AWS verwalteter Collector
<a name="use-managed-collector"></a>

Die Verwendung eines AWS verwalteten Collectors (eines *Scrapers*) ist die einfachste Methode, Metriken von einem EKS-Cluster an eine Amazon Managed Service for Prometheus-Instance zu senden. Das folgende Verfahren führt Sie Schritt für Schritt durch die Erstellung eines verwalteten Collectors AWS . Ausführlichere Informationen finden Sie unter [AWS Managed Collectors](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector.html) im *Amazon Managed Service for Prometheus User Guide*.

**Anmerkung**  
AWS Managed Collectors haben ein Mindest-Scrape-Intervall von 30 Sekunden. Wenn Sie kurzlebige Pods haben, wird empfohlen, das Scraper-Intervall auf 15 Sekunden festzulegen. Um ein Scraper-Intervall von 15 Sekunden zu verwenden, verwenden Sie Option 2, um [Ihren eigenen Prometheus-Agenten zu erstellen](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#create-prometheus-agent).

Es gibt drei Schritte, um einen verwalteten Collector zu erstellen AWS :

1. Erstellen Sie eine Scraper-Konfiguration.

1. Erstellen Sie den Scraper.

1. Konfigurieren Sie Ihren EKS-Cluster so, dass der Scraper auf Metriken zugreifen kann.

*Schritt 1: Erstellen Sie eine Scraper-Konfiguration*

Um einen Scraper zu erstellen, benötigen Sie eine Scraper-Konfiguration. Sie können eine Standardkonfiguration verwenden oder eine eigene erstellen. Es gibt drei Möglichkeiten, eine Scraper-Konfiguration zu erhalten:
+ Rufen Sie die Standardkonfiguration mit der AWS CLI ab, indem Sie Folgendes aufrufen:

  ```
  aws amp get-default-scraper-configuration
  ```
+ Erstellen Sie Ihre eigene Konfiguration. Einzelheiten finden Sie in den [Scraper-Konfigurationsanweisungen](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) im *Amazon Managed Service for Prometheus* User Guide.
+ Kopieren Sie die Beispielkonfiguration, die in derselben [Scraper-Konfigurationsanleitung](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) im *Amazon Managed Service for Prometheus* User Guide enthalten ist.

Sie können die Scraper-Konfiguration bearbeiten, um beispielsweise das Scrape-Intervall zu ändern oder um die gescrapten Metriken zu filtern.

Verwenden Sie die folgende Scraper-Konfiguration, um die gesammelten Metriken so zu filtern, dass sie nur die beiden enthalten, die für die geteilte Kostenzuweisung benötigt werden:

```
global:
   scrape_interval: 30s
   #external_labels:
     #clusterArn: <REPLACE_ME>
scrape_configs:
  - job_name: kubernetes-nodes-cadvisor
    scrape_interval: 30s
    scrape_timeout: 10s
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
    - role: node
    relabel_configs:
    - regex: (.+)
      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
      source_labels:
      - __meta_kubernetes_node_name
      target_label: __metrics_path__
    - replacement: kubernetes.default.svc:443
      target_label: __address__
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: 'container_cpu_usage_seconds_total|container_memory_working_set_bytes'
      action: keep
```

*Sobald Sie die Scraper-Konfiguration haben, müssen Sie sie für die Verwendung in Schritt 2 base64-kodieren.* Die Konfiguration ist eine YAML-Textdatei. Verwenden Sie zum Kodieren der Datei eine Website wie. [https://www.base64encode.org/](https://www.base64encode.org/)

*Schritt 2: Erstellen Sie den Scraper*

Nachdem Sie eine Konfigurationsdatei haben, müssen Sie Ihren Scraper erstellen. Erstellen Sie einen Scraper mit dem folgenden AWS CLI-Befehl, der auf den im Abschnitt Voraussetzungen beschriebenen Variablen basiert. Sie müssen Informationen aus Ihrem EKS-Cluster für die {{<SUBNET-ID>}} Felder, und verwenden {{<EKS-CLUSTER-ARN>}}{{<SG-SECURITY-GROUP-ID>}}, sie durch die Scraper-Konfiguration {{<BASE64-CONFIGURATION-BLOB>}} ersetzen, die Sie im vorherigen Schritt erstellt haben, und sie durch Ihren Amazon Managed Service for Prometheus Workspace ARN {{<AMP\_WORKSPACE\_ARN>}} ersetzen.

```
aws amp create-scraper \ 
--source eksConfiguration="{clusterArn={{<EKS-CLUSTER-ARN>}},securityGroupIds=[{{<SG-SECURITY-GROUP-ID>}}],subnetIds=[{{<SUBNET-ID>}}]}" \ 
--scrape-configuration configurationBlob={{<BASE64-CONFIGURATION-BLOB>}} \ 
--destination ampConfiguration={workspaceArn="{{<AMP_WORKSPACE_ARN>}}"}
```

*Notieren Sie sich`scraperId`, was zur Verwendung in Schritt 3 zurückgegeben wird.*

*Schritt 3: Konfigurieren Sie Ihren EKS-Cluster so, dass der Scraper auf Metriken zugreifen kann*

Wenn der Authentifizierungsmodus Ihres EKS-Clusters auf entweder `API` oder eingestellt ist`API_AND_CONFIG_MAP`, verfügt Ihr Scraper automatisch über die richtige Cluster-Zugriffsrichtlinie, und die Scraper haben Zugriff auf Ihren Cluster. Es ist keine weitere Konfiguration erforderlich, und die Metriken sollten an Amazon Managed Service for Prometheus übertragen werden.

Wenn der Authentifizierungsmodus Ihres EKS-Clusters nicht auf `API` oder eingestellt ist`API_AND_CONFIG_MAP`, müssen Sie den Cluster manuell konfigurieren, damit der Scraper über ein und auf Ihre Metriken zugreifen kann. ClusterRole ClusterRoleBinding Informationen zum Aktivieren dieser Berechtigungen finden Sie unter [Manuelles Konfigurieren eines EKS-Clusters für den Scraper-Zugriff](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-setup) im *Amazon Managed Service for Prometheus Benutzerhandbuch*.

Sobald der Scraper aktiv ist, stellen Sie sicher, dass beide Metriken (`container_cpu_usage_seconds_total`und`container_memory_working_set_bytes`) an Ihren Amazon Managed Service for Prometheus-Workspace übertragen werden.

```
awscurl --service="aps" --region="<REGION>" "https://aps-workspaces.<REGION>.amazonaws.com/workspaces/<WorkSpace_ID>/api/v1/label/__name__/values"
```

Ausgabe:

```
{
"status": "success",
"data": [
"container_cpu_usage_seconds_total",
"container_memory_working_set_bytes",
"scrape_duration_seconds",
"scrape_samples_post_metric_relabeling",
"scrape_samples_scraped",
"scrape_series_added",
"up"
]
}
```

### Option 2: Erstellen Sie Ihren eigenen Prometheus-Agenten
<a name="create-prometheus-agent"></a>

Wenn Sie den AWS Managed Collector nicht verwenden können oder bereits über einen eigenen Prometheus-Server verfügen, können Sie Ihre eigene Prometheus-Instance als Agent verwenden, um Metriken aus Ihrem EKS-Cluster abzurufen und an Amazon Managed Service for Prometheus zu senden.

Detaillierte Anweisungen zur Verwendung Ihrer eigenen Prometheus-Instance als Agent finden Sie unter [Verwenden einer Prometheus-Instance als Collector](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-ingest-with-prometheus.html) im *Amazon Managed Service for* Prometheus-Benutzerhandbuch.

Im Folgenden finden Sie ein Beispiel für eine Prometheus-Scrape-Konfiguration, die das Prometheus-Server-Scrape-Intervall und die für Split-Cost-Allocation-Daten erforderlichen Container-Metriken umfasst. Wenn Sie kurzlebige Pods haben, wird empfohlen, das standardmäßige Prometheus-Server-Scrape-Intervall von 30 Sekunden auf 15 Sekunden zu senken. Beachten Sie, dass dies zu einer hohen Speicherauslastung Prometheus Prometheus-Servers führen kann.

```
global:
   scrape_interval: 30s
   #external_labels:
     #clusterArn: <REPLACE_ME>
scrape_configs:
  - job_name: kubernetes-nodes-cadvisor
    scrape_interval: 30s
    scrape_timeout: 10s
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
    - role: node
    relabel_configs:
    - regex: (.+)
      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
      source_labels:
      - __meta_kubernetes_node_name
      target_label: __metrics_path__
    - replacement: kubernetes.default.svc:443
      target_label: __address__
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: 'container_cpu_usage_seconds_total|container_memory_working_set_bytes'
      action: keep
```

Wenn Sie im *Amazon Managed Service for Prometheus Benutzerhandbuch* [die Option Aufnahme von einem neuen Prometheus-Server mithilfe von Helm einrichten](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-ingest-metrics-new-Prometheus.html) befolgt haben, können Sie Ihre Scrape-Konfiguration aktualisieren.

**Um Ihre Scrape-Konfiguration zu aktualisieren**

1. Bearbeiten Sie es `my_prometheus_values_yaml` anhand der Anleitung und fügen Sie die Beispiel-Scrape-Konfiguration in den `server` Block ein.

1. Führen Sie den folgenden Befehl mit `prometheus-chart-name` und `prometheus-namespace` aus dem *Amazon Managed Service for Prometheus User* Guide aus.

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

[Weitere Informationen zu `scrape_interval` oder zur Verwendung eines nicht-globalen scrape\_interval finden Sie unter Prometheus-Scrape-Konfiguration.](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config)

Alternativ können Sie den AWS Distro for OpenTelemetry Collector verwenden, der über einen Prometheus Receiver, einen Prometheus Remote Write Exporter und die AWS Sigv4 Authentication Extension verfügt, um Remote-Schreibzugriff auf Amazon Managed Service for Prometheus zu erhalten.

**Anmerkung**  
Sobald Sie Ihren Prometheus-Agenten eingerichtet haben, sind Sie im Gegensatz zu AWS Managed Collectors dafür verantwortlich, den Agenten auf dem neuesten Stand zu halten und die Metriken zu sammeln.

## Schätzung der Kosten für Amazon Managed Service für Prometheus
<a name="estimate-prometheus-costs"></a>

Sie können den AWS Preisrechner verwenden, um die Kosten für die Nutzung von Amazon Managed Service for Prometheus für Daten zur geteilten Kostenzuweisung zu schätzen.

**So konfigurieren Sie Amazon Managed Service für Prometheus für Ihren Kostenvoranschlag**

1. [Öffnen Sie den AWS Preisrechner unter \#/. https://calculator.aws/](https://calculator.aws/#/)

1. Wählen Sie **Create estimate (Schätzung erstellen)** aus.

1. **Geben Sie auf der Seite **Service hinzufügen** **Amazon Managed Service for Prometheus** in das Suchfeld ein und wählen Sie dann Configure aus.**

1. Geben Sie im Feld **Beschreibung** eine Beschreibung für Ihren Kostenvoranschlag ein.

1. Region wählen **Region**.

1. Wählen Sie **Die Kosten anhand Ihrer Infrastrukturdetails berechnen** aus. Mit dieser Option können Sie Ihre Kosten für Aufnahme, Speicherung und Stichproben für Abfragen auf der Grundlage Ihrer aktuellen oder geplanten Infrastrukturkonfiguration abschätzen.

1. Geben Sie unter **Anzahl der EC2-Instances** die Gesamtzahl der EC2-Instances in all Ihren Clustern für Ihre gesamte konsolidierte Fakturierungsfamilie (einschließlich aller Konten und Regionen) ein. Wenn Sie verwenden AWS Fargate, verwenden Sie die Anzahl der Fargate-Aufgaben als Proxy für die Anzahl Ihrer EC2-Instances.

1. Für Daten zur geteilten Kostenzuweisung sind zwei Metriken erforderlich: `container_cpu_usage_seconds_total` und. `container_memory_working_set_bytes` Geben Sie für **Prometheus-Metriken pro EC2-Instances den Wert 2** ein.

1. Daten zur geteilten Kostenzuweisung deuten auf ein Scrape-Intervall von 15 Sekunden hin. Geben Sie für **Intervall zur Erfassung von Messwerten (in Sekunden)** den Wert 15 ein. Wenn Sie ein anderes Intervall verwendet haben (z. B. 30 Sekunden), ändern Sie dieses auf das von Ihnen festgelegte Intervall.

1. Für die Daten zur geteilten Kostenzuweisung gelten keine spezifischen Anforderungen für die anderen Parameter. Geben Sie daher entsprechend Ihren Geschäftsanforderungen entsprechende Werte für die übrigen Eingabeparameter ein.

1. Wählen Sie „**Service speichern und hinzufügen**“.