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 Console ( 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 und sehen, ob es verfügbar ist. 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 Programm für kostenlose Testversionen 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. Klicken Sie in diesem Fall einfach auf „Weiter“. So sieht dieses Fenster aus:

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

Auf dieser virtuellen Maschine sind alle Entwicklungstools installiert, 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. 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, führen Sie einfach den folgenden Befehl aus:
gcloud config set project <PROJECT_ID>
In Cloud Shell werden auch einige Umgebungsvariablen standardmäßig festgelegt, die für zukünftige 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}
So erhalten Sie einen einzelnen Datensatz mit der Produkt-ID und dem verfügbaren Lagerbestand für dieses Produkt.
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 |
Im Folgenden finden Sie ein Beispiel für eine 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 dieses 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:
- Rufen Sie im Terminal mit dem folgenden Befehl die Python-Version der API auf:
$ 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. Wir verwenden die Standardversion. Wenn Sie die Anwendung 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 Webvorschau-Funktion von Cloud Shell testen können. Klicken Sie auf die Schaltfläche 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 zur Autorisierung aufgefordert werden, fahren Sie bitte fort. 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. Nennen wir 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 die Ausgabe etwa so aussehen:

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

Die URL ist nichts anderes als die Dienst-URL, die Sie in den Browser eingeben können, um auf die gerade bereitgestellte Inventory API zuzugreifen. Sie können sich gerne 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 können, 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 Hauptmenü auf der Seite 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 Standarddashboards 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 wie unten dargestellt angezeigt:

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, Containermesswerte und mehr.
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 den bereitgestellten API-Dienst ein. Bei einer öffentlichen Verfügbarkeitsdiagnose werden Anfragen von mehreren Standorten auf der ganzen Welt an öffentlich verfügbare URLs oder Google Cloud-Ressourcen gesendet, 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 dann E-Mails, wenn es eine Benachrichtigung usw. gibt.
Zuerst konfigurieren wir 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 einen Link mit dem Titel 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. Konfigurieren wir jetzt die Verfügbarkeitsdiagnose.
Verfügbarkeitsprüfung erstellen
Rufen Sie in der Google Cloud Console im Hauptmenü Monitoring → Uptime-Checks 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 Uptime-Prüfungen einrichten können.
- Cloud Run-Dienst : Wählen Sie my-inventory-api oder den Namen des Cloud Run-Dienstes aus.
- Der Pfad ist /healthy, da wir den String All Izz Well zurückgeben und wir diesen String 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 Inventory API Uptime Check failure (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.

Schließen Sie den Vorgang ab, indem Sie links auf die Schaltfläche ERSTELLEN klicken. Google Cloud weist die in verschiedenen Regionen konfigurierten Uptime-Check-Probes an, die URL zu pingen. 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 für 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,
- Wir sehen uns an, wie Sie verschiedene Messwerte aufrufen können, und untersuchen dann 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-Überarbeitung“, 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 unten gezeigten Details:

Wir erstellen ein neues Dashboard und speichern es nicht in einem vorhandenen Dashboard. Klicken Sie auf SAVE (Speichern). Das neu erstellte Dashboard wird unserer Liste von 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 Logs Explorer-Oberfläche, mit der Sie in Logs navigieren und diese analysieren können, die von verschiedenen Google-Diensten und Ihren eigenen Anwendungen generiert werden.
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 von uns bereitgestellten Cloud Run-Dienste. Sie sehen mehrere Anfragen, die Uptime-Checks 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 Abfragefeld die folgenden Abfrageparameter 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 eine erhebliche Anzahl von Anrufen mit falschen Produkt-IDs erfolgt.
Wenn Sie den oben genannten Wert in einen Fehlermesswert umwandeln möchten, klicken Sie im Log-Explorer auf die Schaltfläche Messwert erstellen.

Dadurch wird das Formular zum Erstellen der Messwertdefinition aufgerufen. 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 Messwert-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 kehren zum Bildschirm „Messwerte“ zurück. 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 unten sehen:

Klicken Sie auf Weiter , um einen Grenzwert festzulegen. Der hier verwendete Beispielschwellenwert ist 5. Sie können aber einen beliebigen Wert auswählen.

Klicken Sie auf WEITER, um das Benachrichtigungsformular aufzurufen.

Als Benachrichtigungskanal haben wir 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 von 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 von Ihrem 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. Daraufhin wird der unten gezeigte Bildschirm angezeigt:

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 haben einen Wert für den Grenzwert eingegeben, nämlich 300 ms. Das ist der Wert, den wir erreichen möchten. Sie können einen anderen Wert auswählen, aber denken Sie daran, dass sich dies auf das Fehlerbudget auswirkt, das Sie entsprechend definieren. 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 die Schaltfläche SLO AKTUALISIEREN bestätigen können.

Dadurch wird Ihre SLO-Definition gespeichert und das Fehlerbudget wird automatisch für Sie berechnet.

Hier sind einige Dinge, die Sie ausprobieren können:
- 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 in 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 das Lab abgeschlossen haben.
Nächste Schritte
In dieser Cloud Skills Boost-Aufgabenreihe erfahren Sie mehr über die Google Cloud Operations Suite.