Abfrage mit Grafana

Nachdem Sie Google Cloud Managed Service for Prometheus bereitgestellt haben, können Sie die an den verwalteten Dienst gesendeten Daten abfragen und die Ergebnisse in Diagrammen und Dashboards darstellen.

In diesem Dokument werden Messwertbereiche beschrieben, mit denen die abfragbaren Daten bestimmt werden, und die Verwendung von Grafana zum Abrufen und Verwenden der erhobenen Daten.

Alle Abfrageschnittstellen für Managed Service for Prometheus sind so konfiguriert, dass Daten mit der Cloud Monitoring API aus Monarch abgerufen werden. Durch die Abfrage von Monarch anstelle der Abfrage von lokalen Prometheus-Servern erhalten Sie umfassendes globales Monitoring.

Vorbereitung

Wenn Sie den verwalteten Dienst noch nicht bereitgestellt haben, richten Sie die verwaltete Erfassung oder die selbst bereitgestellte Erfassung ein. Sie können diesen Schritt überspringen, wenn Sie nur Cloud Monitoring-Messwerte mit PromQL abfragen möchten.

Konfigurierung Ihrer Umgebung

Führen Sie die folgende Konfiguration aus, um zu vermeiden, dass Sie Ihre Projekt-ID oder den Clusternamen wiederholt eingeben müssen:

  • Konfigurieren Sie die Befehlszeilentools so:

    • Konfigurieren Sie die gcloud CLI so, dass sie auf die ID Ihres Google Cloud-Projekts verweist:

      gcloud config set project PROJECT_ID
      
    • Konfigurieren Sie die kubectl-Befehlszeile für die Verwendung Ihres Clusters:

      kubectl config set-cluster CLUSTER_NAME
      

    Weitere Informationen zu diesen Tools finden Sie hier:

Namespace einrichten

Erstellen Sie den Kubernetes-Namespace NAMESPACE_NAME für Ressourcen, die Sie als Teil der Beispielanwendung erstellen:

kubectl create ns NAMESPACE_NAME

Anmeldedaten für das Dienstkonto prüfen

Sie können diesen Abschnitt überspringen, wenn in Ihrem Kubernetes-Cluster Workload Identity aktiviert ist.

Bei Ausführung in GKE ruft Managed Service for Prometheus automatisch Anmeldedaten aus der Umgebung anhand des Compute Engine-Standarddienstkontos ab. Das Standarddienstkonto hat standardmäßig die erforderlichen Berechtigungen monitoring.metricWriter und monitoring.viewer. Wenn Sie Workload Identity nicht verwenden und zuvor eine dieser Rollen aus dem Standardknotendienstkonto entfernt haben, müssen Sie diese fehlenden Berechtigungen wieder hinzufügen, bevor Sie fortfahren.

Wenn Sie nicht GKE ausführen, finden Sie weitere Informationen unter Anmeldedaten explizit angeben.

Dienstkonto für Workload Identity konfigurieren

Sie können diesen Abschnitt überspringen, wenn in Ihrem Kubernetes-Cluster Workload Identity nicht aktiviert ist.

Managed Service for Prometheus erfasst Messwertdaten mithilfe der Cloud Monitoring API. Wenn Ihr Cluster Workload Identity verwendet, müssen Sie dem Kubernetes-Dienstkonto die Berechtigung für die Monitoring API erteilen. In diesem Abschnitt wird Folgendes beschrieben:

  • Dediziertes Google Cloud-Dienstkonto gmp-test-sa erstellen
  • Google Cloud-Dienstkonto an das Standard-Kubernetes-Dienstkonto im Test-Namespace NAMESPACE_NAME binden
  • Dem Google Cloud-Dienstkonto die erforderliche Berechtigung gewähren

Dienstkonto erstellen und binden

Dieser Schritt wird an mehreren Stellen in der Dokumentation zu Managed Service for Prometheus aufgeführt. Wenn Sie diesen Schritt bereits als Teil einer vorherigen Aufgabe ausgeführt haben, müssen Sie ihn nicht wiederholen. Fahren Sie mit Dienstkonto autorisieren fort.

Mit der folgenden Befehlssequenz wird das Dienstkonto gmp-test-sa erstellt und an das Standard-Kubernetes-Dienstkonto im Namespace NAMESPACE_NAME gebunden:

gcloud config set project PROJECT_ID \
&&
gcloud iam service-accounts create gmp-test-sa \
&&
gcloud iam service-accounts add-iam-policy-binding \
  --role roles/iam.workloadIdentityUser \
  --member "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE_NAME/default]" \
  gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
&&
kubectl annotate serviceaccount \
  --namespace NAMESPACE_NAME \
  default \
  iam.gke.io/gcp-service-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com

Wenn Sie einen anderen GKE-Namespace oder ein anderes GKE-Dienstkonto verwenden, passen Sie die Befehle entsprechend an.

Dienstkonto autorisieren

Gruppen zusammengehöriger Berechtigungen werden in Rollen zusammengefasst und Sie weisen die Rollen einem Hauptkonto zu, in diesem Beispiel dem Google Cloud-Dienstkonto. Weitere Informationen zu Monitoring-Rollen finden Sie unter Zugriffssteuerung.

Mit dem folgenden Befehl werden dem Google Cloud-Dienstkonto gmp-test-sa die Monitoring API-Rollen zugewiesen, die zum Lesen von Messwertdaten erforderlich sind.

Wenn Sie dem Google Cloud-Dienstkonto im Rahmen der vorherigen Aufgabe bereits eine bestimmte Rolle zugewiesen haben, müssen Sie dies nicht noch einmal tun.

Folgen Sie dieser Anleitung, um Ihr Dienstkonto zum Lesen aus einem Bereich mit Messwerten für mehrere Projekte zu autorisieren, und informieren Sie sich dann unter Abfrage des Projekts ändern.

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
  --role=roles/monitoring.viewer \
&& \
gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
  --role=roles/iam.serviceAccountTokenCreator

Workload Identity-Konfiguration debuggen

Wenn Sie Probleme mit der Workload Identity haben, lesen Sie die Dokumentation zum Prüfen der Workload Identity-Einrichtung und zur Fehlerbehebung bei Workload Identity.

Da Tippfehler und partielle Kopierfunktionen die häufigsten Fehlerquellen bei der Konfiguration von Workload Identity sind, empfehlen wir dringend die bearbeitbaren Variablen und anklickbaren Symbole, die in die Codebeispiele in dieser Anleitung eingebettet sind.

Workload Identity in Produktionsumgebungen

Das in diesem Dokument beschriebene Beispiel bindet das Google Cloud-Dienstkonto an das Standard-Kubernetes-Dienstkonto und gewährt dem Google Cloud-Dienstkonto alle erforderlichen Berechtigungen zur Verwendung der Monitoring API.

In einer Produktionsumgebung können Sie einen feiner abgestimmten Ansatz mit einem Dienstkonto für jede Komponente nutzen, das jeweils nur minimale Berechtigungen hat. Weitere Informationen zum Konfigurieren von Dienstkonten für die Verwaltung von Workload Identity finden Sie unter Workload Identity verwenden.

Abfragen und Messwertbereiche

Die Daten, die Sie abfragen können, werden durch den Messwertbereich von Cloud Monitoring-Konstrukten festgelegt, unabhängig von der Methode, die Sie zum Abfragen der Daten verwenden. Wenn Sie beispielsweise Grafana verwenden, um Managed Service for Prometheus-Daten abzufragen, muss jeder Messwertbereich als separate Datenquelle konfiguriert werden.

Ein Monitoring-Messwertbereich ist ein schreibgeschütztes Konstrukt, mit dem Sie Messwertdaten abfragen können, die zu mehreren Google Cloud-Projekten gehören. Jeder Messwertbereich wird von einem festgelegten Google Cloud-Projekt gehostet, dem sogenannten Scoping-Projekt.

Standardmäßig ist ein Projekt das den Bereich festlegende Projekt für den eigenen Messwertbereich und der Messwertbereich enthält die Messwerte und die Konfiguration für dieses Projekt. Ein den Bereich festlegendes Projekt kann mehrere überwachte Projekte in seinem Messwertbereich enthalten und die Messwerte und Konfigurationen aus allen überwachten Projekten im Messwertbereich sind für das den Bereich festlegende Projekt sichtbar. Ein überwachtes Projekt kann auch zu mehreren Messwertbereichen gehören.

Wenn Sie die Messwerte in einem den Bereich festlegenden Projekt abfragen und dieses Projekt einen Messwertbereich für mehrere Projekte hostet, können Sie Daten aus mehreren Projekten abrufen. Wenn der Messwertbereich alle Ihre Projekte enthält, werden Ihre Abfragen und Regeln global ausgewertet.

Weitere Informationen zu den Bereich festlegenden Projekten und Messwertbereichen finden Sie unter Messwertbereiche. Informationen zum Konfigurieren eines Messwertbereichs für mehrere Projekte finden Sie unter Messwerte für mehrere Projekte ansehen.

Managed Service for Prometheus-Daten in Cloud Monitoring

Am einfachsten können Sie prüfen, ob Ihre Prometheus-Daten exportiert werden, indem Sie die Cloud Monitoring-Seite "Metrics Explorer" in der Google Cloud Console verwenden, die PromQL unterstützt. Eine Anleitung finden Sie unter Abfragen mit PromQL in Cloud Monitoring.

Sie können auch Ihre Grafana-Dashboards in Cloud Monitoring importieren. Auf diese Weise können Sie weiterhin von der Community erstellte oder persönliche Grafana-Dashboards verwenden, ohne eine Grafana-Instanz konfigurieren oder bereitstellen zu müssen.

Grafana

Managed Service for Prometheus verwendet die integrierte Prometheus-Datenquelle für Grafana. Das bedeutet, dass Sie weiterhin alle von der Community erstellten oder persönlichen Grafana-Dashboards ohne Änderungen verwenden können.

Grafana bereitstellen

Wenn in Ihrem Cluster keine Grafana-Bereitstellung ausgeführt wird, können Sie eine sitzungsspezifische Testbereitstellung zum Experimentieren erstellen.

Wenn Sie eine sitzungsspezifische Grafana-Bereitstellung erstellen möchten, wenden Sie das Manifest grafana.yaml von Managed Service for Prometheus auf Ihren Cluster an und führen Sie eine Portweiterleitung des grafana-Dienstes zu Ihrem lokalen Computer durch. Im folgenden Beispiel wird der Dienst an Port 3000 weitergeleitet.

  1. Wenden Sie das grafana.yaml-Manifest an:

    kubectl -n NAMESPACE_NAME apply -f  https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/6ebc1afa8e609febe8d687bb7fa6bd2375e46db1/examples/grafana.yaml
    
  2. Führen Sie eine Portweiterleitung des grafana-Dienstes zum lokalen Computer durch. In diesem Beispiel wird der Dienst an Port 3000 weitergeleitet:

    kubectl -n NAMESPACE_NAME port-forward svc/grafana 3000
    

    Dieser Befehl gibt nichts zurück und während er ausgeführt wird, meldet er Zugriffe auf die URL.

    Sie können Grafana in Ihrem Browser unter der URL http://localhost:3000 mit dem Nutzernamen admin:admin aufrufen.

Fügen Sie dann Grafana eine neue Prometheus-Datenquelle hinzu. Gehen Sie dazu so vor:

  1. Wechseln Sie zu Ihrer Grafana-Bereitstellung, indem Sie beispielsweise die URL http://localhost:3000 aufrufen, um die Grafana-Begrüßungsseite zu erreichen.

  2. Wählen Sie im Hauptmenü von Grafana die Option Verbindungen und dann Datenquellen aus.

    Datenquelle in Grafana hinzufügen

  3. Wählen Sie Datenquelle hinzufügen und dann Prometheus als Zeitachsendatenbank aus.

    Hinzufügen einer Prometheus-Datenquelle.

  4. Geben Sie einen Namen für die Datenquelle ein und legen Sie das Feld URL auf http://localhost:9090 fest. Dann wählen Sie Speichern und testen. Ignorieren Sie eventuelle Fehler, die darauf hinweisen, dass die Datenquelle nicht richtig konfiguriert ist.

  5. Kopieren Sie die URL des lokalen Dienstes für Ihre Bereitstellung, die in etwa so aussieht:

    http://grafana.NAMESPACE_NAME.svc:3000
    

Grafana-Datenquelle konfigurieren und authentifizieren

Alle Google Cloud APIs erfordern eine Authentifizierung mit OAuth2. OAuth2-Authentifizierung für Prometheus-Datenquellen wird jedoch nicht von Grafana unterstützt. Um Grafana mit Managed Service for Prometheus zu verwenden, verwenden Sie die Datenquellen-Synchronizer, um OAuth2-Anmeldedaten zu generieren und über die Grafana Data Source API an Grafana zu synchronisieren.

Sie müssen den Datenquellen-Synchronizer verwenden, um Grafana so zu konfigurieren und zu autorisieren, dass Daten global abgefragt werden. Wenn Sie diese Schritte nicht ausführen, führt Grafana nur Abfragen für Daten auf dem lokalen Prometheus-Server aus.

Der Datenquellen-Syncer ist ein Befehlszeilentool, das einen Kubernetes-CronJob verwendet, um Konfigurationswerte per Remotezugriff mit einer bestimmten Grafana Prometheus-Datenquelle zu synchronisieren. Dadurch wird sichergestellt, dass für Ihre Grafana-Datenquelle Folgendes korrekt konfiguriert ist:

  • Authentifizierung, durch regelmäßige Aktualisierung eines OAuth2-Zugriffstokens
  • Die Cloud Monitoring API als Prometheus-Server-URL
  • Die auf GET festgelegte HTTP-Methode
  • Der Prometheus-Typ und die Prometheus-Version sind mindestens auf 2.40.x festgelegt.
  • Die Zeitüberschreitungswerte für HTTP- und Abfragevorgänge sind auf 2 Minuten festgelegt

Der Datenquellen-Syncer verwendet das lokale Dienstkonto Ihres Clusters, um regelmäßig ein Google Cloud API-Zugriffstoken mit den erforderlichen IAM-Berechtigungen zum Abfragen von Cloud Monitoring-Daten zu generieren. Da Google Cloud API-Zugriffstokens eine Lebensdauer von einer Stunde haben, wird der Syncer für Datenquellen alle 30 Minuten ausgeführt, um sicherzustellen, dass Sie eine unterbrechungsfreie authentifizierte Verbindung zwischen Grafana und der Monitoring API Cloud haben.

So stellen Sie den Datenquellen-Syncer bereit und führen ihn aus:

  1. Wählen Sie ein Projekt, einen Cluster und einen Namespace aus, in dem Sie den Datenquellen-Syncer bereitstellen möchten. Es wird empfohlen, den Datenquellen-Syncer in einem Cluster bereitzustellen, der zum Scoping-Projekt eines Messwertbereichs mit mehreren Projekten gehört. Der Datenquellen-Syncer verwendet das konfigurierte Google Cloud-Projekt als das Umfang festlegende Projekt.

    Als Nächstes prüfen Sie, ob der Syncer für die Datenquelle ordnungsgemäß konfiguriert und autorisiert wurde:

    Bestimmen Sie dann, ob Sie den Datenquellen-Syncer für die Abfrage mehrerer Projekte weiter autorisieren müssen:

  2. Ermitteln Sie die URL Ihrer Grafana-Instanz, z. B. https://yourcompanyname.grafana.net für eine Grafana Cloud-Bereitstellung oder http://grafana.NAMESPACE_NAME.svc:3000 für eine lokale Instanz, die mit der YAML-Testbereitstellung konfiguriert wurde.

    Wenn Sie Grafana lokal bereitstellen und Ihr Cluster so konfiguriert ist, dass der gesamte clusterinterne Traffic mithilfe von TLS gesichert wird, müssen Sie https:// in Ihrer URL verwenden und sich mit einer der unterstützten TLS-Authentifizierungoptionen authentifizieren.

  3. Wählen Sie die Grafana Prometheus-Datenquelle aus, die Sie für Managed Service for Prometheus verwenden möchten. Diese kann entweder eine neue oder eine bereits vorhandene Datenquelle sein. Suchen und notieren Sie sich dann die UID der Datenquelle. Die Datenquellen-UID finden Sie im letzten Teil der URL, wenn Sie eine Datenquelle untersuchen oder konfigurieren, z. B. https://yourcompanyname.grafana.net/connections/datasources/edit/GRAFANA_DATASOURCE_UID..

  4. Richten Sie ein Grafana-Dienstkonto ein, weisen Sie ihm die Rolle „Administrator“ zu und generieren Sie ein Dienstkontotoken. Achten Sie darauf, dass der Tokenablauf auf „Kein Ablauf“ festgelegt ist.

  5. Richten Sie die folgenden Umgebungsvariablen anhand der vorherigen Schritte ein:

    # These values are required.
    PROJECT_ID=SCOPING_PROJECT_ID
    GRAFANA_API_ENDPOINT=GRAFANA_INSTANCE_URL
    DATASOURCE_UIDS=GRAFANA_DATASOURCE_UID
    GRAFANA_API_TOKEN=GRAFANA_SERVICE_ACCOUNT_TOKEN
    
  6. Führen Sie den folgenden Befehl aus, um einen CronJob zu erstellen, der die Datenquelle bei der Initialisierung und anschließend alle 30 Minuten aktualisiert. Wenn Sie Workload Identity verwenden, sollte der Wert von NAMESPACE_NAME derselbe Namespace sein, den Sie zuvor an das Dienstkonto gebunden haben.

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/main/cmd/datasource-syncer/datasource-syncer.yaml \
    | sed 's|$DATASOURCE_UIDS|'"$DATASOURCE_UIDS"'|; s|$GRAFANA_API_ENDPOINT|'"$GRAFANA_API_ENDPOINT"'|; s|$GRAFANA_API_TOKEN|'"$GRAFANA_API_TOKEN"'|; s|$PROJECT_ID|'"$PROJECT_ID"'|;' \
    | kubectl -n NAMESPACE_NAME apply -f -
    
  7. Rufen Sie die neu konfigurierte Grafana-Datenquelle auf und prüfen Sie, ob der Wert der Prometheus-Server-URL mit https://monitoring.googleapis.com beginnt. Möglicherweise müssen Sie die Seite aktualisieren. Klicken Sie nach der Prüfung unten auf der Seite auf Speichern und testen. Sie müssen diese Schaltfläche mindestens einmal auswählen, damit die automatische Vervollständigung von Labels in Grafana funktioniert.

Abfragen mit Grafana ausführen

Sie können jetzt Grafana-Dashboards erstellen und Abfragen mit der konfigurierten Datenquelle ausführen. Der folgende Screenshot zeigt ein Grafana-Diagramm mit dem Messwert up:

Grafana-Diagramm für den Messwert „Managed Service for Prometheus up“.

Informationen zum Abfragen von Google Cloud-Systemmesswerten mit PromQL finden Sie unter PromQL für Cloud Monitoring-Messwerte.

Datenquellen-Synchronisierung außerhalb von GKE ausführen

Sie können diesen Abschnitt überspringen, wenn Sie den Datenquellen-Synchronizer in einem Google Kubernetes Engine-Cluster ausführen. Wenn Sie Probleme mit der Authentifizierung in GKE haben, lesen Sie die Informationen unter Anmeldedaten des Dienstkontos prüfen.

Bei der Ausführung in GKE ruft der Datenquellen-Synchronizer automatisch Anmeldedaten aus der Umgebung anhand des Dienstkontos des Knotens oder der Workload Identity-Einrichtung ab. In Nicht-GKE-Kubernetes-Clustern müssen Anmeldedaten explizit mit der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS für den Datenquellen-Synchronizer bereitgestellt werden.

  1. Legen Sie den Kontext auf Ihr Zielprojekt fest:

    gcloud config set project PROJECT_ID
    
  2. Erstellen Sie ein Dienstkonto:

    gcloud iam service-accounts create gmp-test-sa
    

    Mit diesem Schritt wird das Dienstkonto erstellt, das Sie möglicherweise bereits in der Workload Identity-Anleitung erstellt haben.

  3. Gewähren Sie die erforderlichen Berechtigungen für das Dienstkonto:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer \
    && \
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/iam.serviceAccountTokenCreator
    

  4. Erstellen Sie einen Schlüssel für das Dienstkonto und laden Sie ihn herunter:

    gcloud iam service-accounts keys create gmp-test-sa-key.json \
      --iam-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com
    
  5. Legen Sie den Schlüsseldateipfad mithilfe der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS fest.

Autorisieren Sie die Datenquelle-Synchronisierung, um Monitoring mehrerer Projekte zu erhalten

Managed Service for Prometheus unterstützt das Monitoring mehrerer Projekte mithilfe von Messwertbereichen. Wenn Ihr lokales Projekt Ihr den Bereich festlegendes Projekt ist und Sie die Anleitung zum Prüfen oder Konfigurieren eines Dienstkontos für das lokale Projekt befolgt haben, sollte die Abfrage mehrerer Projekte funktionieren. ohne weitere Konfiguration.

Wenn Ihr lokales Projekt nicht Ihr Scoping-Projekt ist, müssen Sie entweder das Compute-Standarddienstkonto des lokalen Projekts oder Ihr Workload Identity-Dienstkonto autorisieren. Sie haben monitoring.viewer-Zugriff auf das den Umfang festlegendes Projekt. Übergeben Sie dann die ID des den Bereich festlegenden Projekts als Wert der Umgebungsvariable PROJECT_ID.

Wenn Sie das Compute Engine-Dienstkonto default verwenden, haben Sie folgende Möglichkeiten:

So gewähren Sie einem Dienstkonto die erforderlichen Berechtigungen für den Zugriff auf ein anderes Google Cloud-Projekt:

  1. Gewähren Sie dem Dienstkonto die Berechtigung zum Lesen aus dem Zielprojekt, das Sie abfragen möchten:

    gcloud projects add-iam-policy-binding SCOPING_PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer
    
  2. Übergeben Sie beim Konfigurieren des Datenquellen-Synchronizers die ID des den Bereich festlegenden Projekts als Wert der Umgebungsvariable PROJECT_ID.

CronJob prüfen

Führen Sie den folgenden Befehl aus, um den CronJob zu prüfen und zu prüfen, ob alle Variablen richtig festgelegt sind:

kubectl describe cronjob datasource-syncer

Führen Sie unmittelbar nach Anwendung der Datei datasource-syncer.yaml den folgenden Befehl aus, um die Logs für den Job aufzurufen, in dem Grafana konfiguriert wird:

kubectl logs job.batch/datasource-syncer-init

Bereinigen

Führen Sie den folgenden Befehl aus, um den Cronjob der Datenquellen-Synchronisierung zu deaktivieren:

kubectl delete -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/main/cmd/datasource-syncer/datasource-syncer.yaml

Wenn Sie den Datenquellen-Syncer deaktivieren, wird die verknüpfte Grafana mit neuen Anmeldedaten für die Authentifizierung nicht mehr aktualisiert. Daher funktioniert das Abfragen von Managed Service for Prometheus nicht mehr.

API-Kompatibilität

Die folgenden Prometheus HTTP API-Endpunkte werden von Managed Service for Prometheus unter der URL mit dem Präfix https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/ unterstützt.

Eine vollständige Dokumentation finden Sie in der Referenzdokumentation zur Cloud Monitoring API.

Informationen zur PromQL-Kompatibilität finden Sie unter PromQL-Unterstützung.

  • Die folgenden Endpunkte werden vollständig unterstützt:

    • /api/v1/query
    • /api/v1/query_range
    • /api/v1/metadata
    • /api/v1/labels
    • /api/v1/query_exemplars
  • Der Endpunkt /api/v1/label/<label_name>/values funktioniert nur, wenn das Label __name__ entweder durch Verwendung des Werts <label_name> oder durch genaue Übereinstimmung mit einem Serienselektor angegeben wird. Die folgenden Aufrufe werden beispielsweise vollständig unterstützt:

    • /api/v1/label/__name__/values
    • /api/v1/label/__name__/values?match[]={__name__=~".*metricname.*"}
    • /api/v1/label/labelname/values?match[]={__name__="metricname"}

    Diese Einschränkung führt dazu, dass label_values($label)-Variablenabfragen in Grafana fehlschlagen. Stattdessen können Sie label_values($metric, $label) verwenden. Dieser Abfragetyp wird empfohlen, da damit keine Werte für Labels zu Messwerten abgerufen werden, die für das entsprechende Dashboard nicht relevant sind.

  • Der Endpunkt /api/v1/series wird für GET-, aber nicht für POST-Anfragen unterstützt. Wenn Sie den Datenquellensynchronisierung oder Front-End-Proxy verwenden, wird diese Einschränkung für Sie verwaltet. Sie können Ihre Prometheus-Datenquellen in Grafana auch so konfigurieren, dass nur GET-Anfragen gesendet werden.

Nächste Schritte