GSP1027
Übersicht
Die Kosten für Google Cloud Managed Service for Prometheus werden anhand der Anzahl der in Cloud Monitoring aufgenommenen Stichproben sowie der Leseanfragen an die Monitoring API berechnet. Die Anzahl der aufgenommenen Stichproben ist dabei die Hauptursache für Ihre Kosten.
In diesem Lab lernen Sie Möglichkeiten zur Kostenkontrolle bei der Verwendung von Managed Service for Prometheus in Google Cloud kennen.
Lernziele
Aufgaben in diesem Lab:
- Google Managed Prometheus (GMP) in einem Google Kubernetes Engine-Cluster (GKE) sowie eine Python-Anwendung bereitstellen
- Anzahl der Zeitreihenmesswerte reduzieren, die Sie an den verwalteten Dienst senden, indem Sie die generierten Messwertdaten filtern
- Anzahl der Stichproben reduzieren, die Sie erfassen, indem Sie das Scraping-Intervall ändern
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der linken Seite befindet sich der Bereich „Details zum Lab“ mit diesen Informationen:
- Schaltfläche „Google Cloud Console öffnen“
- Restzeit
- Temporäre Anmeldedaten für das Lab
- Ggf. weitere Informationen für dieses Lab
-
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
-
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
Sie finden den Nutzernamen auch im Bereich „Details zum Lab“.
-
Klicken Sie auf Weiter.
-
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich „Details zum Lab“.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
-
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Cloud Shell aktivieren
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
-
Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren
.
-
Klicken Sie sich durch die folgenden Fenster:
- Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
- Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.
Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:
Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}
gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
- Klicken Sie auf Autorisieren.
Ausgabe:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Um das aktive Konto festzulegen, führen Sie diesen Befehl aus:
$ gcloud config set account `ACCOUNT`
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project
Ausgabe:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Aufgabe 1: GKE-Cluster bereitstellen
- Einfachen GKE-Cluster zur Einrichtung des Labs bereitstellen:
gcloud beta container clusters create gmp-cluster --num-nodes=1 --zone {{{project_0.default_zone|ZONE}}} --enable-managed-prometheus
gcloud container clusters get-credentials gmp-cluster --zone={{{project_0.default_zone|ZONE}}}
Aufgabe 2: Verwaltete Sammlung bereitstellen
PodMonitoring-Ressource konfigurieren
Das folgende Manifest definiert die PodMonitoring-Ressource prom-example im Namespace gmp-test. Die Ressource verwendet einen Kubernetes-Labelselektor, um alle Pods im Namespace zu finden, die das Label app mit dem Wert prom-example besitzen. Die übereinstimmenden Pods werden an einem Port mit dem Namen metrics alle 30 Sekunden über den /metrics-HTTP-Pfad extrahiert (Scraping).
apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
namespace: gmp-system
name: collector
labels:
app.kubernetes.io/name: collector
app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
selector:
matchLabels:
app.kubernetes.io/name: collector
endpoints:
- port: prom-metrics
interval: 10s
- port: cfg-rel-metrics
interval: 10s
- Führen Sie folgenden Befehl aus, um diese Ressource anzuwenden:
kubectl -n gmp-system apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/main/examples/self-pod-monitoring.yaml
Ihr verwalteter Collector extrahiert jetzt Daten aus den übereinstimmenden Pods.
Beispielanwendung bereitstellen
Der verwaltete Dienst stellt ein Manifest für eine Beispielanwendung bereit, die Prometheus-Messwerte am Messwertport ausgibt. Die Anwendung verwendet drei Replikate.
- Führen Sie den folgenden Befehl aus, um die Beispielanwendung bereitzustellen:
kubectl -n gmp-system apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/main/examples/example-app.yaml
Prüfen Sie, ob Prometheus bereitgestellt wurde.
Aufgabe 3: Cloud Monitoring
Mit dem Metrics Explorer können Sie Ihre Managed Service for Prometheus-Daten als Cloud Monitoring-Zeitreihe aufrufen. So konfigurieren Sie den Metrics Explorer zum Anzeigen von Messwerten:
- Wechseln Sie in der Cloud Console zu Monitoring.
- Klicken Sie im Navigationsbereich von Monitoring auf
Metrics Explorer.
- Geben Sie die Daten an, die im Diagramm angezeigt werden sollen. Dazu können Sie den MQL-Editor verwenden.
-
So verwenden Sie den Tab „MQL“:
a. Klicken Sie rechts oben auf PromQL und wählen Sie in einer neuen Abfrage das Optionsfeld MQL aus.
b. Geben Sie die folgende Abfrage ein:
fetch prometheus_target::prometheus.googleapis.com/up/gauge
c. Klicken Sie auf Abfrage ausführen.
Aufgabe 4: Diagramm erstellen
-
Rufen Sie Monitoring > Metrics Explorer auf und erstellen Sie eine weitere Abfrage.
-
Wählen Sie das Optionsfeld PromQL aus und geben Sie die folgende Abfrage ein. Klicken Sie dann auf Abfrage ausführen, um Messwerte zu sehen.
go_memstats_heap_alloc_bytes
Wenn Sie diese Option auswählen, wird ein Diagramm ähnlich dem unten gezeigten erstellt.

Aufgabe 5: Exportierte Messwerte filtern
Wenn Sie viele Daten erheben, möchten Sie möglicherweise bei einigen Zeitreihen verhindern, dass sie an Managed Service for Prometheus gesendet werden, um dadurch die Kosten niedrig zu halten.
Zum Filtern exportierter Messwerte können Sie in der OperatorConfig-Ressource eine Reihe von PromQL-Zeitreihenselektoren konfigurieren. Eine Zeitreihe wird nach Managed Service for Prometheus exportiert, wenn sie mindestens einem der Selektoren entspricht.
- Öffnen Sie die
OperatorConfig-Ressource zur Bearbeitung:
kubectl -n gmp-public edit operatorconfig config
- Drücken Sie nach der Zeile „apiVersion“ die Taste i, um in den Einfügemodus zu wechseln. Gehen Sie zur letzten Zeile und drücken Sie die Eingabetaste, um eine neue Zeile zu beginnen. Achten Sie darauf, dass die Zeile am Anfang nicht eingerückt ist. Fügen Sie dann Folgendes ein:
collection:
filter:
matchOneOf:
- '{job="prom-example"}'
- '{__name__=~"job:.+"}'
Die Datei sollte in etwa so aussehen:

- Drücken Sie Esc, geben Sie :wq ein und drücken Sie die Eingabetaste, um die Datei zu speichern und den Editor zu beenden.
Diese Hinzufügung sorgt dafür, dass nur Messwerte für den Job „prometheus“ sowie Messwerte exportiert werden, die von Aufzeichnungsregeln erzeugt werden, die auf der Jobebene aggregieren (wenn den Best Practices zur Benennung gefolgt wird). Stichproben für alle anderen Zeitreihen werden herausgefiltert. Standardmäßig sind keine Selektoren angegeben und alle Zeitreihen werden exportiert.
Der Konfigurationsabschnitt filter.matchOneOf hat die gleiche Semantik wie die match[]-Parameter für die Prometheus-Föderation.
- Erstellen Sie eine Datei namens
op-config.yaml:
vi op-config.yaml
- Kopieren Sie den folgenden Code in die Datei
op-config.yaml:
apiVersion: monitoring.googleapis.com/v1alpha1
collection:
filter:
matchOneOf:
- '{job="prom-example"}'
- '{__name__=~"job:.+"}'
kind: OperatorConfig
metadata:
annotations:
components.gke.io/layer: addon
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"monitoring.googleapis.com/v1alpha1","kind":"OperatorConfig","metadata":{"annotations":{"components.gke.io/layer":"addon"},"labels":{"addonmanager.kubernetes.io/mode":"Reconcile"},"name":"config","namespace":"gmp-public"}}
creationTimestamp: "2022-03-14T22:34:23Z"
generation: 1
labels:
addonmanager.kubernetes.io/mode: Reconcile
name: config
namespace: gmp-public
resourceVersion: "2882"
uid: 4ad23359-efeb-42bb-b689-045bd704f295
- Laden Sie die erstellte Konfigurationsdatei zur Überprüfung hoch:
export PROJECT=$(gcloud config get-value project)
gsutil mb -p $PROJECT gs://$PROJECT
gsutil cp op-config.yaml gs://$PROJECT
gsutil -m acl set -R -a public-read gs://$PROJECT
Prüfen Sie, ob der Messwertfilter angewendet wurde.
Aufgabe 6: Abfrage ausführen
-
Klicken Sie auf + Abfrage hinzufügen, um eine neue Abfrage zu erstellen, und geben Sie up/gauge in den Eingabefilter Messwert auswählen ein.
-
Wählen Sie den resultierenden Prometheus-Messwert aus und klicken Sie auf Anwenden.
Aufgabe 7: App überwachen
- Erstellen Sie eine Datei namens „prom-example-config.yaml“:
vi prom-example-config.yaml
- Kopieren Sie Folgendes in die Datei:
apiVersion: monitoring.googleapis.com/v1alpha1
kind: PodMonitoring
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"monitoring.googleapis.com/v1alpha1","kind":"PodMonitoring","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"prom-example"},"name":"prom-example","namespace":"gmp-test"},"spec":{"endpoints":[{"interval":"30s","port":"metrics"}],"selector":{"matchLabels":{"app":"prom-example"}}}}
creationTimestamp: "2022-03-14T22:33:55Z"
generation: 1
labels:
app.kubernetes.io/name: prom-example
name: prom-example
namespace: gmp-test
resourceVersion: "2648"
uid: c10a8507-429e-4f69-8993-0c562f9c730f
spec:
endpoints:
- interval: 60s
port: metrics
selector:
matchLabels:
app: prom-example
status:
conditions:
- lastTransitionTime: "2022-03-14T22:33:55Z"
lastUpdateTime: "2022-03-14T22:33:55Z"
status: "True"
type: ConfigurationCreateSuccess
observedGeneration: 1
- Führen Sie die folgenden Befehle in der Cloud Shell aus:
export PROJECT=$(gcloud config get-value project)
gsutil cp prom-example-config.yaml gs://$PROJECT
gsutil -m acl set -R -a public-read gs://$PROJECT
Prüfen Sie, ob das Scraping-Intervall geändert wurde.
Damit ist das Lab abgeschlossen.
Glückwunsch!
Sie wissen jetzt, wie Sie die Kosten für die Verwendung von Managed Service for Prometheus reduzieren können. Sie haben Prometheus und eine Beispielanwendung bereitgestellt. Anschließend haben Sie einen Messwertfilter angewendet und das Scraping-Intervall geändert, um die Kosten für die Aufnahme von Messwerten mit dem Google Managed Prometheus-Dienst zu senken.
Weitere Informationen
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 17. Februar 2025 aktualisiert
Lab zuletzt am 17. Februar 2025 getestet
© 2026 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.