View a markdown version of this page

PromQL abfragen - 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 abfragen

Wenn Sie OpenTelemetry Metriken in CloudWatch via aufnehmenEndpunkt der Kennzahlen, wird das hierarchische OTLP-Datenmodell auf Labels reduziert. 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 UTF-8 Zeichen in Metriknamen und Labelnamen. Dies ist besonders wichtig für OTLP-Metriken, da OpenTelemetry semantische Konventionen Punkte in Attributnamen verwenden, wie z. service.name Bisher wurden diese Punkte bei der Übersetzung durch Unterstriche ersetzt, was zu Diskrepanzen zwischen dem, was in oTel-Konventionen definiert war, und dem, was in Prometheus abfragbar war, führte.

Bei der Verwendung von PromQL in CloudWatch unterscheidet die @ Präfixkonvention OTLP-scoped Labels von Standard-Prometheus-Labels. Felder innerhalb jedes Bereichs verwenden ein doppeltes @ Präfix (zum Beispiel@resource.@schema_url), während Attribute ein Präfix mit einem einzigen @ Gültigkeitsbereich verwenden, zum Beispiel. @resource.service.name Datenpunktattribute unterstützen auch den bloßen Zugriff (ohne Präfix), um beispielsweise die Abwärtskompatibilität mit Standard-PromQL-Abfragen zu gewährleisten, und sind gleichwertig. {"http.server.active_requests"} {"@datapoint.@name"="http.server.active_requests"}

Ein PromQL-Ausdruck wird in geschweifte Klammern eingeschlossen und gibt den Namen der Metrik 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 denen 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. Sie 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] )

In der folgenden Tabelle sind die Präfixkonventionen für jeden OTLP-Bereich zusammengefasst:

OTLP-Bereich Präfix für 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"

Die Abfrage wurde beendet AWS Metriken mit PromQL

Um verkaufte AWS Metriken 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 die versendeten AWS Metriken über PromQL mit zusätzlichen Labels abgefragt werden. Der Metrikname ist derselbe wie der ursprüngliche CloudWatch Metrikname, und die ursprünglichen CloudWatch Dimensionen sind als Datenpunktattribute verfügbar. Die folgenden Labels sind verfügbar (das Beispiel unten bezieht sich auf eine EC2-Instance):

PromQL-Etikett Description Beispiel

InstanceId

Ursprüngliche CloudWatch Dimension als Datenpunkt-Attribut

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"

Kennung 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 (Systemlabel)

123456789012

"@aws.region"

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

us-east-1

Das folgende Invocations Beispiel wählt eine bestimmte Lambda-Funktion aus:

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

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

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

Das folgende Beispiel berechnet den gesamten Lambda, Invocations gruppiert nach Teams:

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"})

Anfrage von Grafana

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

IAM-Voraussetzungen — Der IAM-Prinzipal, dessen Anmeldeinformationen Grafana verwendet, muss sowohl cloudwatch:GetMetricData (erforderlich für Instant- und Bereichsabfragen) als auch cloudwatch:ListMetrics (erforderlich für Serien- und Labelerkennung) haben. 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-Plug-In aus dem Grafana-Plugins-Katalog.

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

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

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

  5. Wählen Sie Speichern und testen.

Abfragen von Amazon Managed Grafana

Sie können CloudWatch PromQL-Daten aus 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 und verwendet dabei die Workspace-IAM-Rolle automatisch. Sigv4 ist immer aktiviert, es muss kein Schalter konfiguriert werden. Das Plugin ist in Amazon Managed Grafana Version 12 und höher verfügbar. Weitere Informationen finden Sie unter Connect 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 Instant- und Bereichsabfragen) als auch cloudwatch:ListMetrics (erforderlich für Serien- und Labelerkennung) aufweisen. Details hierzu finden Sie unter IAM-Berechtigungen für PromQL.

Gehen Sie wie folgt vor, 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 bietet Model Context Protocol (MCP) -Tools, 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 im MCP Server verfügbar: CloudWatch

Tool Description

execute_promql_query

Führt sofort eine 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-Labelselektoren entsprechen, und gibt den vollständigen Labelsatz jeder passenden Serie zurück.

get_promql_labels

Führt alle verfügbaren PromQL-Labelnamen auf, um die Labelstruktur Ihrer Metriken zu ermitteln.

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 Informationen zu den IAM-Aktionen, die für jeden Vorgang erforderlich sind, finden Sie unter. IAM-Berechtigungen für PromQL