Messwerte abfragen und aufrufen

Nachdem Sie Messwerte aus Ihren bereitgestellten Arbeitslasten in Google Distributed Cloud (GDC) Air-Gapped erfasst haben, können Sie mit der Analyse beginnen. Zum Analysieren von Messwerten können Sie sie in informativen Grafana-Dashboards visualisieren und filtern oder mit dem curl-Tool direkt über Cortex darauf zugreifen, um sie flexibel zu scripten und zu automatisieren.

Auf dieser Seite finden Sie eine detaillierte Anleitung zum Abfragen und Visualisieren Ihrer Messwerte über die Grafana-Benutzeroberfläche und das curl-Tool für den Cortex-Endpunkt, um Einblicke in die Leistung Ihrer Arbeitslast zu erhalten.

Sie haben zwei Möglichkeiten, auf Ihre Messwerte zuzugreifen:

  • Grafana-Dashboards: Mit intuitiven Visualisierungen von wichtigen Messwerten wie CPU-Auslastung, Speicherverbrauch und Netzwerkaktivität können Sie Trends analysieren und Anomalien erkennen. Grafana bietet eine benutzerfreundliche Oberfläche zum Filtern und Analysieren Ihrer Arbeitslastdaten in Dashboards.
  • Cortex-Endpunkt: Für komplexere Anwendungsfälle können Sie die Cortex-Instanz Ihres Projekts direkt über das Tool curl in einer Befehlszeile abfragen. In Cortex werden die Prometheus-Messwerte Ihres Projekts gespeichert und ein HTTP-Endpunkt für den programmatischen Zugriff bereitgestellt. Mit diesem Zugriff können Sie Daten exportieren, Aufgaben automatisieren und benutzerdefinierte Integrationen erstellen.

Hinweise

Bitten Sie Ihren IAM-Administrator der Organisation oder des Projekts, Ihnen eine der vordefinierten Rollen „Grafana Viewer“ für die Organisation oder das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen und Visualisieren von Messwerten in Grafana-Dashboards benötigen. Je nach erforderlichem Zugriff und den erforderlichen Berechtigungen können Sie Grafana-Rollen in einer Organisation oder einem Projekt erhalten.

Alternativ können Sie Ihren Projekt-IAM-Administrator bitten, Ihnen die Rolle „Project Cortex Prometheus Viewer“ in Ihrem Projekt-Namespace zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen von Messwerten über den Cortex-Endpunkt benötigen.

Weitere Informationen zu diesen Rollen finden Sie unter IAM-Berechtigungen vorbereiten.

Messwerte abrufen und filtern

Wählen Sie eine der folgenden Methoden aus, um Abfragen zu erstellen, Trends zu visualisieren und Messwerte aus den Arbeitslasten Ihres Projekts zu filtern:

Grafana-Dashboards

In diesem Abschnitt wird beschrieben, wie Sie mit Grafana-Dashboards auf Ihre Messwerte zugreifen.

Grafana-Endpunkt identifizieren

Die folgende URL ist der Endpunkt der Grafana-Instanz Ihres Projekts:

  https://GDC_URL/PROJECT_NAMESPACE/grafana

Ersetzen Sie Folgendes:

  • GDC_URL: die URL Ihrer Organisation in GDC.
  • PROJECT_NAMESPACE: Ihr Projekt-Namespace.

    Der Grafana-Endpunkt für das Projekt platform-obs in der Organisation org-1 ist beispielsweise https://org-1/platform-obs/grafana.

Messwerte in der Grafana-Benutzeroberfläche ansehen

Messwerte über die Grafana-Benutzeroberfläche abrufen:

  1. Wählen Sie in der GDC Console Ihr Projekt aus.
  2. Wählen Sie im Navigationsmenü Vorgänge > Monitoring aus.
  3. Klicken Sie auf Alle in Grafana ansehen.

    Eine neue Seite mit Ihrem Grafana-Endpunkt wird geöffnet und die Benutzeroberfläche wird angezeigt.

  4. Klicken Sie in der Benutzeroberfläche im Navigationsmenü auf Explore Explore, um die Seite Explore zu öffnen.

  5. Wählen Sie im Menü in der Leiste Explore eine Datenquelle aus, um Messwerte abzurufen. Das hängt von Ihrem Universumstyp ab:

    • Universen mit einer Zone: Wählen Sie prometheus aus, um Messwerte aus der einzelnen Zone Ihres Universums aufzurufen.

    • Universen mit mehreren Zonen: Grafana kann eine Verbindung zu verschiedenen Zonen herstellen und zonenübergreifende Daten anzeigen. Wählen Sie Messwerte ZONE_NAME aus, um Messwerte aus einer beliebigen Zone Ihres Universums aufzurufen, unabhängig davon, in welcher Zone Sie angemeldet sind.

      Wenn Sie außerdem zonenübergreifende Datenvisualisierungen in einem einzigen Dashboard erstellen und Ihrer Abfrage mehrere Zonen hinzufügen möchten, wählen Sie Gemischt als Datenquelle aus.

  6. Geben Sie eine Abfrage ein, um mit PromQL-Ausdrücken (Prometheus Query Language) nach Messwerten zu suchen. Sie können diesen Schritt auf eine der beiden folgenden Arten ausführen:

    • Wählen Sie in den Menüs Messwert und Label-Filter einen Messwert und ein Label für Ihre Abfrage aus. Klicken Sie auf add Hinzufügen, um weitere Labels hinzuzufügen. Klicken Sie dann auf Abfrage ausführen.
    • Geben Sie die Abfrage direkt in das Textfeld Messwerte ein und drücken Sie Umschalttaste + Eingabetaste, um die Abfrage auszuführen.

    Auf der Seite werden die Messwerte angezeigt, die Ihrer Anfrage entsprechen.

    Die Option „Prometheus“ ist auf der Seite „Explore“ ausgewählt, um Messwerte abzurufen.

    Abbildung 1. Menüoption zum Abfragen von Messwerten über die Grafana-Benutzeroberfläche.

    In Abbildung 1 wird mit der Option prometheus die Benutzeroberfläche angezeigt, über die Sie Abfragen in Grafana erstellen können, um Messwerte abzurufen.

    Beispiele für Werte von Labels, mit denen Sie Messwerte abfragen können, finden Sie unter Beispielabfragen und ‑labels.

Cortex-Endpunkt

In diesem Abschnitt wird beschrieben, wie Sie mit Cortex auf Ihre Messwerte zugreifen.

Cortex-Endpunkt ermitteln

Die folgende URL ist der Endpunkt der Cortex-Instanz Ihres Projekts:

  https://GDC_URL/PROJECT_NAMESPACE/cortex/prometheus/

Ersetzen Sie Folgendes:

  • GDC_URL: die URL Ihrer Organisation in GDC.
  • PROJECT_NAMESPACE: Ihr Projekt-Namespace.

    Der Cortex-Endpunkt für das Projekt platform-obs in der Organisation org-1 ist beispielsweise https://org-1/platform-obs/cortex/prometheus/.

curl-Anfrage authentifizieren

  1. Laden Sie die gcloud CLI herunter und installieren Sie sie.
  2. Legen Sie das gdcloud-Attribut core/organization_console_url fest.

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Mit dem konfigurierten Identitätsanbieter anmelden:

    gdcloud auth login
    
  4. Verwenden Sie Ihren Nutzernamen und Ihr Passwort, um sich zu authentifizieren und anzumelden.

    Wenn die Anmeldung erfolgreich ist, können Sie den Autorisierungsheader in Ihrer cURL-Anfrage über den Befehl gdcloud auth print-identity-token verwenden. Weitere Informationen finden Sie unter gdcloud auth.

Cortex-Endpunkt aufrufen

Führen Sie die folgenden Schritte aus, um den Cortex-Endpunkt mit dem Tool curl zu erreichen:

  1. Authentifizieren Sie die curl-Anfrage.
  2. Verwenden Sie curl, um den Cortex-Endpunkt aufzurufen und die URL mit der standardmäßigen Prometheus HTTP API (https://prometheus.io/docs/prometheus/latest/querying/api/) zu erweitern, um Messwerte abzufragen.

    Das folgende Beispiel zeigt eine curl-Anfrage:

    curl https://GDC_URL/PROJECT_NAME/cortex/prometheus/api/v1/query?query=my_metric{cluster="my-cluster"}&time=2015-07-01T20:10:51.781Z \
    -H "Authorization: Bearer $(gdcloud auth print-identity-token \
    --audiences=https://GDC_URL)"
    

    Sie erhalten die Ausgabe nach dem Befehl. Die API-Antwort hat das JSON-Format.

Beispielabfragen und ‑labels

Sie können Messwerte anhand des Messwertnamens und von Schlüssel/Wert-Paaren für Labels abfragen. Eine PromQL-Abfrage hat die folgende Syntax:

metric_name{label_one="value", label_two="value"}

Mit Labels können Sie die Merkmale eines Messwerts unterscheiden. Auf diese Weise können Containerautoren dafür sorgen, dass für ihre Arbeitslasten Messwerte generiert und Tags zum Filtern dieser Messwerte hinzugefügt werden.

Sie können beispielsweise einen api_http_requests_total-Messwert verwenden, um die Anzahl der empfangenen HTTP-Anfragen zu zählen. Anschließend können Sie diesem Messwert ein request_method-Label hinzufügen, das den Wert POST, GET oder PUT annehmen kann. Daher erstellen Sie für jeden Anfragetyp, den Sie möglicherweise erhalten, drei Messwertstreams. In diesem Fall führen Sie die folgende Abfrage aus, um die Anzahl der HTTP-Anfragen GET zu ermitteln:

api_http_requests_total{request_method="GET"}

Weitere Informationen zu Messwerten und Labels finden Sie unter https://prometheus.io/docs/practices/naming/.

Im Folgenden sind einige der Standardlabels aufgeführt, die durch die benutzerdefinierte Ressource MonitoringTarget hinzugefügt werden. Sie können diese Standardlabels verwenden, um Messwerte abzufragen:

  • _gdch_service: der Kurzname des Dienstes.
  • cluster ist der Name des Clusters.
  • container_name: der Name des Containers in einem Pod.
  • namespace_name: Ihr Projekt-Namespace.
  • pod_name: das Präfix des Pod-Namens.

In der folgenden Tabelle werden die Labels beschrieben, die Prometheus automatisch hinzufügt:

Standardlabels
Messwertlabel Beschreibung
job Der interne Name des Scraping-Jobs, der zum Erfassen des Messwerts verwendet wird. Jobs, die von der benutzerdefinierten Ressource MonitoringTarget erstellt werden, haben einen Namen mit dem folgenden Muster:

obs-system/OBS_SHADOW_PROJECT_NAME/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J

I und J sind eindeutige Zahlen, die intern festgelegt werden, um Namenskonflikte zu vermeiden.
instance Die $IP:$PORT des eingestellten Dienstes. Wenn eine Arbeitslastressource mehrere Replikate hat, können Sie sie mit diesem Feld unterscheiden.

In den folgenden Codebeispielen sehen Sie, wie Sie Schlüssel/Wert-Paare für Labels verwenden, um verschiedene Messwerte abzufragen:

  • So rufen Sie alle Messwertstreams der verarbeiteten Vorgänge in Ihrem Projekt auf:

    processed_ops_total
    
  • So sehen Sie die verarbeiteten Vorgänge, die in einem Kubernetes-Cluster erfasst wurden:

    processed_ops_total{cluster="CLUSTER_NAME"}
    
  • So sehen Sie die in einem Kubernetes-Cluster erfasste CPU-Auslastung:

    cpu_usage{cluster="CLUSTER_NAME"}
    

Mit dem Tool zum Neulabeln von Messwerten können Sie Labels hinzufügen, die anfangs nicht von den erfassten Containern bereitgestellt wurden, und erstellte Messwerte umbenennen. Sie müssen die benutzerdefinierte MonitoringTarget-Ressource konfigurieren, um den von ihr erfassten Messwerten Labels hinzuzufügen. Geben Sie diese Labels im Feld metricsRelabelings der benutzerdefinierten Ressource an. Weitere Informationen finden Sie unter Label-Messwerte.