1. Einführung
Zuletzt aktualisiert: 28.07.2023
Was ist die Google Cloud Operations Suite?
Die Google Cloud Operations Suite ist eine Plattform, auf der Sie die Anwendungsleistung in Ihrer Google Cloud-Umgebung überwachen, Fehler beheben und die Leistung verbessern können. Zu den wichtigsten Säulen der Cloud Operations Suite gehören Cloud Monitoring, Cloud Logging und Cloud Trace.
In diesem Video erhalten Sie einen allgemeinen Überblick über Google Cloud Operations.
Umfang
In diesem Codelab stellen Sie eine Beispiel-API in Google Cloud bereit. Anschließend sehen Sie sich verschiedene Funktionen in Cloud Monitoring im Vergleich zur API an und konfigurieren sie.
Lerninhalte
- Verwendung von Cloud Shell von Google Cloud zum Bereitstellen einer Beispielanwendung in Cloud Run.
- Verwendung von Google Cloud Monitoring-Funktionen wie Dashboards, Benachrichtigungen, Verfügbarkeitsdiagnosen, SLI/SLO-Monitoring und mehr.
Voraussetzungen
- Eine aktuelle Version von Chrome (74 oder höher)
- Ein Google Cloud-Konto und ein Google Cloud-Projekt
2. Einrichtung und Anforderungen
Umgebung zum selbstbestimmten Lernen einrichten
Wenn Sie noch kein Google-Konto (Gmail oder Google Apps) haben, müssen Sie eines erstellen. Melden Sie sich in der Google Cloud Platform-Konsole ( console.cloud.google.com) an und erstellen Sie ein neues Projekt.



- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es handelt sich um einen String, der nicht von Google APIs verwendet wird. Sie können ihn jederzeit aktualisieren.
- Die Projekt-ID muss für alle Google Cloud-Projekte eindeutig sein und ist unveränderlich (kann nach dem Festlegen nicht mehr geändert werden). In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, was das ist. In den meisten Codelabs müssen Sie auf die Projekt-ID verweisen (sie wird in der Regel als PROJECT_ID angegeben). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige ID generieren. Alternativ können Sie es mit einem eigenen versuchen. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen.
- Zur Information: Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten
Achtung: Eine Projekt-ID muss global eindeutig sein und kann nach der Auswahl nicht mehr von anderen verwendet werden. Sie sind der einzige Nutzer dieser ID. Auch wenn ein Projekt gelöscht wird, kann die ID nie wieder verwendet werden.
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs zu verwenden. Die Durchführung dieses Codelabs sollte keine oder nur geringe Kosten verursachen. Wenn Sie Ressourcen herunterfahren möchten, damit Ihnen nach Abschluss dieser Anleitung keine Kosten mehr in Rechnung gestellt werden, können Sie die von Ihnen erstellten Ressourcen oder das gesamte Projekt löschen. Neue Nutzer von Google Cloud kommen für das kostenlose Testprogramm mit einem Guthaben von 300 $ infrage.
Google Cloud Shell einrichten
Während Sie Google Cloud und Google Cloud Trace von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie zum Aktivieren von Cloud Shell in der Cloud Console einfach auf „Cloud Shell aktivieren“. Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern.

Wenn Sie die Cloud Shell zuvor noch nicht gestartet haben, wird ein Fenster mit einer Beschreibung eingeblendet (mit Scrollen sichtbar). Klicken Sie in diesem Fall einfach auf „Weiter“ (und Sie werden es nie wieder sehen). So sieht dieses Fenster aus:

Das Herstellen der Verbindung mit der Cloud Shell sollte nur wenige Augenblicke dauern.

Auf dieser virtuellen Maschine sind alle erforderlichen Entwicklungstools installiert. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Die meisten, wenn nicht sogar alle Aufgaben in diesem Codelab können mit einem Browser oder Ihrem Chromebook erledigt werden.
Sobald die Verbindung mit der Cloud Shell hergestellt ist, sehen Sie, dass Sie bereits authentifiziert sind und für das Projekt schon Ihre Projekt-ID eingestellt ist.
Führen Sie in der Cloud Shell den folgenden Befehl aus, um zu prüfen, ob Sie authentifiziert sind:
Sobald die Verbindung mit der Cloud Shell hergestellt ist, sehen Sie, dass Sie bereits authentifiziert sind und für das Projekt schon Ihre PROJECT_ID eingestellt ist.
gcloud auth list
Befehlsausgabe
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
Befehlsausgabe
[core] project = <PROJECT_ID>
Wenn das Projekt aus irgendeinem Grund nicht festgelegt ist, geben Sie einfach den folgenden Befehl ein:
gcloud config set project <PROJECT_ID>
In Cloud Shell werden auch einige Umgebungsvariablen standardmäßig festgelegt, die beim Ausführen zukünftiger Befehle nützlich sein können.
echo $GOOGLE_CLOUD_PROJECT
Befehlsausgabe
<PROJECT_ID>
Beispielanwendungen
Wir haben alles, was Sie für dieses Projekt benötigen, in ein Git-Repository gepackt. Das Repository enthält einige Beispielanwendungen, die Sie für diese Übung verwenden können.
Link zum Git-Repository: https://github.com/rominirani/cloud-code-sample-repository
3. API-Anwendung bereitstellen
Worum geht es in der Beispielanwendung oder ‑API?
Unsere Anwendung ist eine einfache Inventory API-Anwendung, die einen REST API-Endpunkt mit einigen Vorgängen zum Auflisten der Inventargegenstände und zum Abrufen der Inventaranzahl für einen bestimmten Artikel bereitstellt.
Nachdem wir die API bereitgestellt haben und davon ausgehen, dass sie unter https://<somehost> gehostet wird, können wir auf die API-Endpunkte wie folgt zugreifen:
- https://<somehost>/inventory
Hier werden alle Artikel mit den verfügbaren Inventarbeständen aufgeführt.
- https://<somehost>/inventory/{productid}
Dadurch wird ein einzelner Datensatz mit der Produkt-ID und dem verfügbaren Lagerbestand für dieses Produkt erstellt.
Die zurückgegebenen Antwortdaten haben das JSON-Format.
Beispieldaten und API-Anfrage/‑Antwort
Die Anwendung wird nicht von einer Datenbank im Backend unterstützt, um die Dinge einfach zu halten. Sie enthält drei Beispiel-Produkt-IDs und die entsprechenden Lagerbestände.
Produkt-ID | Verfügbares Inventar |
I-1 | 10 |
I-2 | 20 |
I-3 | 30 |
Beispiel für API-Anfrage und ‑Antwort:
API-Anfrage | API-Antwort |
https://<somehost>/inventory | [ { "I-1": 10, "I-2": 20, "I-3": 30 }] |
https://<somehost>/inventory/I-1 | { "productid": "I-1", "qty": 10} |
https://<somehost>/inventory/I-2 | { "productid": "I-2", "qty": 20} |
https://<somehost>/inventory/I-200 | { "productid": I-200, "qty": -1} |
Repository klonen
Während Sie Google Cloud von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der GCP Console oben rechts in der Symbolleiste auf das Cloud Shell-Symbol:

Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern. Anschließend sehen Sie in etwa Folgendes:

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Für alle Aufgaben in diesem Lab benötigen Sie lediglich einen Browser.
gcloud einrichten
Legen Sie in Cloud Shell Ihre Projekt-ID fest und speichern Sie sie als Variable PROJECT_ID.
PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID
Führen Sie nun den folgenden Befehl aus:
$ git clone https://github.com/rominirani/cloud-code-sample-repository.git
Dadurch wird in diesem Ordner ein Ordner mit dem Titel cloud-code-sample-repository erstellt.
(Optional) Anwendung in Cloud Shell ausführen
So führen Sie die Anwendung lokal aus:
- Wechseln Sie im Terminal mit dem folgenden Befehl zur Python-Version der API:
$ cd cloud-code-sample-repository
$ cd python-flask-api
- Geben Sie im Terminal den folgenden Befehl ein. Zum Zeitpunkt der Erstellung dieses Dokuments ist Python 3.9.x in Cloud Shell installiert und wir verwenden die Standardversion. Wenn Sie es lokal auf Ihrem Laptop ausführen möchten, können Sie Python 3.8+ verwenden:
$ python app.py
- Mit dem folgenden Befehl können Sie den Python-Server lokal starten.

- Dadurch wird ein Server auf Port 8080 gestartet, den Sie lokal über die Webvorschaufunktion von Cloud Shell testen können. Klicken Sie auf den Button Webvorschau (siehe unten):

Klicken Sie auf „Vorschau auf Port 8080“.
- Dadurch wird ein Browserfenster geöffnet. Es wird ein 404-Fehler angezeigt. Das ist in Ordnung. Ändern Sie die URL so, dass nach dem Hostnamen nur noch /inventory steht.
Auf meinem Computer sieht das z.B. so aus:
https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory
Daraufhin wird die Liste der Inventarelemente wie oben beschrieben angezeigt:

- Sie können den Server jetzt beenden, indem Sie zum Terminal wechseln und Strg + C drücken.
Anwendung bereitstellen
Wir stellen diese API-Anwendung jetzt in Cloud Run bereit. Dazu wurde der gcloud-Befehlszeilenclient verwendet, um den Befehl zum Bereitstellen des Codes in Cloud Run auszuführen.
Geben Sie im Terminal den folgenden gcloud-Befehl ein:
$ gcloud run deploy --source .
Dabei werden Ihnen mehrere Fragen gestellt. Wenn Sie aufgefordert werden, die Autorisierung zu bestätigen, tun Sie das bitte. Einige der Punkte sind unten aufgeführt. Je nach Konfiguration und je nachdem, ob Sie bereits bestimmte APIs in Ihrem Google Cloud-Projekt aktiviert haben, werden Ihnen möglicherweise nicht alle Fragen angezeigt.
- Dienstname (python-flask-api): Sie können entweder diesen Standardnamen verwenden oder einen anderen Namen wie my-inventory-api auswählen.
- API [run.googleapis.com] not enabled on project [project-number]. Möchten Sie die Funktion aktivieren und es noch einmal versuchen? Das kann einige Minuten dauern. (y/N)? J
- Geben Sie eine Region an: Wählen Sie eine Region Ihrer Wahl aus, indem Sie eine Nummer eingeben.
- API [artifactregistry.googleapis.com] not enabled on project [project-number]. Möchten Sie die Funktion aktivieren und es noch einmal versuchen? Das kann einige Minuten dauern. (y/N)? J
- Für die Bereitstellung aus der Quelle ist ein Artifact Registry-Docker-Repository zum Speichern erstellter Container erforderlich. Ein Repository mit dem Namen [cloud-run-source-deploy] in der Region [us-west1] wird erstellt.
Do you want to continue (Y/n)? J
- „Allow unauthenticated invocations to [my-inventory-api] (y/N)?“ (Nicht authentifizierte Aufrufe für [my-inventory-api] zulassen?) J
Dadurch wird schließlich der Prozess gestartet, mit dem Ihr Quellcode containerisiert, per Push in Artifact Registry übertragen und dann der Cloud Run-Dienst + die Revision bereitgestellt werden. Dieser Vorgang kann 3 bis 4 Minuten dauern. Wenn er abgeschlossen ist, wird die Dienst-URL angezeigt.
Ein Beispiel für einen Lauf sehen Sie unten:
Anwendung testen
Nachdem wir die Anwendung in Cloud Run bereitgestellt haben, können Sie wie folgt auf die API-Anwendung zugreifen:
- Notieren Sie sich die Dienst-URL aus dem vorherigen Schritt. In meiner Konfiguration wird es beispielsweise als
https://my-inventory-api-bt2r5243dq-uw.a.run.appangezeigt. Wir nennen diese <SERVICE_URL>. - Öffnen Sie einen Browser und rufen Sie die folgenden drei URLs für die API-Endpunkte auf:
- <SERVICE_URL>/inventory
- <SERVICE_URL>/inventory/I-1
- <SERVICE_URL>/inventory/I-100
Sie sollte den Spezifikationen entsprechen, die wir in einem früheren Abschnitt mit Beispiel-API-Anfrage und -Antwort bereitgestellt haben.
Dienstdetails aus Cloud Run abrufen
Wir haben unseren API-Dienst in Cloud Run bereitgestellt, einer serverlosen Computing-Umgebung. Wir können den Cloud Run-Dienst jederzeit über die Google Cloud Console aufrufen.
Rufen Sie im Hauptmenü Cloud Run auf. Daraufhin wird die Liste der Dienste angezeigt, die in Cloud Run ausgeführt werden. Sie sollten den Dienst sehen, den Sie gerade bereitgestellt haben. Je nach ausgewähltem Namen sollte Folgendes angezeigt werden:

Klicken Sie auf den Dienstnamen, um die Details aufzurufen. Die Beispieldetails sind unten aufgeführt:

Beachten Sie die URL. Das ist nichts anderes als die Dienst-URL, die Sie in den Browser eingeben können, um auf die Inventory API zuzugreifen, die wir gerade bereitgestellt haben. Sie können sich Messwerte und andere Details ansehen.
Legen wir los und beginnen wir jetzt mit der Google Cloud Operations Suite.
4. Dashboard einrichten
Eines der praktischen Features von Cloud Monitoring sind die sofort einsatzbereiten Dashboards für mehrere Ressourcen in Google Cloud. So lassen sich Dashboards mit Standardmesswerten schnell und einfach einrichten.
Sehen wir uns an, wie das für den API-Dienst funktioniert, den wir gerade in Cloud Run bereitgestellt haben.
Benutzerdefiniertes Dashboard für unseren Dienst
Da wir unseren API-Dienst in Cloud Run bereitgestellt haben, sehen wir uns an, wie wir Dashboards einrichten, mit denen sich verschiedene Messwerte visualisieren lassen, darunter auch die Dienstlatenz.
Rufen Sie in der Console zuerst Monitoring → Übersicht auf, wie unten dargestellt:

Die Übersicht enthält mehrere Elemente, die Sie in Monitoring konfiguriert haben, z. B. Dashboards, Benachrichtigungen und Verfügbarkeitsdiagnosen.

Klicken wir jetzt im seitlichen Hauptmenü auf Dashboards. Daraufhin wird der folgende Bildschirm angezeigt:

Klicken Sie auf BEISPIELBIBLIOTHEK . Daraufhin wird die Liste der sofort einsatzbereiten Dashboards angezeigt, die in Google Cloud für mehrere Ressourcen verfügbar sind. Scrollen Sie in der Liste nach unten und wählen Sie Google Cloud Run aus, wie unten dargestellt.

Daraufhin wird eine Liste der Standard-Dashboards angezeigt, die für Google Cloud Run verfügbar sind. Das ist für uns interessant, da wir unseren Dienst in Cloud Run bereitgestellt haben.
Sie sehen ein Dashboard für Cloud Run-Monitoring. Klicken Sie auf den Link VORSCHAU, um die Liste der Standarddiagramme (Messwerte) aufzurufen, die für Cloud Run Monitoring verfügbar sind. Klicken Sie einfach auf BEISPIELDASHBOARD IMPORTIEREN, um alle diese Diagramme in ein benutzerdefiniertes Dashboard zu importieren. Daraufhin wird ein Dashboard-Bildschirm mit einem vorausgefüllten Namen angezeigt, wie unten zu sehen:

Sie können zurückkehren , indem Sie oben links auf den Linkspfeil klicken, der sich links neben dem Namen des Dashboards befindet. Dadurch gelangen Sie zur Liste der Dashboards, in der Sie das neu erstellte Dashboard sehen sollten.
Klicken Sie auf diesen Dashboard-Link, um mehrere sofort verfügbare Messwerte im Blick zu behalten. Dazu gehören Latenz, Anzahl der Anfragen und Containermesswerte.
Sie können auch ein beliebiges Dashboard als Favorit markieren, indem Sie einfach das Sternsymbol auswählen (siehe unten):

Dadurch wird das Dashboard dem Übersichtsbildschirm von Monitoring hinzugefügt und Sie können ganz einfach zu häufig verwendeten Dashboards navigieren.


Fantastisch! Sie haben gerade ein benutzerdefiniertes Dashboard zum Monitoring Ihrer Cloud Run-Dienste hinzugefügt. Gut gemacht!
5. Verfügbarkeitsdiagnosen
In diesem Abschnitt richten wir eine Verfügbarkeitsdiagnose für unseren bereitgestellten API-Dienst ein. Bei einer öffentlichen Verfügbarkeitsdiagnose können Anfragen von mehreren Standorten weltweit an öffentlich verfügbare URLs oder Google Cloud-Ressourcen gesendet werden, um zu prüfen, ob die Ressource antwortet.
Die Ressource ist in diesem Fall der API-Dienst, den wir in Cloud Run bereitgestellt haben. Die URL ist ein bestimmter Endpunkt, den der API-Dienst bereitstellt, um den Status des Dienstes anzugeben.
Im Beispielcode für den API-Dienst haben wir den Endpunkt /healthy bereitgestellt, der den Stringwert All Izz Well zurückgibt. Wir müssen also nur eine Verfügbarkeitsdiagnose definieren, die auf etwas wie https://<SERVICE_URL>/healthy zugreift und prüft, ob der String "All Izz Well" zurückgegeben wird oder nicht.
Benachrichtigungskanal erstellen
Bevor wir die Verfügbarkeitsdiagnose erstellen, müssen wir zuerst Benachrichtigungskanäle konfigurieren. Ein Benachrichtigungskanal ist ein Medium, über das Sie benachrichtigt werden, wenn ein Vorfall oder Problem mit einer unserer überwachten Ressourcen auftritt. Ein Beispiel für einen Benachrichtigungskanal ist E-Mail. Sie erhalten E-Mails, wenn es eine Benachrichtigung usw. gibt.
Wir konfigurieren jetzt einen E‑Mail-Benachrichtigungskanal mit unserer E‑Mail-Adresse, damit wir im Falle von Warnungen, die unser System ausgibt und die wir konfigurieren, benachrichtigt werden.
So erstellen Sie einen Benachrichtigungskanal:
Rufen Sie in der Google Cloud Console im Hauptmenü Monitoring → Benachrichtigungen auf, wie unten dargestellt:

Daraufhin wird eine Seite mit Benachrichtigungen, Richtlinien und weiteren Informationen angezeigt. Derzeit sehen Sie oben den Link BENACHRICHTIGUNGSKANÄLE BEARBEITEN. Klicken Sie darauf.

Daraufhin wird eine Liste mit verschiedenen Benachrichtigungskanälen angezeigt:

Suchen Sie den Abschnitt E-Mail und klicken Sie in dieser Zeile auf NEUE HINZUFÜGEN. Daraufhin werden die E-Mail-Konfigurationsdetails wie unten dargestellt angezeigt:

Geben Sie Ihre E‑Mail-Adresse und einen Anzeigenamen ein, wie unten dargestellt. Klicke auf SPEICHERN.
Damit ist die Erstellung des E-Mail-Benachrichtigungskanals abgeschlossen. Wir konfigurieren jetzt die Verfügbarkeitsdiagnose.
Verfügbarkeitsprüfung erstellen
Rufen Sie in der Google Cloud Console im Hauptmenü Monitoring → Verfügbarkeitsdiagnosen auf. Oben sehen Sie den Link UPTIME-CHECK ERSTELLEN. Klicken Sie darauf.

Daraufhin wird eine Reihe von Schritten angezeigt, die Sie ausführen müssen, um die Verfügbarkeitsdiagnose zu konfigurieren.
Der erste Schritt besteht darin, die Zieldetails einzurichten, d.h. Informationen zum Cloud Run-Dienst, den wir bereitgestellt haben. Ein ausgefülltes Formular sehen Sie unten:

Die verschiedenen Werte können so ausgewählt werden:
- Protokoll : HTTPS
- Ressourcentyp : Wählen Sie „Cloud Run-Dienst“ aus. Beachten Sie die anderen Ressourcen, die unterstützt werden und für die Sie auch Verfügbarkeitsdiagnosen einrichten können.
- Cloud Run-Dienst : Wählen Sie my-inventory-api oder den Namen aus, den Sie für den Cloud Run-Dienst haben.
- Der Pfad ist /healthy, da wir den String All Izz Well zurückgeben und das prüfen möchten.
Klicken Sie auf WEITER, um mit dem nächsten Schritt fortzufahren. Der nächste Schritt ist die Antwortvalidierung, wie unten dargestellt:

Wir aktivieren die Prüfung auf „Content Matching“ und legen dann fest, dass die vom Endpunkt /healthy zurückgegebene Antwort „All Izz Well“ lautet. Klicken Sie auf WEITER, um mit dem nächsten Schritt fortzufahren. Dort konfigurieren wir die Benachrichtigung und den Benachrichtigungskanal, über den wir benachrichtigt werden sollen, wenn die Verfügbarkeitsdiagnose fehlschlägt.

Geben Sie in diesem Schritt einen Namen für die Benachrichtigung ein. Ich habe Fehler bei der Verfügbarkeitsdiagnose der Inventory API ausgewählt, Sie können aber einen beliebigen Namen verwenden. Wichtig ist, dass Sie den richtigen Benachrichtigungskanal aus der Liste auswählen, die Sie zuvor konfiguriert haben.
Klicken Sie auf PRÜFEN, um die von uns konfigurierte Verfügbarkeitsdiagnose zu prüfen.
Geben Sie in diesem letzten Schritt einen Namen für die Verfügbarkeitsdiagnose ein, z. B. Verfügbarkeitsdiagnose für Inventory API. Sie können dann auch testen, ob die Diagnose richtig konfiguriert ist. Klicken Sie dazu auf die Schaltfläche TESTEN.

Führen Sie den Vorgang aus (klicken Sie links auf den Button ERSTELLEN). Google Cloud weist die in verschiedenen Regionen konfigurierten Uptime-Check-Probes an, die URL anzupingen. Die Antworten werden dann erfasst. Rufen Sie nach einigen Minuten den Bereich Monitoring → Verfügbarkeitsdiagnosen auf. Idealerweise sehen Sie alle grünen Signale, die darauf hinweisen, dass die URL von den verschiedenen Tests erreicht werden konnte.

Wenn eine der Testsonden über einen bestimmten Zeitraum (der konfiguriert werden kann) fehlschlägt, erhalten Sie eine Warnbenachrichtigung über den von uns konfigurierten E‑Mail-Kanal.
Damit schließen wir den Abschnitt zum Einrichten einer Verfügbarkeitsdiagnose ab. Gut gemacht!
6. Metrics Explorer
Cloud Monitoring stellt Tausende von Standardmesswerten aus mehreren Google Cloud-Produkten zur Verfügung. Sie können diese Messwerte untersuchen, abfragen, in Diagramme umwandeln, Dashboards hinzufügen und Benachrichtigungen für sie einrichten.
In diesem Abschnitt geht es darum,
- Sehen Sie sich an, wie Sie verschiedene Messwerte aufrufen können. Anschließend untersuchen wir einen bestimmten Messwert (Latenz) für unseren API-Dienst.
- Wandeln Sie diesen Messwert in ein Diagramm und ein benutzerdefiniertes Dashboard um, mit denen wir den Messwert jederzeit visualisieren können.
Latenzmesswert für den Inventory API-Dienst ansehen
Rufen Sie in der Google Cloud Console im Hauptmenü Monitoring → Metrics Explorer auf. Dadurch gelangen Sie zum Bildschirm „Metrics Explorer“. Klicken Sie auf MESSWERT AUSWÄHLEN. Sie können jetzt mehrere aktive Ressourcen mit generierten Messwerten aufrufen.
Da es sich um Cloud Run-Dienste handelt, klicken Sie auf „Cloud Run-Version“, dann auf die Kategorie und den spezifischen Messwert mit dem Titel Anfragelatenz, wie unten dargestellt:

Klicken Sie auf Übernehmen. Dadurch wird die Anfrage-Latenz in einem Diagramm dargestellt. Sie können den Widget-Typ in den Anzeigeeinstellungen rechts in ein Liniendiagramm ändern, wie unten dargestellt:

Das Latenzdiagramm wird dann wie unten dargestellt angezeigt:

Diagramm und benutzerdefiniertes Dashboard erstellen
Speichern wir dieses Diagramm. Klicken Sie auf Diagramm speichern und verwenden Sie die Details wie unten dargestellt:

Wir erstellen ein neues Dashboard und speichern es nicht in einem vorhandenen Dashboard. Klicken Sie auf SAVE (Speichern). Das neu erstellte Dashboard wird der Liste der Dashboards hinzugefügt, wie unten dargestellt:

Klicken Sie auf das von uns erstellte Dashboard, um die Details aufzurufen.

Damit schließen wir den Abschnitt zur Untersuchung verschiedener Messwerte über den Metrics Explorer und zur Erstellung benutzerdefinierter Dashboards ab.
7. Cloud Logging
In diesem Abschnitt geht es um Cloud Logging. Cloud Logging bietet eine Log-Explorer-Oberfläche, mit der Sie Logs, die von verschiedenen Google-Diensten und Ihren eigenen Anwendungen generiert werden, durchsuchen und analysieren können.
In diesem Abschnitt lernen wir den Log-Explorer kennen und simulieren einige Logmeldungen, nach denen wir dann über die Funktion Logbasierte Messwerte suchen und die wir in Messwerte umwandeln können.
Log-Explorer
Sie können den Log-Explorer über die Hauptkonsole von Google Cloud aufrufen. Klicken Sie dazu auf Logging → Log-Explorer, wie unten dargestellt:

Daraufhin wird eine Log-Oberfläche angezeigt, auf der Sie verschiedene Ressourcen (Projekt, Google Cloud-Ressource, Dienstnamen usw.) sowie Log-Ebenen auswählen bzw. die Auswahl aufheben können, um die Log-Nachrichten nach Bedarf zu filtern.

Oben sehen Sie die Liste der Logs für die Cloud Run-Revision, d.h. für die Cloud Run-Dienste, die wir bereitgestellt haben. Sie sehen mehrere Anfragen, die Verfügbarkeitsdiagnosen sind und den von uns konfigurierten Endpunkt /healthy aufrufen.
Nach Warnungen suchen
Simulieren Sie einige ungültige Anfragen an den Inventardienst, indem Sie Produkt-IDs angeben, die nicht I-1, I-2 oder I-3 sind. Ein Beispiel für eine falsche Anfrage:
https://<SERVICE_URL>/inventory/I-999
Wir suchen jetzt nach allen WARNUNG-Meldungen, die von unserer API generiert wurden, wenn in der Anfrage eine falsche Produkt-ID angegeben wurde.
Fügen Sie im Feld „Abfrage“ die folgenden Suchparameter ein:
resource.type="cloud_run_revision"
textPayload =~ "Received inventory request for incorrect productid"
Die Ausgabe sollte ungefähr so aussehen:

Klicken Sie auf „Abfrage ausführen“. Daraufhin werden alle Anfragen mit diesem Problem angezeigt.

Logbasierte Messwerte
Wir erstellen jetzt einen benutzerdefinierten Log-Messwert, um diese Fehler zu erfassen. Wir möchten herausfinden, ob es eine erhebliche Anzahl von Anrufen mit falschen Produkt-IDs gibt.
Wenn Sie den oben genannten Messwert in einen Fehlermesswert umwandeln möchten, klicken Sie im Log-Explorer auf die Schaltfläche Messwert erstellen.

Daraufhin wird das Formular zum Erstellen der Messwertdefinition angezeigt. Wählen Sie einen Zählermesswert aus und geben Sie die Details für den Messwertnamen (inventory_lookup_errors) und die Beschreibung wie unten gezeigt ein. Klicken Sie dann auf Messwert erstellen.

Dadurch wird der Zählermesswert erstellt. Sie sollten eine Meldung wie unten sehen:

Rufen Sie im Hauptmenü Logging → Logbasierte Messwerte auf. Der benutzerdefinierte Messwert, den wir definiert haben, sollte in der Liste der benutzerdefinierten Messwerte wie unten dargestellt angezeigt werden:

Am Ende dieses Eintrags finden Sie drei vertikale Punkte. Klicken Sie darauf, um die Vorgänge aufzurufen, die Sie für diesen benutzerdefinierten Messwert ausführen können. Die Liste sollte in etwa so aussehen wie unten. Klicken Sie auf die Option Im Metrics Explorer ansehen.

Wir sollten nun zum Metrics Explorer gelangen, den wir im vorherigen Abschnitt kennengelernt haben. Er ist jetzt jedoch bereits mit Daten gefüllt.

Klicken Sie auf Diagramm speichern. Verwenden Sie die folgenden Werte für die Optionen zum Speichern von Diagrammen:

Dadurch wird ein neues Dashboard erstellt, in dem Sie die Fehler bei der Inventarsuche sehen können. Es ist in der Liste der Dashboards verfügbar.

Super! Sie haben jetzt einen benutzerdefinierten Messwert aus Ihren Logs erstellt und in ein Diagramm umgewandelt, das in einem benutzerdefinierten Dashboard enthalten ist. So können wir die Anzahl der Anrufe mit falschen Produkt-IDs nachvollziehen.
8. Benachrichtigungsrichtlinien
In diesem Abschnitt verwenden wir den benutzerdefinierten Messwert, den wir erstellt haben, und überwachen seine Daten auf einen Schwellenwert. Wenn die Anzahl der Fehler einen bestimmten Schwellenwert überschreitet, wird eine Benachrichtigung ausgegeben. Mit anderen Worten: Wir richten eine Benachrichtigungsrichtlinie ein.
Benachrichtigungsrichtlinie erstellen
Rufen wir das Dashboard „Inventarsuche“ auf. Dadurch wird das Diagramm aufgerufen, das wir zum Erfassen der Inventarsuchfehler erstellt haben (siehe unten):

Daraufhin werden die aktuellen Messwertdaten angezeigt. Bearbeiten Sie zuerst den Messwert wie unten gezeigt (klicken Sie auf die Schaltfläche „Bearbeiten“):

Dadurch werden die Messwertdetails aufgerufen. Wir werden das Diagramm so umstellen, dass nicht mehr die Fehlerrate, sondern die Summe bzw. Anzahl der Fehler angezeigt wird. Das zu ändernde Feld wird unten angezeigt:

Klicken Sie rechts oben auf ANWENDEN. Sie werden dann wieder zum Bildschirm „Messwerte“ weitergeleitet. Dort sehen Sie die Gesamtzahl der Fehler im Abstimmungszeitraum im Vergleich zur Fehlerrate.
Wir erstellen eine Benachrichtigungsrichtlinie, die uns benachrichtigt, wenn die Anzahl der Fehler einen Schwellenwert überschreitet. Klicken Sie rechts oben im Diagramm auf das Dreipunkt-Menü und wählen Sie aus der Liste der Optionen (siehe oben) die Option In Warnungsdiagramm umwandeln aus.

Sie sollten einen Bildschirm wie den folgenden sehen:

Klicken Sie auf Weiter. Daraufhin wird ein Grenzwert angezeigt , den wir festlegen können. Der hier verwendete Beispielschwellenwert ist 5. Sie können aber auch einen anderen Wert auswählen.

Klicken Sie auf WEITER, um das Benachrichtigungsformular aufzurufen.

Wir haben den Benachrichtigungskanal als den E-Mail-Kanal ausgewählt, den wir zuvor erstellt haben. Sie können die anderen Details wie die Dokumentation ausfüllen, die als Teil der Benachrichtigung bereitgestellt wird. Klicken Sie auf WEITER, um die Zusammenfassung aufzurufen und den Vorgang abzuschließen.

Nachdem Sie diese Benachrichtigungsrichtlinie erstellt haben, wird sie wie unten dargestellt in der Liste der Benachrichtigungsrichtlinien angezeigt. Sie können die Liste der Benachrichtigungsrichtlinien aufrufen, indem Sie zu Monitoring → Benachrichtigungen gehen. Suchen Sie auf der Seite nach dem Abschnitt Richtlinien, um die Liste der bisher konfigurierten Richtlinien aufzurufen.

Super! Sie haben jetzt eine benutzerdefinierte Benachrichtigungsrichtlinie konfiguriert, mit der Sie benachrichtigt werden, wenn bei der Suche in der Inventory API eine erhöhte Fehlerrate auftritt.
9. Service Monitoring (optional)
In diesem Abschnitt richten wir SLIs/SLOs für unsere Dienste gemäß den Prinzipien des Site Reliability Engineering (SRE) ein. Cloud Monitoring erleichtert Ihnen die Arbeit, da Dienste, die Sie in Cloud Run bereitgestellt haben, automatisch erkannt werden. Außerdem können wichtige SLIs wie Verfügbarkeit und Latenz sowie Berechnungen des Fehlerbudgets automatisch für Sie berechnet werden.
Richten wir nun das Latenz-SLO für unseren API-Dienst ein.
Latenz-SLO für den Inventardienst einrichten
Klicken Sie in der Cloud Console im Hauptmenü auf Monitoring → Dienste. Dadurch wird die Liste der Dienste aufgerufen, die für die Dienstüberwachung konfiguriert wurden.
Derzeit haben wir keine Dienste, die für das SLI-/SLO-Monitoring eingerichtet wurden. Die Liste ist also leer. Klicken Sie oben auf den Link DIENST DEFINIEREN, um zuerst einen Dienst zu definieren bzw. zu identifizieren.

Dadurch werden automatisch Dienste ermittelt, die für das SLO-Monitoring infrage kommen. Sie kann Cloud Run-Dienste erkennen. Daher ist unser in Cloud Run bereitgestellter Inventory API-Dienst in der Liste sichtbar.

Der angezeigte Name kann sich unterscheiden und hängt davon ab, was Sie beim Bereitstellen des Dienstes in Cloud Run ausgewählt haben. Klicken Sie auf die Schaltfläche SENDEN. Dadurch wird der unten gezeigte Bildschirm aufgerufen:

Klicken Sie auf SLO ERSTELLEN. Sie können jetzt aus den SLIs auswählen, die automatisch für Sie berechnet werden.

Wir wählen als Erstes Latenz-SLI aus. Klicken Sie auf WEITER. Als Nächstes sehen Sie einen Bildschirm mit der aktuellen Leistung dieses Dienstes und der typischen Latenz.

Wir geben einen Wert für den Grenzwert ein, z.B. 300 ms, den wir erreichen möchten. Sie können einen anderen Wert auswählen, aber denken Sie daran, dass sich dies auf das von Ihnen definierte Fehlerbudget auswirkt. Klicken Sie auf WEITER.
Wir legen das SLO (Ziel- und Messzeitraum) jetzt wie unten dargestellt fest:

Das bedeutet, dass wir das Analysefenster als fortlaufendes Fenster auswählen und über 7 Tage hinweg analysieren. Für das Ziel haben wir ebenfalls 90 % ausgewählt. Das bedeutet, dass 90% der Anfragen an den API-Dienst innerhalb von 300 ms abgeschlossen werden sollten. Dies sollte über einen Zeitraum von sieben Tagen gemessen werden.
Klicken Sie auf Weiter. Dadurch wird der Übersichtsbildschirm aufgerufen, den Sie durch Klicken auf den Button SLO AKTUALISIEREN bestätigen können.

Dadurch wird Ihre SLO-Definition gespeichert und das Fehlerbudget wird automatisch berechnet.

Das können Sie ausprobieren:
- Rufen Sie die API mehrmals auf und sehen Sie sich die Leistung des Dienstes und die Auswirkungen auf das verbleibende Fehlerbudget an.
- Ändern Sie den Quellcode, um bei einigen Aufrufen zufällig eine zusätzliche Verzögerung (Sleep) einzuführen. Dadurch erhöht sich die Latenz für eine Reihe von Aufrufen und das Fehlerbudget wird negativ beeinflusst.
10. Glückwunsch
Herzlichen Glückwunsch! Sie haben erfolgreich eine Beispielanwendung in Google Cloud bereitgestellt und gelernt, wie Sie mit der Google Cloud Operations Suite den Zustand der Anwendung überwachen.
Behandelte Themen
- Dienst in Google Cloud Run bereitstellen
- Einrichten eines Dashboards für den Google Cloud Run-Dienst.
- Verfügbarkeitsdiagnosen
- Benutzerdefinierte Logmesswerte und darauf basierende Dashboards/Diagramme einrichten
- Metrics Explorer verwenden und Dashboard/Diagramm einrichten
- Benachrichtigungsrichtlinien einrichten
- SLI/SLO für das Dienstmonitoring in Google Cloud einrichten.
Hinweis:Wenn Sie das Codelab mit Ihrem eigenen Konto und Google Cloud-Projekt ausgeführt haben, können für die zugewiesenen Ressourcen weiterhin Abrechnungskosten anfallen. Löschen Sie daher das Projekt und die Ressourcen, wenn Sie mit dem Lab fertig sind.
Nächste Schritte
In dieser Cloud Skills Boost-Aufgabenreihe erfahren Sie mehr über die Google Cloud Operations Suite.