

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 einer OpenSearch Ingestion-Pipeline mit Amazon Managed Service für Prometheus
<a name="configure-client-prometheus"></a>

Sie können Amazon Managed Service for Prometheus als Ziel für Ihre OpenSearch Ingestion-Pipeline verwenden, um Metriken im Zeitreihenformat zu speichern. Die Prometheus-Senke ermöglicht es Ihnen, OpenTelemetry Metriken oder andere Zeitreihendaten aus Ihrer Pipeline zur Überwachung, Warnung und Analyse an einen Amazon Managed Service for Prometheus-Workspace zu senden.

Das `prometheus` OpenSearch Sink-Plugin ermöglicht es Ingestion-Pipelines, mithilfe des Prometheus-Remote-Write-Protokolls Metrikdaten in Amazon Managed Service for Prometheus-Workspaces zu schreiben. Diese Integration ermöglicht Ihnen:
+ Speichern von Daten zu Zeitreihenmetriken in Amazon Managed Service for Prometheus
+ Mit Amazon Managed Service for Prometheus und Amazon Managed Grafana Messwerte überwachen und Warnmeldungen dazu erstellen
+ Metriken gleichzeitig an mehrere Ziele weiterleiten (z. B. OpenSearch und Amazon Managed Service für Prometheus)
+ Verarbeiten Sie OpenTelemetry Metriken von externen Agenten oder generieren Sie Metriken innerhalb der Pipeline

**Topics**
+ [Voraussetzungen](#prometheus-prereqs)
+ [Schritt 1: Konfigurieren Sie die Pipeline-Rolle](#prometheus-pipeline-role)
+ [Schritt 2: Erstellen Sie die Pipeline](#prometheus-pipeline)
+ [Überwachung und Problembehebung](#prometheus-monitoring)
+ [Einschränkungen](#prometheus-limitations)
+ [Best Practices](#prometheus-best-practices)

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

Bevor Sie die Prometheus-Senke konfigurieren, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ **Amazon Managed Service for Prometheus Workspace**: Erstellen Sie einen Workspace im selben AWS-Konto und AWS-Region wie Ihre OpenSearch Ingestion-Pipeline. Anweisungen 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*.
+ **IAM-Berechtigungen**: Konfigurieren Sie eine IAM-Rolle mit Schreibberechtigungen für Amazon Managed Service for Prometheus. Weitere Informationen finden Sie unter [Schritt 1: Konfigurieren Sie die Pipeline-Rolle](#prometheus-pipeline-role).

**Anmerkung**  
Amazon Managed Service for Prometheus-Arbeitsbereiche müssen vom Service verwaltete Schlüssel verwenden AWS . AWS KMS Kundenverwaltete AWS KMS Schlüssel werden derzeit nicht für Amazon Managed Service for Prometheus-Senken in Ingestion-Pipelines unterstützt. OpenSearch 

## Schritt 1: Konfigurieren Sie die Pipeline-Rolle
<a name="prometheus-pipeline-role"></a>

Die Prometheus-Senke erbt automatisch die IAM-Berechtigungen der [Pipeline-Rolle](pipeline-security-overview.md#pipeline-security-sink) für die Authentifizierung, sodass keine zusätzliche Rollenkonfiguration (wie`sts_role_arn`) in den Senkeneinstellungen erforderlich ist.

Die folgende Beispielrichtlinie zeigt die erforderlichen Berechtigungen für die Verwendung von Amazon Managed Service for Prometheus als Senke:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AMPRemoteWrite",
      "Effect": "Allow",
      "Action": [
        "aps:RemoteWrite"
      ],
      "Resource": "arn:aws:aps:region:account-id:workspace/workspace-id"
    }
  ]
}
```

Ersetzen die folgenden Platzhalter:
+ `region`: Ihr AWS-Region (zum Beispiel) `us-east-1`
+ `account-id`: Deine AWS-Konto ID
+ `workspace-id`: Ihre Workspace-ID für Amazon Managed Service für Prometheus

Sie müssen diese Berechtigungen an Ihre Pipeline-Rolle anhängen.

Stellen Sie sicher, dass Ihre Pipeline-Rolle über eine Vertrauensbeziehung verfügt, die es OpenSearch Ingestion ermöglicht, diese zu übernehmen:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "osis-pipelines.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

## Schritt 2: Erstellen Sie die Pipeline
<a name="prometheus-pipeline"></a>

Nachdem Sie Ihre Berechtigungen eingerichtet haben, können Sie eine OpenSearch Ingestion-Pipeline so konfigurieren, dass Amazon Managed Service for Prometheus als Senke verwendet wird.

### Basiskonfiguration
<a name="prometheus-basic-config"></a>

Das folgende Beispiel zeigt eine minimale Prometheus-Sinkkonfiguration:

```
version: "2"
sink:
  - prometheus:
      url: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write"
      aws:
        region: "region"
```

Sie müssen die `url` Option in der `prometheus` Senkenkonfiguration angeben, bei der es sich um den Remote-Write-Endpunkt von Amazon Managed Service for Prometheus handelt. Um die URL zu formatieren, suchen Sie Ihre Workspace-ID in der Amazon Managed Service for Prometheus-Konsole und erstellen Sie die URL wie folgt:. `https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write`

### Konfigurationsoptionen
<a name="prometheus-config-options"></a>

Verwenden Sie die folgenden Optionen, um das Batch- und Spülverhalten für die Prometheus-Senke zu konfigurieren:


**Konfigurationsoptionen für Prometheus-Senken**  

| Option | Erforderlich | Typ | Description | 
| --- | --- | --- | --- | 
| max\$1events | Nein | Ganzzahl | Die maximale Anzahl von Ereignissen, die gesammelt werden sollen, bevor sie zu Prometheus übertragen werden. Der Standardwert ist 1000. | 
| max\$1request\$1size | Nein | Anzahl der Byte | Die maximale Größe der Anforderungsnutzlast vor dem Leeren. Der Standardwert ist 1mb. | 
| flush\$1interval | Nein | Dauer | Die maximale Wartezeit vor dem Löschen von Ereignissen. Der Standardwert ist 10s. Der zulässige Höchstwert ist60s. | 

### Beispiel für Pipelines
<a name="prometheus-example-pipelines"></a>

**Beispiel 1: OpenTelemetry Metriken für Amazon Managed Service für Prometheus**

Diese Pipeline empfängt OpenTelemetry Metriken von einem externen Agenten und schreibt sie in Amazon Managed Service for Prometheus:

```
version: "2"
source:
  otel_metrics_source:
    path: "/v1/metrics"
    output_format: otel

sink:
  - prometheus:
      url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write"
      aws:
        region: "us-east-1"
```

**Beispiel 2: Dual-Sink — OpenSearch und Amazon Managed Service für Prometheus**

Diese Pipeline leitet Metriken OpenSearch sowohl an Amazon Managed Service for Prometheus als auch an Amazon Managed Service weiter:

```
version: "2"
source:
  otel_metrics_source:
    path: "/v1/metrics"
    output_format: otel

sink:
  - opensearch:
      hosts:
        - "https://search-domain-endpoint.us-east-1.es.amazonaws.com"
      index: "metrics-%{yyyy.MM.dd}"
      aws:
        region: "us-east-1"
        sts_role_arn: "arn:aws:iam::123456789012:role/OSI-Pipeline-Role"

  - prometheus:
      url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write"
      aws:
        region: "us-east-1"
```

**Beispiel 3: Metriken mit Filterung**

Diese Pipeline filtert Metriken, bevor sie an Amazon Managed Service for Prometheus gesendet werden:

```
version: "2"
source:
  otel_metrics_source:
    path: "/v1/metrics"
    output_format: otel

processor:
  - drop_events:
      drop_when: '/name != "http.server.duration" and /name != "http.client.duration"'

sink:
  - prometheus:
      url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write"
      aws:
        region: "us-east-1"
```

Sie können einen vorkonfigurierten Amazon Managed Service for Prometheus Blueprint verwenden, um diese Pipelines zu erstellen. Weitere Informationen finden Sie unter [Mit Blueprints arbeiten](pipeline-blueprint.md).

### Eine Pipeline mit Amazon Managed Service für Prometheus Sink erstellen
<a name="prometheus-create-pipeline"></a>

#### Die Konsole verwenden AWS
<a name="prometheus-console"></a>

1. Navigieren Sie zur OpenSearch Servicekonsole.

1. Wählen Sie unter ****Ingestion** die Option Pipelines** aus.

1. Wählen Sie **Create pipeline (Pipeline erstellen)** aus.

1. Wählen Sie **Mit Blueprint erstellen** und wählen Sie die **OpenTelemetry Metriken für Amazon Prometheus-Blueprint** aus.

1. Konfigurieren Sie die Pipeline:
   + Geben Sie Ihre Workspace-ID für Amazon Managed Service for Prometheus ein
   + Geben Sie den ARN der Pipeline-Rolle an
   + Konfigurieren Sie die Quell- und Prozessoreinstellungen nach Bedarf

1. Überprüfen und erstellen Sie die Pipeline.

#### Verwenden der AWS CLI
<a name="prometheus-cli"></a>

Erstellen Sie eine Pipeline-Konfigurationsdatei (z. B.`amp-pipeline.yaml`) mit der gewünschten Konfiguration und führen Sie dann Folgendes aus:

```
aws osis create-pipeline \
  --pipeline-name my-amp-pipeline \
  --min-units 2 \
  --max-units 4 \
  --pipeline-configuration-body file://amp-pipeline.yaml
```

#### Verwenden AWS CloudFormation
<a name="prometheus-cfn"></a>

```
Resources:
  MyAMPPipeline:
    Type: AWS::OSIS::Pipeline
    Properties:
      PipelineName: my-amp-pipeline
      MinUnits: 2
      MaxUnits: 4
      PipelineConfigurationBody: |
        version: "2"
        source:
          otel_metrics_source:
            path: "/v1/metrics"
            output_format: otel
        sink:
          - prometheus:
              url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write"
              aws:
                region: "us-east-1"
```

## Überwachung und Problembehebung
<a name="prometheus-monitoring"></a>

### CloudWatch Metriken
<a name="prometheus-cloudwatch-metrics"></a>

Überwachen Sie die Leistung Ihrer Pipeline anhand von CloudWatch Kennzahlen:
+ `DocumentsWritten`: Anzahl der erfolgreich in Amazon Managed Service for Prometheus geschriebenen Metriken
+ `DocumentsWriteFailed`: Anzahl der Metriken, die nicht geschrieben werden konnten
+ `RequestLatency`: Latenz von Remote-Schreibanforderungen

### Häufige Probleme
<a name="prometheus-troubleshooting"></a>

**Problem**: Pipeline kann nicht in Amazon Managed Service for Prometheus schreiben

**Lösungen:**
+ Stellen Sie sicher, dass die Workspace-ID und die Region in der URL korrekt sind
+ Stellen Sie sicher, dass die Pipeline-Rolle über `aps:RemoteWrite` Berechtigungen verfügt
+ Stellen Sie sicher, dass der Workspace vom Service verwaltete Schlüssel AWS KMS verwendet
+ Stellen Sie sicher, dass die Pipeline und der Workspace identisch sind AWS-Konto

**Problem**: Authentifizierungsfehler

**Lösungen:**
+ Stellen Sie sicher, dass die Vertrauensstellung `osis-pipelines.amazonaws.com` die Übernahme der Pipeline-Rolle ermöglicht
+ Stellen Sie sicher, dass die Pipeline-Rolle über die erforderlichen `aps:RemoteWrite` Berechtigungen verfügt

**Problem**: Hohe Latenz oder Drosselung

**Lösungen:**
+ Erhöhen Sie die Kapazitätseinheiten der Pipeline
+ Implementieren Sie die Batchverarbeitung im Prozessor
+ Überprüfen Sie die Prometheus-Servicekontingente von Amazon Managed Service

## Einschränkungen
<a name="prometheus-limitations"></a>

Beachten Sie die folgenden Einschränkungen, wenn Sie eine OpenSearch Ingestion-Pipeline für Amazon Managed Service for Prometheus einrichten:
+ Amazon Managed Service for Prometheus-Arbeitsbereiche müssen vom Service verwaltete Schlüssel verwenden AWS . AWS KMS Vom Kunden verwaltete AWS KMS Schlüssel werden derzeit nicht unterstützt.
+ Die Pipeline und der Amazon Managed Service for Prometheus Workspace müssen sich im selben Raum befinden. AWS-Konto

## Best Practices
<a name="prometheus-best-practices"></a>
+ **Verwenden Sie dieselbe IAM-Rolle**: Die Prometheus-Senke verwendet automatisch die Pipeline-Rolle. Wenn andere Senken verwendet werden, stellen Sie sicher, dass dies mit der `sts_role_arn` Pipeline-Rolle identisch ist
+ **Messwerte überwachen**: Richten Sie CloudWatch Alarme für fehlgeschlagene Schreibvorgänge und hohe Latenz ein
+ **Filterung implementieren**: Verwenden Sie Prozessoren, um unnötige Metriken zu filtern, bevor Sie sie an Amazon Managed Service for Prometheus senden
+ Kapazität **richtig dimensionieren: Beginnen Sie mit der Mindestkapazität** und skalieren Sie sie auf der Grundlage des Volumens der Metriken
+ **Verwenden Sie Blueprints**: Nutzen Sie vorkonfigurierte Blueprints für gängige Anwendungsfälle