Nachdem Sie Messwerte aus Ihren bereitgestellten Arbeitslasten in der Air-Gap-Appliance von Google Distributed Cloud (GDC) erfasst haben, können Sie mit der Analyse beginnen. Um Messwerte zu analysieren, können Sie sie in informativen Grafana-Dashboards visualisieren und filtern oder mit dem curl
-Tool für flexibles Scripting und Automatisierung direkt über Cortex darauf zugreifen.
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
curl
-Tool in einer Befehlszeile abfragen. Cortex speichert die Prometheus-Messwerte Ihres Projekts und bietet einen HTTP-Endpunkt für den programmatischen Zugriff. 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 Organisationorg-1
ist beispielsweisehttps://org-1/platform-obs/grafana
.
Messwerte in der Grafana-Benutzeroberfläche ansehen
Messwerte über die Grafana-Benutzeroberfläche abrufen:
- Wählen Sie in der GDC Console Ihr Projekt aus.
- Wählen Sie im Navigationsmenü Vorgänge > Monitoring aus.
Klicken Sie auf Alle in Grafana ansehen.
Eine neue Seite mit Ihrem Grafana-Endpunkt wird geöffnet und die Benutzeroberfläche wird angezeigt.
Klicken Sie in der Benutzeroberfläche im Navigationsmenü auf Entdecken Explore,um die Seite Explore zu öffnen.
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.
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 im Menü Messwert einen Messwert und im Menü Label-Filter ein Label für Ihre Anfrage aus. Klicken Sie auf add Hinzufügen, um der Abfrage weitere Labels hinzuzufügen. Klicken Sie dann auf Abfrage ausführen.
- Geben Sie Ihre Anfrage 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.
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 Organisationorg-1
ist beispielsweisehttps://org-1/platform-obs/cortex/prometheus/
.
curl
-Anfrage authentifizieren
- Laden Sie die gcloud CLI herunter und installieren Sie sie.
Legen Sie das gdcloud-Attribut
core/organization_console_url
fest.gdcloud config set core/organization_console_url https://GDC_URL
Mit dem konfigurierten Identitätsanbieter anmelden:
gdcloud auth login
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:
- Authentifizieren Sie die
curl
-Anfrage. 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:
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.
Messwerte über die Cortex API abfragen
Cortex ist der langfristige Speicher für Prometheus-Messwerte in GDC. Die Observability-Plattform stellt einen Cortex-HTTP-API-Endpunkt zum Abfragen und Lesen von Messwerten, Benachrichtigungen und anderen Prometheus-Zeitreihendaten aus Ihrem Projekt bereit.
Sie können Messwerte direkt über die HTTP API abfragen, um Messwerte und andere Zeitachsendaten in externe Tools zu exportieren, automatisierte Aufgaben einzurichten, Antworten anzupassen und Integrationen entsprechend Ihrem Anwendungsfall für die Systemüberwachung zu erstellen. Sie können die Ausgabe beispielsweise in einen anderen Befehl einfügen, Details in Textdateiformate exportieren oder einen Linux-Cronjob konfigurieren. Sie können die API über die Befehlszeile oder einen Webbrowser aufrufen und Abfragesprachausdrücke als Endpunktparameter verwenden, um das Ergebnis im JSON-Format zu erhalten.
In diesem Abschnitt wird beschrieben, wie Sie den Cortex API-Endpunkt über die CLI aufrufen und die Prometheus API-Spezifikation verwenden, um Messwerte für die Datenbeobachtbarkeit abzufragen.
Hinweise
Sie müssen eine Autorisierung zum Abfragen von Messwerten über die CLI einholen. Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle „Project Cortex Prometheus Viewer“ (project-cortex-prometheus-viewer
) zuzuweisen, um die Berechtigungen zu erhalten, die Sie für den Zugriff auf den Cortex API-Endpunkt benötigen.
Erstellen Sie die folgenden Rollenbindungen mit den kubectl
-Befehlen für Cortex Prometheus für jede Persona:
Infrastructure Operator (IO) Root-Admin –
Project Cortex Prometheus Viewer
:kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding io-cortex-prometheus-viewer-binding -n infra-obs --user=fop-infrastructure-operator@example.com --role=project-cortex-prometheus-viewer
Plattformadministrator (PA) – Root-Administrator –
Project Cortex Prometheus Viewer
:kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding pa-cortex-prometheus-viewer-binding -n platform-obs --user=fop-platform-admin@example.com --role=project-cortex-prometheus-viewer
Application Operator (AO) Root-Admin –
Project Cortex Prometheus Viewer
:kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding project-cortex-prometheus-viewer-binding -n PROJECT_NAME --user=USER_NAME --role=project-cortex-prometheus-viewer
Ersetzen Sie Folgendes:
- PROJECT_NAME ist der Name Ihres Projekts.
- USER_NAME: Der Kontoname des Nutzers, für den die Rollenbindung erforderlich ist.
Nachdem die Rollenbindung erstellt wurde, können Sie mit Ihrem Anmeldenamen auf die Prometheus API zugreifen.
HTTP-API-Endpunkt
Die folgende URL ist der HTTP API-Endpunkt für den Zugriff auf Messwerte im Projekt platform-obs
:
https://GDC_URL/PROJECT_NAME/cortex/prometheus/
Ersetzen Sie Folgendes:
- GDC_URL: Die URL Ihrer Organisation in GDC.
- PROJECT_NAME ist der Name Ihres Projekts.
API-Endpunkt aufrufen
Führen Sie die folgenden Schritte aus, um über die Befehlszeile auf den Cortex API-Endpunkt zuzugreifen und Messwerte abzufragen:
- Prüfen Sie, ob Sie die Voraussetzungen erfüllen.
- Öffnen Sie die Befehlszeilenschnittstelle.
Verwenden Sie das
curl
-Tool, um den Cortex-Endpunkt aufzurufen und die URL mit dem Standard https://prometheus.io/docs/prometheus/latest/querying/api/ zu erweitern, um Messwerte abzufragen. Beispiel:curl https://console.org-1.zone1.google.gdch.test/alice/cortex/prometheus/api/v1/query?query=my_metric{cluster="org-1-system"}&time=2015-07-01T20:10:51.781Z
Die Ausgabe wird in der CLI nach dem Befehl angezeigt. Das API-Antwortformat ist JSON.