View a markdown version of this page

PromQL-Abfrage - Amazon CloudWatch

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.

PromQL-Abfrage

Wenn Sie OpenTelemetry Metriken CloudWatch über den aufnehmenEndpunkt der Messwerte, wird das hierarchische OTLP-Datenmodell in Bezeichnungen zusammengefasst. PromQL-compatible In diesem Abschnitt werden die Labelstruktur, die PromQL-Syntax für die Abfrage dieser Labels und die Unterstützung in PromQL beschrieben. UTF-8

Anmerkung

PromQL in Prometheus 3 unterstützt vollständige Zeichen in Metriknamen und Labelnamen. UTF-8 Dies ist besonders wichtig für OTLP-Metriken, da OpenTelemetry semantische Konventionen Punkte in Attributnamen wie verwenden. service.name Bisher wurden diese Punkte bei der Übersetzung durch Unterstriche ersetzt, was zu Diskrepanzen zwischen dem, was in den OTel-Konventionen definiert war, und dem, was in Prometheus abfragbar war, zur Folge hatte.

Bei der Verwendung von PromQL in unterscheidet die Präfixkonvention Labels von CloudWatch Standard-Prometheus-Bezeichnungen@. OTLP-scoped Felder innerhalb jedes Bereichs verwenden ein doppeltes @ Präfix (z. B.@resource.@schema_url), während Attribute ein einzelnes @ Bereichspräfix verwenden, z. B. @resource.service.name Datenpunktattribute unterstützen aus Gründen der Abwärtskompatibilität beispielsweise mit Standard-PromQL-Abfragen auch den bloßen Zugriff (ohne Präfix) und sind gleichwertig. {"http.server.active_requests"} {"@datapoint.@name"="http.server.active_requests"}

Ein PromQL-Ausdruck ist in geschweifte Klammern eingeschlossen und gibt den Metriknamen und einen optionalen Satz von Label-Matchern an. Im folgenden Beispiel werden alle Zeitreihen für die Metrik ausgewählt: http.server.active_requests

{"http.server.active_requests"}

Im folgenden Beispiel werden alle Zeitreihen für die Metrik ausgewählt, http.server.active_requests bei denen das OpenTelemetry Ressourcenattribut service.name gleich istmyservice:

{"http.server.active_requests", "@resource.service.name"="myservice"}

Sie können mehrere Label-Matcher in einer einzigen Abfrage kombinieren. Im folgenden Beispiel werden alle Zeitreihen für die http.server.active_requests Metrik ausgewählt, bei der das OpenTelemetry Ressourcenattribut myservice in allen US-Regionen service.name gleich ist:

{"http.server.active_requests", "@resource.service.name"="myservice", "@aws.region"=~"us-.*"}

Das folgende Beispiel zeigt eine Bereichsabfrage. Es berechnet den Durchschnittswert aller Datenpunkte innerhalb eines bestimmten Zeitbereichs für jede Zeitreihe:

avg_over_time( {"http.server.active_requests", "@resource.service.name"="myservice"}[5m] )

Die folgende Tabelle fasst die Präfixkonventionen für jeden OTLP-Bereich zusammen:

OTLP-Bereich Präfix der Felder Präfix für Attribute Beispiel

Ressource

@resource.@

@resource.

@resource.service.name="myservice"

Umfang der Instrumentierung

@instrumentation.@

@instrumentation.

@instrumentation.@name="otel-go/metrics"

Datenpunkt

@datapoint.@

@datapoint.oder nackt

cpu="cpu0" oder @datapoint.cpu="cpu0"

AWS-reserviert

N/A

@aws.

@aws.account_id="123456789"

Anfrage gesendet AWS Metriken mit PromQL

Um AWS Verkaufsmetriken in PromQL abfragen zu können, müssen Sie zunächst die OTel-Anreicherung von Verkaufsmetriken aktivieren. Siehe: AWS verkaufte Metriken im Format OpenTelemetry.

Nachdem Sie die OTel-Anreicherung aktiviert haben, können angepasste AWS Metriken über PromQL mit zusätzlichen Bezeichnungen abgefragt werden. Der Metrikname ist mit dem ursprünglichen CloudWatch Metriknamen identisch, und die ursprünglichen CloudWatch Dimensionen sind als Datenpunktattribute verfügbar. Die folgenden Labels sind verfügbar (das folgende Beispiel bezieht sich auf eine EC2-Instance):

PromQL-Bezeichnung Description Beispiel

InstanceId

Ursprüngliche CloudWatch Dimension, als Datenpunktattribut

i-0123456789abcdef0

"@resource.cloud.resource_id"

Vollständiger ARN der Ressource

arn:aws:ec2:us-east-1:123456789012:instance/i-0123456789abcdef0

"@resource.cloud.provider"

Cloud-Anbieter

aws

"@resource.cloud.region"

AWS Region, aus der diese Metrik stammt

us-east-1

"@resource.cloud.account.id"

AWS Konto-ID, aus der diese Metrik stammt

123456789012

"@instrumentation.@name"

Name des Instrumentierungsbereichs, der den Quelldienst identifiziert

cloudwatch.aws/ec2

"@instrumentation.cloudwatch.source"

ID des Quelldiensts

aws.ec2

"@instrumentation.cloudwatch.solution"

Kennung der Anreicherungslösung

CloudWatchOTelEnrichment

"@aws.tag.Environment"

AWS Ressourcen-Tag

production

"@aws.account"

AWS Konto, in das diese Metrik aufgenommen wurde (Systembezeichnung)

123456789012

"@aws.region"

AWS Region, in der diese Metrik aufgenommen wurde (Systembezeichnung)

us-east-1

Im folgenden Invocations Beispiel wird eine bestimmte Lambda-Funktion ausgewählt:

{Invocations, FunctionName="my-api-handler"}

Im folgenden Beispiel wird Lambda Errors für alle Funktionen ausgewählt, die mit einem bestimmten Team markiert sind:

{Errors, "@instrumentation.@name"="cloudwatch.aws/lambda", "@aws.tag.Team"="backend"}

Im folgenden Beispiel wird der Gesamtwert von Lambda berechnet, Invocations gruppiert nach Team:

sum by ("@aws.tag.Team")( {Invocations, "@instrumentation.@name"="cloudwatch.aws/lambda"} )

Im folgenden Beispiel werden alle Zeitreihen für die CPUUtilization EC2-Metrik ausgewählt. Die Verwendung von "@instrumentation.@name"="cloudwatch.aws/ec2" dient ausschließlich der CPU-Auslastung von EC2 und nicht von anderen AWS Diensten wie Amazon Relational Database Service:

histogram_avg({CPUUtilization, "@instrumentation.@name"="cloudwatch.aws/ec2"})

Abfrage von Grafana

Sie können CloudWatch PromQL-Daten von Grafana abfragen, indem Sie das Amazon Managed Service for Prometheus-Datenquellen-Plugin hinzufügen und es auf den Überwachungsendpunkt verweisen. CloudWatch Die SigV4-Signatur ist in das Plugin integriert und immer aktiviert, sodass es keinen Schalter zum Einschalten gibt. Das Plugin ist auf grafana veröffentlicht. com/grafana/plugins/grafana-amazonprometheus-datasource/; installieren Sie es aus dem Grafana-Plugin-Katalog, bevor Sie die Datenquelle hinzufügen. Das AMP-Plugin >=11.6.11 <12 || >=12.0.10 <12.1 || >=12.1.7 <12.2 || >=12.2.5 v3.0.0 erfordert Grafana.

IAM-Voraussetzungen — Der IAM-Prinzipal, dessen Anmeldeinformationen Grafana verwendet, muss sowohl cloudwatch:GetMetricData (erforderlich für Instant- und Bereichsabfragen) als auch (erforderlich für Serien- und cloudwatch:ListMetrics Label-Discovery) besitzen. Details hierzu finden Sie unter IAM-Berechtigungen für PromQL.

Gehen Sie wie folgt vor, um Grafana zu konfigurieren.

  1. Installieren Sie das Amazon Managed Service for Prometheus-Datenquellen-Plugin aus dem Grafana-Plugin-Katalog.

  2. Gehen Sie in Grafana zu Verbindungen, Datenquellen , wählen Sie Datenquelle hinzufügen und wählen Sie Amazon Managed Service for Prometheus aus.

  3. Stellen Sie die URL der Datenquelle auf ein. https://monitoring.AWS Region.amazonaws.com

  4. Stellen Sie die Region auf Ihre AWS Region ein. Wählen Sie einen für Ihre Umgebung geeigneten Authentifizierungsanbieter (Standard-Anmeldeinformationskette, Zugriffsschlüssel oder Workspace-IAM-Rolle).

  5. Wählen Sie Speichern und testen.

Abfrage von Amazon Managed Grafana

Sie können CloudWatch PromQL-Daten von einem Amazon Managed Grafana-Workspace abfragen, indem Sie eine Amazon Managed Service for Prometheus-Datenquelle hinzufügen, die auf den Überwachungsendpunkt verweist. CloudWatch Dieses Datenquellen-Plugin signiert Anfragen mit SigV4 mithilfe der Workspace-IAM-Rolle automatisch. SigV4 ist immer aktiviert, ohne dass ein Schalter konfiguriert werden muss. Das Plugin ist in Amazon Managed Grafana-Version 12 und höher verfügbar. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu einer Amazon Managed Service for Prometheus-Datenquelle im Amazon Managed Grafana-Benutzerhandbuch.

IAM-Voraussetzungen — Die Amazon Managed Grafana-Workspace-IAM-Rolle muss sowohl cloudwatch:GetMetricData (erforderlich für Sofortabfragen und Bereichsabfragen) als auch (erforderlich für Serien- und cloudwatch:ListMetrics Label-Discovery) erfüllen. Details hierzu finden Sie unter IAM-Berechtigungen für PromQL.

Führen Sie die folgenden Schritte aus, um die Datenquelle zu konfigurieren.

  1. Fügen Sie in Ihrem Amazon Managed Grafana-Arbeitsbereich eine Amazon Managed Service for Prometheus-Datenquelle hinzu.

  2. Stellen Sie die Datenquellen-URL auf ein. https://monitoring.AWS Region.amazonaws.com

  3. Stellen Sie die Region auf Ihre AWS Region ein. Amazon Managed Grafana fügt Anmeldeinformationen aus der Workspace-IAM-Rolle automatisch ein; Sie müssen keine statischen Schlüssel konfigurieren.

  4. Wählen Sie Speichern und testen.

Abfragen mit MCP-Tools

Der CloudWatch MCP Server stellt MCP-Tools (Model Context Protocol) bereit, mit denen KI-Assistenten und Entwicklungstools CloudWatch PromQL-Daten in Ihrem Namen abfragen können. Die MCP-Tools übernehmen die Authentifizierung und die Formatierung von Anfragen automatisch, sodass Sie sich auf das Schreiben von PromQL-Abfragen konzentrieren können, anstatt HTTP-Anfragen und SigV4-Signaturen zu verwalten.

Die folgenden PromQL-Tools sind auf dem MCP Server verfügbar: CloudWatch

Tool Description

execute_promql_query

Führt eine sofortige PromQL-Abfrage aus und gibt Metrikwerte zu einem einzigen Zeitpunkt zurück.

execute_promql_range_query

Führt eine PromQL-Bereichsabfrage über ein Zeitfenster aus und gibt Zeitreihendaten für Trendanalysen und grafische Darstellungen zurück.

get_promql_label_values

Ruft Werte für ein bestimmtes PromQL-Label ab, z. B. __name__ für Metriknamen oder für Dienste. @resource.service.name

get_promql_series

Findet Zeitreihen, die den PromQL-Label-Selektoren entsprechen, und gibt den vollständigen Labelsatz jeder passenden Reihe zurück.

get_promql_labels

Listet alle verfügbaren PromQL-Labelnamen auf, damit Sie die Labelstruktur Ihrer Metriken leichter erkennen können.

Vollständige Informationen zu Parametern, Konfiguration und Einrichtungsanweisungen finden Sie unter Tools for CloudWatch PromQL in der CloudWatch MCP Server-Dokumentation.

Abfragen mit der HTTP-API

Sie können CloudWatch PromQL-Daten auch programmgesteuert abfragen, indem Sie die HTTP-Endpunkte direkt aufrufen. Prometheus-compatible Anfragen müssen mit AWS Signature Version 4 signiert werden, wobei der Dienstname verwendet monitoring wird.

Der PromQL-Endpunkt folgt dem Muster. https://monitoring.AWS Region.amazonaws.com/api/v1/operation Für die Region USA Ost (Nord-Virginia) (us-east-1) lautet der Endpunkt für eine Sofortabfrage beispielsweise. https://monitoring.us-east-1.amazonaws.com/api/v1/query

Die vollständige API-Referenz, einschließlich unterstützter Operationen, Anforderungsparameter und Antwortformate, finden Sie unter. Prometheus-compatible APIs Eine Liste der AWS Regionen, in denen PromQL-Abfragen verfügbar sind, finden Sie unter. Unterstützt AWS Regionen Die für jeden Vorgang erforderlichen IAM-Aktionen finden Sie unter. IAM-Berechtigungen für PromQL