Einführung in die Cloud Operations-Suite

1. Einführung

Zuletzt aktualisiert:28. Juli 2023

Was ist die Google Cloud Operations Suite?

Die Google Cloud Operations Suite ist eine Plattform, mit 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 Tracing.

Sehen Sie sich dieses Video an, um einen allgemeinen Überblick über Google Cloud Operations zu erhalten.

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.

Aufgaben in diesem Lab

  • Mit Cloud Shell von Google Cloud eine Beispielanwendung in Cloud Run bereitstellen.
  • Nutzung 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

Einrichtung der Umgebung im eigenen Tempo

Wenn Sie noch kein Google-Konto (Gmail oder Google Apps) haben, müssen Sie eines erstellen. Melden Sie sich in der Google Cloud Platform Console ( console.cloud.google.com) an und erstellen Sie ein neues Projekt.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

c20a9642aaa18d11.png

  • Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es ist ein Zeichenstring, der von Google APIs nicht verwendet wird. Sie können ihn jederzeit aktualisieren.
  • Die Projekt-ID muss in allen Google Cloud-Projekten eindeutig sein und kann nach der Festlegung nicht mehr geändert werden. In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise spielt es keine Rolle, wie er lautet. In den meisten Codelabs müssen Sie auf die Projekt-ID verweisen. Sie wird in der Regel als PROJECT_ID bezeichnet. Wenn Ihnen die generierte ID nicht gefällt, können Sie eine andere zufällige ID generieren. Alternativ können Sie Ihr eigenes Gerät testen, um zu 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, eine Projektnummer, die einige APIs verwenden. Weitere Informationen zu allen drei Werten finden Sie in der Dokumentation.

Achtung: Eine Projekt-ID muss global eindeutig sein und kann nach der Auswahl von niemandem mehr verwendet werden. Sie sind der einzige Nutzer dieser ID. Auch wenn ein Projekt gelöscht wird, kann die ID nicht noch einmal verwendet werden.

  1. Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs verwenden zu können. Die Ausführung dieses Codelabs sollte nur wenige Kosten verursachen, wenn überhaupt. Wenn Sie die Ressourcen deaktivieren möchten, damit keine Kosten über diese Anleitung hinaus anfallen, können Sie die von Ihnen erstellten Ressourcen oder das gesamte Projekt löschen. Neuen Nutzern der Google Cloud Platform steht das kostenlose Testprogramm mit einem Guthaben von 300$ zur Verfügung.

Google Cloud Shell einrichten

Sie können Google Cloud und Google Cloud Trace per Fernzugriff von Ihrem Laptop aus bedienen. In diesem Codelab verwenden wir jedoch Google Cloud Shell, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.

Klicken Sie in der Cloud Console einfach auf „Cloud Shell aktivieren“, um Cloud Shell zu aktivieren. Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern.

30c26f30d17b3d46.png

Wenn Sie Cloud Shell noch nie gestartet haben, wird ein Zwischenbildschirm (unten) angezeigt, auf dem beschrieben wird, was es ist. Klicken Sie in diesem Fall auf „Weiter“, um den Bildschirm nicht noch einmal zu sehen. So sieht dieser einmalige Bildschirm aus:

9c92662c6a846a5c.png

Die Bereitstellung und Verbindung mit Cloud Shell sollte nur wenige Minuten dauern.

9f0e51b578fecce5.png

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 alle Aufgaben in diesem Codelab können Sie einfach mit einem Browser oder Ihrem Chromebook erledigen.

Sobald Sie mit Cloud Shell verbunden sind, sollten Sie sehen, dass Sie bereits authentifiziert sind und das Projekt bereits auf Ihre Projekt-ID festgelegt ist.

Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob Sie authentifiziert sind:

Sobald Sie mit Cloud Shell verbunden sind, sollten Sie sehen, dass Sie bereits authentifiziert sind und das Projekt bereits auf Ihre PROJECT_ID festgelegt 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>

Cloud Shell legt außerdem standardmäßig einige Umgebungsvariablen fest, die bei der Ausführung 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 einem Git-Repository zusammengestellt. Das Repository enthält einige Beispielanwendungen, von denen Sie eine für diese Übung verwenden können.

Git-Repository-Link: https://github.com/rominirani/cloud-code-sample-repository

3. API-Anwendung bereitstellen

Worum geht es bei der Beispielanwendung oder -API?

Unsere Anwendung ist eine einfache Inventory API-Anwendung, die einen REST API-Endpunkt mit einigen Vorgängen bereitstellt, um die Inventarelemente aufzulisten und die Inventarmenge bestimmter Artikel abzurufen.

Nachdem wir die API bereitgestellt haben und davon ausgehen, dass sie unter https://<somehost> gehostet wird, können wir auf die API-Endpunkte so zugreifen:

  • https://<somehost>/inventory

Daraufhin werden alle Artikel mit den verfügbaren Inventarbeständen aufgelistet.

  • https://<somehost>/inventory/{productid}

Dadurch wird ein einzelner Eintrag mit der Produkt-ID und dem Lagerbestand für dieses Produkt erstellt.

Die zurückgegebenen Antwortdaten haben das JSON-Format.

Beispieldaten und API-Anfrage/-Antwort

Die Anwendung wird nicht durch eine Datenbank im Backend unterstützt, um die Dinge einfach zu halten. Es enthält drei Beispielprodukt-IDs und deren Lagerbestände.

Produkt-ID

Bestände

I-1

10

I-2

20

I-3

30

Im Folgenden finden Sie ein Beispiel für eine API-Anfrage und eine API-Antwort:

API-Anfrage

API-Antwort

https://<somehost>/inventory

[ { "I-1": 10, "I-2": 20, "I-3": 30 }]

https://&lt;somehost&gt;/inventory/I-1

{ &quot;productid&quot;: &quot;I-1&quot;, &quot;qty&quot;: 10}

https://<somehost>/inventory/I-2

{ &quot;productid&quot;: &quot;I-2&quot;, &quot;qty&quot;: 20}

https://<somehost>/inventory/I-200

{ "productid": I-200, "qty": -1}

Repository klonen

Sie können Google Cloud zwar per Fernzugriff von Ihrem Laptop aus nutzen, in diesem Codelab verwenden Sie jedoch Google Cloud Shell, 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:

bce75f34b2c53987.png

Die Bereitstellung und Verbindung mit der Umgebung dauert nur einen Moment. Wenn der Vorgang abgeschlossen ist, sollte in etwa Folgendes angezeigt werden:

f6ef2b5f13479f3a.png

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 auf Google Cloud. Dadurch werden Netzwerkleistung und Authentifizierung erheblich verbessert. Sie können alle Aufgaben in diesem Lab ganz einfach in einem Browser erledigen.

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 Namen cloud-code-sample-repository erstellt.

Optional: Anwendung in Cloud Shell ausführen

So können Sie die Anwendung lokal ausführen:

  1. Rufen Sie im Terminal mit dem folgenden Befehl die Python-Version der API auf:
$ cd cloud-code-sample-repository
$ cd python-flask-api
  1. 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 oder höher verwenden:
$ python app.py
  1. Mit dem folgenden Befehl können Sie den Python-Server lokal starten.

26570f586acaeacf.png

  1. Dadurch wird ein Server auf Port 8080 gestartet, den Sie über die Webvorschaufunktion von Cloud Shell lokal testen können. Klicken Sie wie unten gezeigt auf die Schaltfläche Webvorschau:

675d9b3097a6209c.png

Klicken Sie auf „Preview“ (Vorschau auf Port 8080).

  1. Daraufhin wird ein Browserfenster geöffnet. Sie erhalten einen 404-Fehler und das ist in Ordnung. Ändern Sie die URL so, dass nach dem Hostnamen nur noch /inventory steht.

Auf meinem Computer sieht es zum Beispiel so aus:

https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory

Daraufhin wird die Liste der Inventarelemente wie oben beschrieben angezeigt:

ef6afb0184c58870.png

  1. Sie können den Server jetzt beenden, indem Sie im Terminal Strg + C drücken.

Anwendung bereitstellen

Wir stellen diese API-Anwendung jetzt in Cloud Run bereit. Dazu wurde der Befehlszeilenclient von gcloud verwendet, um den Code in Cloud Run bereitzustellen.

Geben Sie im Terminal den folgenden gcloud-Befehl ein:

$ gcloud run deploy --source .

Es werden Ihnen dann mehrere Fragen gestellt. Wenn Sie zur Autorisierung aufgefordert werden, gehen Sie bitte so vor. Einige der Punkte werden unten aufgeführt. Je nach Konfiguration und je nachdem, ob Sie bestimmte APIs bereits in Ihrem Google Cloud-Projekt aktiviert haben, werden Ihnen möglicherweise nicht alle Fragen angezeigt.

  1. Dienstname (python-flask-api): Wählen Sie entweder diesen Standardwert oder einen Wert wie my-inventory-api aus.
  2. 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
  3. Geben Sie eine Region an: Wählen Sie eine Region Ihrer Wahl aus, indem Sie eine Zahl eingeben.
  4. 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
  5. Für die Bereitstellung aus der Quelle ist ein Artifact Registry-Docker-Repository erforderlich, um erstellte Container zu speichern. Ein Repository mit dem Namen [cloud-run-source-deploy] in der Region [us-west1] wird erstellt.

Do you want to continue (Y/n)? J

  1. Nicht authentifizierte Aufrufe für [my-inventory-api] zulassen (y/N)? J

Dadurch wird der Prozess gestartet, bei dem Ihr Quellcode übernommen, containerisiert, in die Artifact Registry übertragen und dann der Cloud Run-Dienst und die Version bereitgestellt werden. Dieser Vorgang kann 3 bis 4 Minuten dauern. Nach Abschluss wird die Dienst-URL angezeigt.

Unten sehen Sie ein Beispiel für einen Testlauf:

7516696ea5b3004b.png

Anwendung testen

Nachdem wir die Anwendung in Cloud Run bereitgestellt haben, können Sie so auf die API-Anwendung zugreifen:

  1. 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.app angezeigt. Nennen wir sie <SERVICE_URL>.
  2. Öffnen Sie einen Browser und rufen Sie die folgenden drei URLs für die API-Endpunkte auf:
  3. <SERVICE_URL>/inventory
  4. <SERVICE_URL>/inventory/I-1
  5. <SERVICE_URL>/inventory/I-100

Sie sollte den Spezifikationen entsprechen, die wir in einem früheren Abschnitt mit Beispielen für API-Anfragen und ‑Antworten angegeben 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.

Gehen Sie vom Hauptmenü zu Cloud Run. Daraufhin wird die Liste der Dienste angezeigt, die Sie in Cloud Run ausgeführt haben. Sie sollten den Dienst sehen, den Sie gerade bereitgestellt haben. Je nach ausgewähltem Namen sollte Folgendes angezeigt werden:

10d2c363241d789c.png

Klicken Sie auf den Dienstnamen, um die Details aufzurufen. Die Beispieldetails finden Sie unten:

1ec2c9e45ff1a2db.png

Beachten Sie die URL. Das ist die Dienst-URL, die Sie in den Browser eingeben können, um auf die gerade bereitgestellte Inventory API zuzugreifen. Sehen Sie sich einfach die Messwerte und andere Details an.

Beginnen wir gleich mit der Google Cloud Operations Suite.

4. Dashboard einrichten

Eine der praktischen Funktionen von Cloud Monitoring sind vorkonfigurierte Dashboards für mehrere Ressourcen in Google Cloud. So ist die Ersteinrichtung von Dashboards mit Standardmesswerten schnell und einfach.

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 Sie Dashboards einrichten, mit denen sich verschiedene Messwerte visualisieren lassen, darunter die Dienstlatenz.

Rufen Sie zuerst in der Konsole Monitoring → Übersicht auf, wie unten gezeigt:

c51a5dda4ab72bbf.png

Auf der Übersichtsseite werden verschiedene Elemente angezeigt, die Sie unter „Monitoring“ konfiguriert haben, z. B. Dashboards, Benachrichtigungen und Verfügbarkeitsdiagnosen.

2758f61f1e7f1dca.png

Klicken Sie jetzt im seitlichen Hauptmenü auf Dashboards. Dadurch gelangen wir zu folgendem Bildschirm:

c9110b6f065100da.png

Klicken Sie auf BEISPIELBIBLIOTHEK . Daraufhin wird eine Liste der vorkonfigurierten Dashboards angezeigt, die in Google Cloud für mehrere Ressourcen verfügbar sind. Scrollen Sie dazu nach unten und wählen Sie Google Cloud Run aus (siehe Abbildung unten).

ddac4038d4fa91ae.png

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 das Cloud Run-Monitoring. Klicken Sie auf den Link VORSCHAU, um eine Liste der Standarddiagramme (Messwerte) aufzurufen, die für das Cloud Run-Monitoring verfügbar sind. Klicken Sie einfach auf MUSTERDASHBOARD IMPORTIEREN, um alle diese Diagramme in ein benutzerdefiniertes Dashboard zu importieren. Daraufhin wird ein Dashboard-Bildschirm mit einem vorab ausgefüllten Namen angezeigt (siehe unten):

531cb8434b18193a.png

Sie können zurückgehen, indem Sie links oben neben dem Namen des Dashboards auf den Pfeil nach links klicken. Dies führt zur Liste der Dashboards, aus der Sie das neu erstellte Dashboard sehen sollten.

Wenn Sie auf diesen Dashboard-Link klicken, können Sie mehrere Messwerte im Blick behalten, die standardmäßig verfügbar sind. Dazu gehören unter anderem „Latenz“, „Anzahl der Anfragen“ und „Containermesswerte“.

Sie können auch beliebige Dashboards als Favoriten markieren, indem Sie einfach auf das Sternsymbol klicken, wie unten dargestellt:

fc993d1a17415550.png

Dadurch wird das Dashboard zum Übersichtsbildschirm von Monitoring hinzugefügt und es bietet eine einfache Möglichkeit, zu häufig verwendeten Dashboards zu navigieren.

2e8f66e2652c55c5.png

1e1dffb5239ab110.png

Fantastisch! Sie haben gerade ein benutzerdefiniertes Dashboard zum Überwachen 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 auf der ganzen Welt 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 Dienststatus anzugeben.

Im Beispielcode für den API-Dienst haben wir den Endpunkt /healthy freigegeben, der den Stringwert All Izz Well zurückgibt. Wir müssen also nur eine Verfügbarkeitsdiagnose definieren, die eine URL wie https://<SERVICE_URL>/healthy anruft und prüft, ob der String „All Izz Well“ zurückgegeben wird.

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 es einen Vorfall oder ein Problem mit einer von uns überwachten Ressource gibt. Ein Beispiel für einen Benachrichtigungskanal ist E-Mail. Sie erhalten E-Mails, wenn es eine Benachrichtigung gibt usw.

Fürs Erste konfigurieren wir einen E-Mail-Benachrichtigungskanal und konfigurieren ihn mit unserer E-Mail-Adresse, damit wir über Warnmeldungen benachrichtigt werden, die unser System ausgibt und welche wir konfigurieren werden.

So erstellen Sie einen Benachrichtigungskanal:

Wählen Sie im Hauptmenü der Google Cloud Console Monitoring → Benachrichtigungen aus:

9f87859064c63b63.png

Daraufhin wird eine Seite mit Benachrichtigungen, Richtlinien und mehr angezeigt. Derzeit wird oben der Link BENUTZERBENUTZER BEARBEITEN angezeigt. Klicken Sie darauf.

5ab54f42e6f7b99.png

Daraufhin wird eine Liste verschiedener Benachrichtigungskanäle angezeigt:

cd89b1ca9e1de87c.png

Klicken Sie im Abschnitt E-Mail neben der entsprechenden Zeile auf NEUE HINZUFÜGEN. Daraufhin werden die Details zur E-Mail-Konfiguration wie unten dargestellt angezeigt:

d6ed98ffd0427fa3.png

Geben Sie Ihre E-Mail-Adresse und einen Anzeigenamen ein (siehe unten). Klicke auf SPEICHERN.

Damit ist die Erstellung des E-Mail-Benachrichtigungskanals abgeschlossen. Als Nächstes konfigurieren wir die Verfügbarkeitsdiagnose.

Verfügbarkeitsprüfung erstellen

Wählen Sie im Hauptmenü der Google Cloud Console Monitoring → Verfügbarkeitsdiagnosen aus. Oben sehen Sie den Link UPTIME-PRÜFUNG ERSTELLEN. Klicken Sie darauf.

484541aec65e605e.png

Daraufhin wird eine Reihe von Schritten angezeigt, die Sie zum Konfigurieren der Verfügbarkeitsdiagnose ausführen müssen.

Der erste Schritt besteht darin, die Zieldetails, d.h. Informationen zum Cloud Run-Dienst, den wir bereitgestellt haben, einzurichten. Unten sehen Sie ein ausgefülltes Formular:

4e2bb9fe022320f7.png

Die verschiedenen Werte können wie folgt ausgewählt werden:

  • Protokoll : HTTPS
  • Ressourcentyp : Wählen Sie „Cloud Run-Dienst“ aus. Beachten Sie die anderen Ressourcen, die unterstützt werden und dass Sie auch für diese Verfügbarkeitsdiagnosen festlegen können.
  • Cloud Run-Dienst : Wählen Sie my-inventory-api oder den spezifischen Namen des Cloud Run-Dienstes aus.
  • Der Pfad ist /healthy, da der String All Izz Well zurückgegeben wird und wir danach suchen möchten.

Klicken Sie auf WEITER, um mit dem nächsten Schritt fortzufahren. Der nächste Schritt ist die Antwortvalidierung, wie unten dargestellt:

a6011ac2ab3e0f10.png

Wie Sie sehen, aktivieren wir die Prüfung auf "Content Matching" (Inhaltsabgleich) und richten dann ein, 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 über welchen Benachrichtigungskanal wir benachrichtigt werden sollen, wenn die Verfügbarkeitsdiagnose fehlschlägt.

d9738670efcb999f.png

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 anderen Namen wählen. Wichtig ist hier, den richtigen Benachrichtigungskanal aus der Liste auszuwählen, die Sie zuvor konfiguriert haben.

Klicken Sie im letzten Schritt auf ÜBERPRÜFEN, um die konfigurierte Verfügbarkeitsdiagnose zu überprüfen.

Geben Sie in diesem letzten Schritt der Verfügbarkeitsdiagnose einen Namen (z.B. Inventory API Uptime Check) und testen Sie dann, ob die Diagnose richtig konfiguriert ist. Klicken Sie dafür auf die Schaltfläche TEST.

80375bfab97fc313.png

Schließen Sie den Vorgang ab, indem Sie links auf die Schaltfläche ERSTELLEN klicken. Google Cloud weist die in verschiedenen Regionen konfigurierten Verfügbarkeitsdiagnosen an, die URL anzupingen. Diese Antworten werden erfasst. Rufen Sie nach einigen Minuten den Bereich Monitoring → Verfügbarkeitsdiagnosen auf. Idealerweise sollten Sie alle grünen Signale sehen, die darauf hinweisen, dass die URL über die verschiedenen Prüfungen erreichbar war.

df17555ddbee1127.png

Wenn einer der Tests über einen konfigurierbaren Zeitraum hinweg fehlschlägt, erhalten Sie eine Benachrichtigung über den konfigurierten E-Mail-Kanal.

Damit ist der Abschnitt zum Einrichten einer Verfügbarkeitsdiagnose abgeschlossen. Gut gemacht!

6. Metrics Explorer

Cloud Monitoring bietet Tausende von Standardmesswerten aus mehreren Google Cloud-Produkten. Diese Messwerte können Sie unter anderem untersuchen, abfragen, in Diagramme umwandeln, zu Dashboards hinzufügen und für Benachrichtigungen verwenden.

Unser Ziel in diesem Abschnitt ist:

  1. Wir sehen uns an, wie Sie verschiedene Messwerte betrachten können, und untersuchen dann einen bestimmten Messwert (Latenz) für unseren API-Dienst.
  2. Konvertieren Sie diesen Messwert in ein Diagramm und ein benutzerdefiniertes Dashboard, mit dem wir den Messwert jederzeit visualisieren können.

Latenzmesswert für den Inventory API-Dienst kennenlernen

Wählen Sie im Hauptmenü der Google Cloud Console Monitoring → Metrics Explorer aus. Daraufhin wird der Bildschirm „Metrics Explorer“ (Messwert-Explorer) geöffnet. Klicken Sie auf MESSWERT AUSWÄHLEN. Sie können jetzt mehrere aktive Ressourcen aufrufen, für die Messwerte generiert wurden.

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 gezeigt:

7609d8156c8f1384.png

Klicken Sie auf Übernehmen. Daraufhin wird die Anfragelatenz in einem Diagramm angezeigt. Sie können den Widget-Typ in den Anzeigeeinstellungen rechts in ein Liniendiagramm ändern (siehe Abbildung unten):

46086ac0a8eaf3d7.png

Dadurch wird das Latenzdiagramm wie unten dargestellt angezeigt:

ad97f749eeacaa95.png

Diagramm und benutzerdefiniertes Dashboard erstellen

Speichern wir dieses Diagramm. Klicken Sie auf Diagramm speichern und verwenden Sie die folgenden Details:

35d1788d5f0cb3c4.png

Beachten Sie, dass wir ein neues Dashboard erstellen, anstatt es in einem bestehenden Dashboard zu speichern. Klicken Sie auf die Schaltfläche SPEICHERN. Dadurch wird das neu erstellte Dashboard der Liste der Dashboards hinzugefügt (siehe unten):

c9cdcd63d5823abd.png

Klicken Sie auf das Dashboard, um die Details aufzurufen.

27354d8310d8a2d7.png

Damit ist der Abschnitt über die Untersuchung verschiedener Metriken mit dem Metrics Explorer und das Erstellen unserer benutzerdefinierten Dashboards abgeschlossen.

7. Cloud Logging

In diesem Abschnitt geht es um Cloud Logging. Cloud Logging bietet eine Log-Explorer-Benutzeroberfläche, mit der Sie Logs von verschiedenen Google-Diensten und Ihren eigenen Anwendungen aufrufen und analysieren können.

In diesem Abschnitt lernen wir den Log-Explorer kennen und simulieren einige Protokollmeldungen, nach denen wir dann mithilfe der Funktion Logbasierte Messwerte suchen und in Messwerte umwandeln können.

Log-Explorer

Sie können den Log-Explorer in der Google Cloud Console über Logging → Log-Explorer aufrufen, wie unten gezeigt:

df05f5b33fd5695a.png

Daraufhin wird eine Protokolloberfläche angezeigt, in der Sie verschiedene Ressourcen (Projekt, Google Cloud-Ressource, Dienstnamen usw.) sowie Protokollebenen auswählen oder die Auswahl aufheben können, um die Protokollmeldungen nach Bedarf zu filtern.

e7fa15bcf73f3805.png

Oben sehen Sie die Liste der Protokolle für die Cloud Run-Version, also die Cloud Run-Dienste, die wir bereitgestellt haben. Sie sehen mehrere Uptime-Prüfungen, die 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 und I-3 sind. Ein Beispiel für eine fehlerhafte Anfrage:

https://<SERVICE_URL>/inventory/I-999

Wenn in der Abfrage eine falsche Produkt-ID angegeben wird, wird jetzt nach allen WARNING-Meldungen gesucht, die von unserer API generiert wurden.

Fügen Sie in das Abfragefeld die folgenden Abfrageparameter ein:

resource.type="cloud_run_revision"

textPayload =~ "Erhaltene Inventaranforderung für falsche Produkt-ID"

Die Ausgabe sollte ungefähr so aussehen:

b3ee512a0c9c5c7b.png

Klicken Sie auf „Abfrage ausführen“. Daraufhin werden alle Anfragen angezeigt, bei denen dieses Problem aufgetreten ist.

5fdbd7c23bf4694f.png

Logbasierte Messwerte

Erstellen wir einen benutzerdefinierten Logmesswert, um diese Fehler zu erfassen. Wir möchten wissen, ob es eine erhebliche Anzahl von Aufrufen mit falschen Produkt-IDs gibt.

Wenn Sie die oben genannte Information in einen Fehlermesswert umwandeln möchten, klicken Sie im Log-Explorer auf die Schaltfläche Messwert erstellen.

fa9a5e04922aa412.png

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 ein (siehe unten). Klicken Sie dann auf Messwert erstellen.

70b5719b472d4d02.png

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

ab9058028185e4d5.png

Rufen Sie im Hauptmenü Logging → Log-basierte Messwerte auf. Dort sollten Sie den benutzerdefinierten Messwert sehen, den wir wie unten in der Liste der benutzerdefinierten Messwerte definiert haben:

7d186e90559cf8e1.png

Am Ende dieses Eintrags sehen 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.

7586f0789a0bdb41.png

Dies sollte uns zum Metrics Explorer führen, den wir im vorherigen Abschnitt kennengelernt haben, der nun aber für uns vorab ausgefüllt ist.

7ee7403d0639ce25.png

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

9009da45f76eb4c5.png

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

201ed66957cb64f9.png

Sehr gut! Sie haben jetzt einen benutzerdefinierten Messwert aus Ihren Protokollen 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 im Blick behalten.

8. Benachrichtigungsrichtlinien

In diesem Abschnitt verwenden wir den benutzerdefinierten Messwert, den wir erstellt haben, und überwachen seine Daten anhand eines Schwellenwerts. 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 für die Inventarsuche auf. Daraufhin wird das von uns erstellte Diagramm angezeigt, in dem die Fehler bei der Inventarsuche erfasst werden (siehe unten):

3591a1dd91a8b9fd.png

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

5e76fc20d8387984.png

Daraufhin werden die Messwertdetails angezeigt. Wir konvertieren das Diagramm von der Anzeige der Fehlerrate in eine Summe, d.h. die Anzahl der Fehler. Das zu ändernde Feld ist unten zu sehen:

65ccd1eaca607831.png

Klicken Sie rechts oben auf ANWENDEN. Sie kehren zum Bildschirm „Messwerte“ zurück. Dieses Mal sehen Sie jedoch die Gesamtzahl der Fehler im Ausrichtungszeitraum im Vergleich zur Fehlerrate.

Wir erstellen eine Benachrichtigungsrichtlinie, die uns benachrichtigt, wenn die Anzahl der Fehler einen bestimmten Grenzwert überschreitet. Klicken Sie rechts oben im Diagramm auf das Dreipunkt-Menü und wählen Sie dann wie oben gezeigt In Benachrichtigungsdiagramm umwandeln aus.

cc9eec48b9bfbc92.png

Sie sollten einen Bildschirm wie unten sehen:

6202ad1e88679a78.png

Klicken Sie auf Weiter, um einen Grenzwert aufzurufen, den Sie festlegen können. Wir haben hier den Beispielgrenzwert 5 übernommen. Sie können aber einen beliebigen Wert auswählen.

734f809cc802ab78.png

Klicken Sie auf WEITER, um das Formular „Benachrichtigungen“ aufzurufen.

f2d84fb85c2520cb.png

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

c670b29da70c4655.png

Nachdem Sie diese Benachrichtigungsrichtlinie erstellt haben, wird sie in der Liste der Benachrichtigungsrichtlinien angezeigt (siehe unten). Eine Liste der Benachrichtigungsrichtlinien finden Sie unter Monitoring → Benachrichtigungen. Suchen Sie auf der Seite nach dem Bereich Richtlinien, um eine Liste der bisher konfigurierten Richtlinien aufzurufen.

154da627959c54f3.png

Sehr gut! Sie haben jetzt eine benutzerdefinierte Benachrichtigungsrichtlinie konfiguriert, die Sie bei einer erhöhten Fehlerrate beim Abrufen der Inventory API benachrichtigt.

9. Dienstüberwachung (optional)

In diesem Abschnitt richten wir SLIs/SLOs für unsere Dienste gemäß den Prinzipien des Site Reliability Engineering (SRE) ein. Sie werden feststellen, dass Cloud Monitoring Ihnen die Arbeit erleichtert, indem es Dienste, die Sie in Cloud Run bereitgestellt haben, automatisch erkennt und wichtige SLIs wie Verfügbarkeit und Latenz sowie Fehlerbudgetberechnungen automatisch berechnen kann.

Richten wir nun das SLO für die Latenz für unseren API-Dienst ein.

Latenz-SLO für den Inventardienst einrichten

Klicken Sie im Hauptmenü der Cloud Console auf Monitoring → Dienste. Daraufhin wird eine Liste der Dienste angezeigt, die für das Dienstmonitoring konfiguriert wurden.

Derzeit gibt es keine Dienste, die für das SLI-/SLO-Monitoring eingerichtet wurden. Die Liste ist daher leer. Klicken Sie oben auf den Link DIENST DEFINIEREN, um zuerst einen Dienst zu definieren / anzugeben.

42d14515a481213.png

Dadurch werden automatisch Dienste gefunden, die für das SLO-Monitoring infrage kommen. Es kann Cloud Run-Dienste erkennen und daher wird unser in Cloud Run bereitgestellter Inventory API-Dienst in der Liste angezeigt.

522aaba719f85c54.png

Der angezeigte Name kann abweichen und hängt davon ab, was Sie bei der Bereitstellung des Dienstes in Cloud Run ausgewählt haben. Klicken Sie auf die Schaltfläche SENDEN. Daraufhin wird der folgende Bildschirm angezeigt:

eca08010ab6858a9.png

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

556e49b10d22e5ac.png

Zunächst wählen wir Latenz-SLI aus. Klicke auf WEITER. Als Nächstes wird ein Bildschirm angezeigt, auf dem die aktuelle Leistung dieses Dienstes und die durchschnittliche Latenz zu sehen sind.

a9cc6f6778c13b52.png

Wir geben einen Wert für den Grenzwert ein, z.B. 300 ms, den wir erreichen möchten. Sie können auch einen anderen Wert auswählen. Beachten Sie jedoch, dass sich dies auf das von Ihnen festgelegte Fehlerbudget auswirkt. Klicken Sie auf WEITER.

Legen Sie nun den SLO (Ziel- und Messfenster) wie unten dargestellt fest:

e1fc336d4191c08e.png

Wir wählen also den Zeitraum „Messung“ als rollierenden Zeitraum aus und messen ihn über 7 Tage. Für das Ziel haben wir ebenfalls 90 % festgelegt. Damit möchten wir sagen, dass 90% der Anfragen an den API-Dienst innerhalb von 300 ms abgeschlossen sein sollten und dies über 7 Tage hinweg gemessen werden sollte.

Klicken Sie auf Weiter. Daraufhin wird der Übersichtsbildschirm angezeigt. Sie können ihn bestätigen, indem Sie auf die Schaltfläche SLA AKTUALISIEREN klicken.

f2540173d9f4a4b7.png

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

76393df0e189104.png

Sie können Folgendes ausprobieren:

  1. Sie können die API über mehrere Aufrufe testen und die Leistung des Dienstes sowie seine Auswirkungen auf das verbleibende Fehlerbudget prüfen.
  2. Ändern Sie den Quellcode, um bei einigen Aufrufen zufällig eine zusätzliche Verzögerung (Ruhezeit) einzuführen. Dies erhöht die Latenz für eine Reihe von Aufrufen und sollte sich negativ auf das Fehlerbudget auswirken.

10. Glückwunsch

Herzlichen Glückwunsch! Sie haben 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
  • Dashboard für den Google Cloud Run-Dienst einrichten
  • Verfügbarkeitsdiagnosen
  • Benutzerdefinierte Protokollmesswerte und darauf basierendes Dashboard/Diagramm einrichten
  • Metrics Explorer verwenden und Dashboard/Diagramm einrichten
  • Benachrichtigungsrichtlinien einrichten
  • SLI/SLO für Service Monitoring in Google Cloud einrichten

Hinweis:Wenn Sie das Codelab mit Ihrem eigenen Konto und Google Cloud-Projekt ausgeführt haben, fallen für die zugewiesenen Ressourcen möglicherweise weiterhin Abrechnungskosten an. Löschen Sie daher das Projekt und die Ressourcen, sobald Sie mit dem Lab fertig sind.

Was liegt als Nächstes an?

In dieser Cloud Skills Boost-Aufgabenreihe erfahren Sie mehr über die Google Cloud Operations Suite.

Weitere Informationen