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
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 Kennzahlen ü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
Themen
Voraussetzungen
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 im Amazon Managed Service for Prometheus User Guide unter Creating a Workspace.
-
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.
Anmerkung
Amazon Managed Service for Prometheus Workspaces 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
Die Prometheus-Senke erbt automatisch die IAM-Berechtigungen der Pipeline-Rolle für die Authentifizierung, sodass keine zusätzliche Rollenkonfiguration (wiests_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:
-
: Ihr AWS-Region (zum Beispiel)regionus-east-1 -
: Deine AWS-Konto IDaccount-id -
: Ihre Workspace-ID für Amazon Managed Service für Prometheusworkspace-id
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
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
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
Verwenden Sie die folgenden Optionen, um das Batch- und Spülverhalten für die Prometheus-Senke zu konfigurieren:
| Option | Erforderlich | Typ | Description |
|---|---|---|---|
max_events |
Nein | Ganzzahl | Die maximale Anzahl von Ereignissen, die gesammelt werden sollen, bevor sie zu Prometheus übertragen werden. Der Standardwert ist 1000. |
max_request_size |
Nein | Anzahl der Byte | Die maximale Größe der Anforderungsnutzlast vor dem Leeren. Der Standardwert ist 1mb. |
flush_interval |
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
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.
Eine Pipeline mit Amazon Managed Service für Prometheus Sink erstellen
Die Konsole verwenden AWS
-
Navigieren Sie zur OpenSearch Servicekonsole.
-
Wählen Sie unter Ingestion die Option Pipelines aus.
-
Wählen Sie Create pipeline (Pipeline erstellen) aus.
-
Wählen Sie Mit Blueprint erstellen und wählen Sie die OpenTelemetry Metriken für Amazon Prometheus-Blueprint aus.
-
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
-
-
Überprüfen und erstellen Sie die Pipeline.
Verwenden der AWS CLI
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
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
CloudWatch Metriken
Ü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
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:RemoteWriteBerechtigungen verfügt -
Stellen Sie sicher, dass der Workspace vom Service verwaltete Schlüssel AWS KMS verwendet
-
Stellen Sie sicher, dass sich die Pipeline und der Workspace im selben System befinden AWS-Konto
Problem: Authentifizierungsfehler
Lösungen:
-
Stellen Sie sicher, dass die Vertrauensstellung
osis-pipelines.amazonaws.comdie Übernahme der Pipeline-Rolle ermöglicht -
Stellen Sie sicher, dass die Pipeline-Rolle über die erforderlichen
aps:RemoteWriteBerechtigungen verfügt
Problem: Hohe Latenz oder Drosselung
Lösungen:
-
Erhöhen Sie die Kapazitätseinheiten der Pipeline
-
Implementieren Sie Batching im Prozessor
-
Überprüfen Sie die Prometheus-Servicekontingente von Amazon Managed Service
Einschränkungen
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 Workspaces 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
-
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_arnPipeline-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