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 bei Bedarf 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.
Wenden Sie das
grafana.yaml
-Manifest an:kubectl -n NAMESPACE_NAME apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/6ebc1afa8e609febe8d687bb7fa6bd2375e46db1/examples/grafana.yaml
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 Nutzernamenadmin:admin
aufrufen.
Fügen Sie dann Grafana eine neue Prometheus-Datenquelle hinzu. Gehen Sie dazu so vor:
Wechseln Sie zu Ihrer Grafana-Bereitstellung, indem Sie beispielsweise die URL
http://localhost:3000
aufrufen, um die Grafana-Begrüßungsseite zu erreichen.Wählen Sie im Hauptmenü von Grafana die Option Verbindungen und dann Datenquellen aus.
Wählen Sie Datenquelle hinzufügen und dann Prometheus als Zeitachsendatenbank aus.
Geben Sie einen Namen für die Datenquelle ein, legen Sie das Feld
URL
aufhttp://localhost:9090
fest und wählen Sie dann Speichern und testen. Sie können alle Fehler ignorieren, die besagen, dass die Datenquelle nicht richtig konfiguriert ist.Notieren Sie sich die URL des lokalen Dienstes für Ihre Bereitstellung. Sie wird etwa so aussehen:
http://grafana.NAMESPACE_NAME.svc:3000
Grafana-Datenquelle konfigurieren und authentifizieren
Alle Google Cloud APIs erfordern eine Authentifizierung mit OAuth2. Grafana unterstützt jedoch keine OAuth2-Authentifizierung für Dienstkonten, die mit Prometheus-Datenquellen verwendet werden. Um Grafana mit Managed Service for Prometheus zu verwenden, verwenden Sie die Datenquellen-Synchronizer, um OAuth2-Anmeldedaten für Ihr Dienstkonto zu generieren und über die Grafana Data Source API an Grafana zu synchronisieren.
Sie müssen den Datenquellen-Syncer verwenden, um Grafana für die globale Abfrage von Daten zu konfigurieren und zu autorisieren. 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, die als Prometheus-Server-URL festgelegt ist
- Die auf GET gesetzte HTTP-Methode
- Der Prometheus-Typ und die Prometheus-Version sind auf mindestens 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:
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 Sie den Datenquellen-Syncer ordnungsgemäß konfigurieren und autorisieren:
- Wenn Sie Workload Identity verwenden, folgen Sie der Anleitung zum Erstellen und Autorisieren eines Dienstkontos. Binden Sie ihn an den Kubernetes-Namespace, in dem Sie den Datenquellen-Syncer ausführen möchten.
- Wenn Sie Workload Identity nicht verwenden, prüfen Sie, ob Sie das Compute Engine-Standarddienstkonto nicht geändert haben.
- Wenn Sie nicht GKE ausführen, finden Sie weitere Informationen unter Datenquellen-Syncer außerhalb von GKE ausführen.
Prüfen Sie dann, ob Sie den Datenquellen-Syncer für Abfragen mehrerer Projekte weiter autorisieren müssen:
- Wenn Ihr lokales Projekt Ihr den Umfang festlegendes Projekt ist und Sie die Anleitung zum Prüfen oder Konfigurieren eines Dienstkontos für das lokale Projekt befolgt haben, sollten Abfragen mit mehreren Projekten ohne weitere Konfiguration funktionieren.
- Wenn Ihr lokales Projekt nicht Ihr den Umfang festlegendes Projekt ist, müssen Sie den Datenquellen-Syncer dafür autorisieren, Abfragen für das den Umfang festlegendes Projekt auszuführen. Eine Anleitung finden Sie unter Datenquellen-Synchronizer autorisieren, um Monitoring in mehreren Projekten zu ermöglichen.
Ermitteln Sie die URL Ihrer Grafana-Instanz, z. B.
https://yourcompanyname.grafana.net
für eine Grafana Cloud-Bereitstellung oderhttp://grafana.NAMESPACE_NAME.svc:3000
für eine lokale Instanz, die mit der Testbereitstellungs-YAML-Datei 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.Wählen Sie die Grafana Prometheus-Datenquelle aus, die Sie für Managed Service for Prometheus verwenden möchten. Dies kann eine neue oder eine bereits vorhandene Datenquelle sein. Ermitteln Sie dann die Datenquellen-UID. Die Datenquellen-UID finden Sie im letzten Teil der URL, wenn Sie eine Datenquelle untersuchen oder konfigurieren. Beispiel:
https://yourcompanyname.grafana.net/connections/datasources/edit/GRAFANA_DATASOURCE_UID.
Kopieren Sie nicht die gesamte Datenquellen-URL. Kopieren Sie nur die eindeutige Kennung in der URL.Richten Sie ein Grafana-Dienstkonto ein. Erstellen Sie dazu das Dienstkonto und generieren Sie ein Token für das Konto:
- Klicken Sie in der Grafana-Navigationsleiste auf Verwaltung > Nutzer und Zugriff > Dienstkonten.
Erstellen Sie das Dienstkonto. Klicken Sie dazu auf Dienstkonto hinzufügen, geben Sie ihm einen Namen und weisen Sie ihm die Rolle „Administrator“ in Grafana zu.
Klicken Sie auf Dienstkonto-Token hinzufügen.
Legen Sie den Tokenablauf auf „Kein Ablauf“ fest und klicken Sie auf Token generieren. Kopieren Sie dann das generierte Token in die Zwischenablage, um es im nächsten Schritt als GRAFANA_SERVICE_ACCOUNT_TOKEN zu verwenden:
Richten Sie die folgenden Umgebungsvariablen anhand der vorherigen Schritte ein:
# These values are required. PROJECT_ID=SCOPING_PROJECT_ID # The value from Step 1. GRAFANA_API_ENDPOINT=GRAFANA_INSTANCE_URL # The value from step 2. This is a URL. DATASOURCE_UIDS=GRAFANA_DATASOURCE_UID # The value from step 3. This is not a URL. GRAFANA_API_TOKEN=GRAFANA_SERVICE_ACCOUNT_TOKEN # The value from step 4.
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 -
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. Sobald die Prüfung abgeschlossen ist, wählen Sie am Ende der Seite die Option Speichern und testen aus. Sie müssen diese Schaltfläche mindestens einmal anklicken, 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
:
Informationen zum Abfragen von Google Cloud-Systemmesswerten mit PromQL finden Sie unter PromQL für Cloud Monitoring-Messwerte.
Datenquellen-Syncer außerhalb von GKE ausführen
Sie können diesen Abschnitt überspringen, wenn Sie den Datenquellen-Syncer 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-Syncer automatisch Anmeldedaten aus der Umgebung anhand des Dienstkontos des Knotens oder der Einrichtung von Workload Identity ab.
In Nicht-GKE-Kubernetes-Clustern müssen Anmeldedaten explizit mit der Umgebungsvariablen GOOGLE_APPLICATION_CREDENTIALS
für den Datenquellen-Syncer bereitgestellt werden.
Legen Sie den Kontext auf Ihr Zielprojekt fest:
gcloud config set project PROJECT_ID
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.
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
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
Legen Sie den Schlüsseldateipfad mithilfe der Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALS
fest.
Datenquellen-Syncer autorisieren, um das Monitoring über mehrere Projekte hinweg zu ermöglichen
Managed Service for Prometheus unterstützt das Monitoring mehrerer Projekte mithilfe von Messwertbereichen. Wenn Ihr lokales Projekt Ihr den Umfang festlegendes Projekt ist und Sie die Anleitung zum Prüfen oder Konfigurieren eines Dienstkontos für das lokale Projekt befolgt haben, sollten Abfragen mit mehreren Projekten ohne weitere Konfiguration funktionieren.
Wenn Ihr lokales Projekt nicht Ihr den Umfang festlegendes Projekt ist, müssen Sie entweder das Compute-Standarddienstkonto des lokalen Projekts oder Ihr Workload Identity-Dienstkonto für den monitoring.viewer
-Zugriff auf das den Umfang festlegende Projekt autorisieren. Übergeben Sie dann die ID des den Umfang festlegendes Projekts als Wert der Umgebungsvariablen PROJECT_ID.
Wenn Sie das Compute Engine-Dienstkonto default
verwenden, können Sie einen der folgenden Schritte ausführen:
Stellen Sie den Datenquellen-Syncer in einem Cluster bereit, der zu Ihrem den Bereich festlegenden Projekt gehört.
Aktivieren Sie Workload Identity für Ihren Cluster und folgen Sie den Konfigurationsschritten.
Geben Sie einen expliziten Dienstkontoschlüssel an.
So gewähren Sie einem Dienstkonto die Berechtigungen für den Zugriff auf ein anderes Google Cloud-Projekt:
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
Übergeben Sie beim Konfigurieren des Datenquellen-Syncer die ID des den Umfang 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 sicherzustellen, dass alle Variablen korrekt festgelegt sind:
kubectl describe cronjob datasource-syncer
Führen Sie den folgenden Befehl aus, nachdem Sie die Datei datasource-syncer.yaml
angewendet haben, um Logs für den Job aufzurufen, der ursprünglich Grafana konfiguriert hat:
kubectl logs job.batch/datasource-syncer-init
Bereinigen
Führen Sie den folgenden Befehl aus, um den Cronjob des Datenquellen-Synchronizers 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 nicht mehr mit neuen Anmeldedaten für die Authentifizierung 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 Sielabel_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ürGET
-, aber nicht fürPOST
-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 nurGET
-Anfragen gesendet werden. Der Parametermatch[]
unterstützt den Abgleich regulärer Ausdrücke für das Label__name__
nicht.
Nächste Schritte
- Verwenden Sie PromQL-Benachrichtigungen in Cloud Monitoring.
- Richten Sie die verwaltete Regelauswertung ein.
- Richten Sie häufig verwendete Exporteure ein.