Nachdem Sie Messwerte von Arbeitslasten erfasst haben, die in Ihrem GDC-Projekt bereitgestellt wurden, können Sie Messwerte in Dashboards abfragen und ansehen – über die Systemmonitoring-Instanz des Projekts oder Messwerte über die HTTP-API der GDC-Air-Gap-Appliance abfragen.
Messwerte in Dashboards abfragen und ansehen
Die Grafana-Instanz Ihres Projekts, die auch als Systemüberwachungsinstanz bezeichnet wird, enthält Daten zur Überwachung von Komponenten auf Projektebene für die Datenbeobachtbarkeit, z. B. CPU-Auslastung, Speicherverbrauch, Netzwerküberwachung, Serverüberwachung, Logs, Benachrichtigungen und Messwerte.
Verwenden Sie Dashboards auf der Seite Explore der Systemüberwachungsinstanz, um Messwerte aufzurufen. Wenn Sie bestimmte Messwerte aufrufen möchten, stellen Sie Anfragen über die Seite Entdecken.
Hinweise
Bevor Sie Messwerte abfragen und in Dashboards ansehen können, müssen Sie Zugriff auf die Monitoring-Instanz erhalten. Weitere Informationen finden Sie unter Zugriff auf Dashboards erhalten.
Abfragen für Ihre Messwerte erstellen
Sie können Messwerte für die Datenbeobachtbarkeit Ihrer Anwendungen über die Systemüberwachungsinstanz Ihres Projekts überwachen und ansehen. Die integrierte Benutzeroberfläche der Instanz enthält Standard-Dashboards aus Standardkomponenten und benutzerdefinierte Dashboards, die Sie für Ihre spezifischen Anwendungsfälle erstellen. Wenn Ihre Umgebung eingerichtet ist, sehen Sie auf der Seite Verfügbare Dashboards sofort einige Messwert-Dashboards.
Sie können Messwerte über die Benutzeroberfläche abfragen, um sie visuell aus Ihrem Projekt abzurufen und eine integrierte Ansicht zu erhalten, mit der Sie Ihre Anwendungen überwachen können. Verwenden Sie Ausdrücke in der Abfragesprache, um Ergebnisse nach Labels zu filtern.
Instanzendpunkt für das Systemmonitoring
Die folgende URL ist der Endpunkt der Monitoring-Instanz des Projekts „platform-obs“:
https://GDC_URL/PROJECT_NAMESPACE/grafana
Ersetzen Sie Folgendes:
- GDC_URL: die URL Ihrer Organisation in GDC
- PROJECT_NAMESPACE: Der Namespace Ihres Projekts
Messwerte abfragen
Führen Sie die folgenden Schritte aus, um Messwerte aus Ihrem Projekt abzufragen:
So rufen Sie Messwerte ab:
- Wählen Sie in der GDC Console ein Projekt aus.
- Klicken Sie im Navigationsmenü auf Operations > Monitoring.
- Klicken Sie auf Alle in Grafana ansehen.
Eine neue Seite wird mit der URL der Monitoring-Instanz Ihres Projekts geöffnet.
- Klicken Sie in der Benutzeroberfläche der Monitoring-Instanz im Navigationsmenü auf Explore Explore, um die Seite Explore zu öffnen.
- Wählen Sie in der Leiste Explore im Drop-down-Menü prometheus aus, um Messwerte abzurufen.
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 einen Messwert und ein Label für Ihre Abfrage aus den Drop-down-Menüs Messwert und Label-Filter aus. Klicken Sie auf add Hinzufügen, um weitere Labels in Ihre Anfrage aufzunehmen. 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.
Beispielabfragen und ‑labels
Sie können erfasste Messwerte anhand des Messwertnamens und der Schlüssel-Wert-Labels abfragen. Aus diesem Grund hat eine PromQL-Abfrage die folgende Syntax:
metric_name{label_one="value", label_two="value"}
Mit Labels können Sie die Merkmale eines Messwerts unterscheiden. So können Containerautoren Messwerte für ihre Arbeitslasten generieren und Tags hinzufügen, um diese Messwerte nach Bedarf zu filtern. 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 drei Messwertstreams für jeden Anfragetyp, den Sie möglicherweise erhalten. 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"}
Im Folgenden finden Sie einige der Standardlabels, die durch die benutzerdefinierte Ressource MonitoringTarget
hinzugefügt werden und mit denen Sie Messwerte abfragen können:
_gdch_service
: Der Kurzname des Dienstescluster
ist der Name des Clusters.container_name
: Der Name des Containers in einem Podnamespace_name
: Ihr Projekt-Namespacepod_name
: Das Pod-Namenspräfix
In der folgenden Tabelle werden die Labels beschrieben, die der Scraping-Dienst 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:PROJECT_NAME-obs-system/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J PROJECT_NAME-obs-system/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 mit Labels und Werten verschiedene Messwerte für die Datenbeobachtbarkeit abfragen:
So rufen Sie alle Messwertstreams der verarbeiteten Vorgänge in Ihrem Projekt auf:
processed_ops_total
So rufen Sie die verarbeiteten Vorgänge auf, die in einem Cluster erfasst wurden:
processed_ops_total{cluster="CLUSTER_NAME"}
So rufen Sie die CPU-Auslastung eines Clusters auf:
cpu_usage{cluster="CLUSTER_NAME"}
Mit dem Tool zur Neulabelung von Messwerten können Sie Labels hinzufügen, die anfangs nicht von den extrahierten Containern bereitgestellt wurden, und erstellte Messwerte umbenennen. Sie müssen die benutzerdefinierte Ressource MonitoringTarget
konfigurieren, um den von ihr erfassten Messwerten Labels hinzuzufügen. Geben Sie diese Labels im Feld metricsRelabelings
der CR an. Weitere Informationen finden Sie unter Messwerte für Labels.
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.