Einführung in die Cloud Operations-Suite

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 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.

Inhalt

In diesem Codelab stellen Sie eine Beispiel-API in Google Cloud bereit. Anschließend lernen und konfigurieren Sie mehrere Features in Cloud Monitoring mit der API.

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

Umgebung für das selbstbestimmte 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 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 Projektteilnehmer. Es handelt sich um eine Zeichenfolge, die von Google APIs nicht verwendet wird. Sie können sie jederzeit aktualisieren.
  • Die Projekt-ID muss für alle Google Cloud-Projekte eindeutig sein und ist unveränderlich. Sie kann nach dem Festlegen nicht mehr geändert werden. Die Cloud Console generiert automatisch einen eindeutigen String. ist Ihnen meist egal, was es ist. In den meisten Codelabs müssen Sie sich auf die Projekt-ID beziehen (in der Regel als PROJECT_ID bezeichnet). Wenn Ihnen die generierte ID nicht gefällt, können Sie eine weitere zufällige ID erstellen. Alternativ können Sie einen eigenen verwenden und nachsehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen.
  • Zu Ihrer Information gibt es noch einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. 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. Selbst wenn ein Projekt gelöscht wurde, kann die ID nicht mehr verwendet werden

  1. Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab sollte ohne großen Aufwand betrieben werden. Wenn Sie Ressourcen herunterfahren möchten, um über diese Anleitung hinaus keine Kosten zu verursachen, können Sie die von Ihnen erstellten Ressourcen oder das gesamte Projekt löschen. Neue Google Cloud-Nutzer haben Anspruch auf eine kostenlose Testversion von 300$.

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 einfach auf „Cloud Shell aktivieren“, um Cloud Shell über die Cloud Console zu aktivieren. Es dauert nur einen Moment, die Umgebung bereitzustellen und eine Verbindung herzustellen.

28c26f30d17b3d46.png

Wenn Sie Cloud Shell noch nie gestartet haben, wird ein Zwischenbildschirm (below the fold) angezeigt, in dem beschrieben wird, worum es sich dabei handelt. Klicken Sie in diesem Fall auf Weiter (und der Code wird Ihnen nie wieder angezeigt). So sieht dieser einmalige Bildschirm aus:

9c92662c6a846a5c.png

Die Bereitstellung und Verbindung mit Cloud Shell dauert nur einen Moment.

9f0e51b578fecce5.png

Diese virtuelle Maschine verfügt über alle Entwicklungstools, die Sie benötigen. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und wird in Google Cloud ausgeführt. Dadurch werden die Netzwerkleistung und die Authentifizierung erheblich verbessert. Viele, wenn nicht sogar alle Arbeiten in diesem Codelab können Sie ganz einfach mit einem Browser oder Ihrem Chromebook erledigen.

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

gcloud auth list

Befehlsausgabe

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

Befehlsausgabe

[core]
project = <PROJECT_ID>

Sollte das Projekt aus irgendeinem Grund nicht eingerichtet sein, 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 abgelegt. 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 bei der Beispielanwendung oder API?

Bei unserer Anwendung handelt es sich um eine einfache Inventar-API-Anwendung, die einen REST API-Endpunkt mit einigen Vorgängen zur Auflistung der Inventarartikel und zum Abrufen bestimmter Artikelinventarzahlen bereitstellt.

Sobald wir die API bereitgestellt und davon ausgegangen werden, dass sie unter https://&lt;somehost&gt; gehostet wird, können wir wie folgt auf die API-Endpunkte zugreifen:

  • https://&lt;somehost&gt;/inventory

Daraufhin werden alle Produktartikel mit den verfügbaren Inventarebenen angezeigt.

  • https://&lt;somehost&gt;/inventory/{productid}

Dadurch erhalten Sie einen einzigen Datensatz mit der productid und dem verfügbaren Lagerbestand für dieses Produkt.

Die zurückgegebenen Antwortdaten haben das JSON-Format.

Beispieldaten und API-Anfrage/-Antwort

Aus Gründen der Einfachheit wird die Anwendung nicht durch eine Datenbank am Back-End betrieben. Es enthält drei Beispiel-Produkt-IDs und die entsprechenden Inventarebenen.

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://&lt;somehost&gt;/inventory

[ { &quot;I-1&quot;: 10, &quot;I-2&quot;: 20, &quot;I-3&quot;: 30 }]

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

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

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

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

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

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

Repository klonen

Sie können Google Cloud zwar von Ihrem Laptop aus aus der Ferne bedienen, 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 er abgeschlossen ist, sollten Sie in etwa Folgendes sehen:

f6ef2b5f13479f3a.png

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud, wodurch die Netzwerkleistung und Authentifizierung erheblich verbessert werden. 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 

In diesem Ordner wird 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 ab Version 3.8 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 lokal mit der Webvorschaufunktion von Cloud Shell testen können. Klicken Sie wie unten gezeigt auf die Schaltfläche Webvorschau:

675d9b3097a6209c.png

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

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

Beispiel: auf meinem Computer sieht, sie so aus:

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

Dadurch wird die Liste der Inventarelemente wie zuvor erläutert angezeigt:

ef6afb0184c58870.png

  1. Sie können den Server jetzt beenden, indem Sie im Terminal auf Ctrl-C drücken

Anwendung bereitstellen

Diese API-Anwendung wird jetzt in Cloud Run bereitgestellt. 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 um eine Autorisierung gebeten werden, fahren Sie bitte fort) und einige der Punkte werden unten aufgeführt. Je nach Konfiguration und ob Sie bereits bestimmte APIs in Ihrem Google Cloud-Projekt aktiviert haben, erhalten Sie möglicherweise nicht alle Fragen.

  1. Dienstname (python-flask-api): Wählen Sie entweder diesen Standardwert oder einen Wert wie my-inventory-api aus.
  2. Die API [run.googleapis.com] ist im Projekt [project-number] nicht aktiviert. Möchtest du die Funktion aktivieren und es noch einmal versuchen (dies kann einige Minuten dauern)? (j/N)? Ja
  3. Bitte geben Sie eine Region an: Wählen Sie eine Region Ihrer Wahl aus, indem Sie eine Nummer eingeben.
  4. Die API [ArtifactRegistry.googleapis.com] ist im Projekt [project-number] nicht aktiviert. Möchtest du die Funktion aktivieren und es noch einmal versuchen (dies kann einige Minuten dauern)? (j/N)? Ja
  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)? Ja

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

Dadurch wird der Prozess gestartet, in dem der Quellcode übernommen, containerisiert, per Push in Artifact Registry übertragen und dann Cloud Run-Dienst und -Überarbeitung bereitgestellt wird. Sie sollten bei diesem Vorgang geduldig sein (der Vorgang kann 3–4 Minuten dauern) und der Vorgang wird mit der angezeigten Service-URL abgeschlossen.

Hier ein Beispiel für eine Ausführung:

7516696ea5b3004b.png

Anwendung testen

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

  1. Notieren Sie sich die Service-URL aus dem vorherigen Schritt. Beispiel: wird es als https://my-inventory-api-bt2r5243dq-uw.a.run.app angezeigt. Nennen wir sie &lt;SERVICE_URL&gt;.
  2. Öffnen Sie einen Browser und greifen Sie auf die folgenden drei URLs für die API-Endpunkte zu:
  3. &lt;SERVICE_URL&gt;/inventory
  4. <SERVICE_URL>/inventory/I-1
  5. <SERVICE_URL>/inventory/I-100

Sie sollte den Spezifikationen entsprechen, die wir in einem vorherigen 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.

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. Hier die Beispieldetails:

1ec2c9e45ff1a2db.png

Beachten Sie die URL, die nichts anderes als die Dienst-URL ist, die Sie in den Browser eingeben und auf die gerade bereitgestellte Inventar-API zugreifen können. Schauen Sie sich einfach die Messwerte und andere Details an.

Beginnen wir jetzt mit der Google Cloud Operations Suite.

4. Dashboard einrichten

Eine der praktischen Funktionen von Cloud Monitoring sind OOTB-Dashboards (Out-of-the-Box), die für mehrere Ressourcen in Google Cloud verfügbar sind. Dadurch wird die Ersteinrichtung von Dashboards mit Standardmesswerten schnell und bequem.

Sehen wir uns an, wie das mit dem 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 nun an, wie Dashboards eingerichtet werden, mit denen sich verschiedene Messwerte visualisieren lassen, darunter auch die Dienstlatenz.

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

c51a5dda4ab72bbf.png

In der Übersicht sehen Sie mehrere Einstellungen, die Sie in Monitoring konfiguriert hätten, z. B. Dashboards, Benachrichtigungen, Verfügbarkeitsdiagnosen usw.

2758f61f1e7f1dca.png

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

c9110b6f065100da.png

Klicken Sie auf Beispielbibliothek . Dadurch wird die Liste der Out-of-the-Box-Dashboards (OOTB) 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.

ddac4038d4fa91ae.png

Daraufhin wird eine Liste der Standard-Dashboards angezeigt, die für Google Cloud Run verfügbar sind. Das interessiert uns, da wir unseren Dienst in Cloud Run bereitgestellt haben.

Sie sehen nun 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 Beispiel-Dashboard importieren, um alle Diagramme in ein benutzerdefiniertes Dashboard zu importieren. Daraufhin wird ein Dashboard-Bildschirm mit einem vorausgefüllten Namen wie unten gezeigt angezeigt:

531cb8434b18193a.png

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

Klicken Sie auf diesen Dashboard-Link, um mehrere Messwerte zu überwachen, die sofort verfügbar sind. Zu diesen Messwerten gehören Latenz, Anzahl der Anfragen, Containermesswerte und mehr.

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 API-Dienst ein. Eine öffentliche Verfügbarkeitsdiagnose kann von mehreren Standorten weltweit Anfragen an öffentlich verfügbare URLs oder Google Cloud-Ressourcen senden, um festzustellen, 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 verfügbar macht, um den Zustand des Dienstes anzugeben.

Im API-Dienstcode ist der Endpunkt /healthy freigegeben, der den Stringwert All Izz Well zurückgibt. Wir müssen also nur eine Verfügbarkeitsdiagnose definieren, die beispielsweise https://&lt;SERVICE_URL&gt;/healthy entspricht und prüft, ob der String https://&lt;SERVICE_URL&gt;/healthy zurückgegeben wird.

Benachrichtigungskanal erstellen

Bevor Sie die Verfügbarkeitsdiagnose erstellen, müssen Sie zuerst die 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 im Falle von Benachrichtigungen 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 usw. angezeigt. Vorerst siehst du oben auf der Seite den Link BENACHRICHTIGUNGSKANÄLE BEARBEITEN. Klicken Sie darauf.

5ab54f42e6f7b99.png

Dadurch wird eine Liste verschiedener Benachrichtigungskanäle angezeigt:

cd89b1ca9e1de87c.png

Suchen Sie den Bereich E-Mail und klicken Sie für diese Zeile auf NEUES HINZUFÜGEN. Daraufhin werden die E-Mail-Konfigurationsdetails wie unten dargestellt angezeigt:

d6ed98ffd0427fa3.png

Geben Sie wie unten gezeigt Ihre E-Mail-Adresse und einen Anzeigenamen ein. Klicke auf SPEICHERN.

Damit ist die Erstellung des Kanals für E-Mail-Benachrichtigungen 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 CREATE UPTIME CHECK (UPTIME-CHECK 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. Hier 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 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.

Klicke auf WEITER, um mit dem nächsten Schritt fortzufahren. Der nächste Schritt ist der Schritt Response Validation (Antwortvalidierung), wie unten gezeigt:

a6011ac2ab3e0f10.png

Wie Sie sehen, ist die Prüfung auf "Inhaltsabgleich" aktiviert. und richten Sie dann ein, dass die vom /healthy-Endpunkt 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.

d9738670efcb999f.png

Geben Sie in diesem Schritt einen Namen für die Benachrichtigung ein. Ich habe sie als Inventory API Uptime Check failed (Verfügbarkeitsdiagnose der Inventar-API fehlgeschlagen) gewählt, aber Sie können Ihren Namen auswä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 einen Namen für die Verfügbarkeitsdiagnose ein (z.B. Inventory API Uptime Check), damit Sie prüfen können, ob die Diagnose richtig konfiguriert ist. Klicken Sie dafür auf die Schaltfläche TEST.

80375bfab97fc313.png

Klicken Sie links auf ERSTELLEN, um den Vorgang abzuschließen. 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 eine der Prüfungen eine Zeit lang fehlschlägt (konfigurierbar), erhalten Sie eine Warnmeldung an den von uns konfigurierten E-Mail-Kanal.

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

6. Metrics Explorer

Cloud Monitoring bietet Tausende Standardmesswerte aus verschiedenen Google Cloud-Produkten. Sie können diese Messwerte unter anderem untersuchen, abfragen, in Diagramme umwandeln, Dashboards hinzufügen oder Benachrichtigungen erhöhen.

Unser Ziel in diesem Abschnitt ist:

  1. Informieren Sie sich darüber, wie Sie sich verschiedene Messwerte ansehen können, und untersuchen Sie dann eine bestimmte Latenz für unseren API-Dienst.
  2. Konvertieren Sie diese Metrik in ein Diagramm und ein benutzerdefiniertes Dashboard, mit denen wir sie dann 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. Dadurch gelangen Sie zum Bildschirm mit dem Metrics Explorer. Klicken Sie auf MESSWERT AUSWÄHLEN. Sie können jetzt zwischen mehreren aktiven Ressourcen, für die Messwerte generiert wurden, navigieren.

Da es sich um Cloud Run-Dienste handelt, klicken Sie auf Cloud Run-Überarbeitung, dann auf die Kategorie und den spezifischen Messwert mit der Bezeichnung Anfragelatenz, wie unten dargestellt:

7609d8156c8f1384.png

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

46086ac0a8eaf3d7.png

Dadurch wird das Latenzdiagramm wie unten dargestellt angezeigt:

ad97f749eeacaa95.png

Diagramm und benutzerdefiniertes Dashboard erstellen

Lassen Sie uns fortfahren und dieses Diagramm speichern. Klicken Sie auf Save Chart (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 zu unserer Liste der Dashboards hinzugefügt, wie unten dargestellt:

c9cdcd63d5823abd.png

Klicken Sie auf das Dashboard, das wir erstellt haben, um die Details aufzurufen.

27354d8310d8a2d7.png

Damit ist der Abschnitt über die Untersuchung verschiedener Messwerte mit dem Metrics Explorer und das Erstellen benutzerdefinierter Dashboards abgeschlossen.

7. Cloud Logging

In diesem Abschnitt beschäftigen wir uns mit Cloud Logging. Cloud Logging bietet eine Log-Explorer-Oberfläche, über die Sie Logs aufrufen und analysieren können, die von verschiedenen Google-Diensten und Ihren eigenen Anwendungen generiert wurden.

In diesem Abschnitt lernen Sie den Log-Explorer kennen und simulieren einige Lognachrichten, die wir dann mithilfe einer Funktion namens 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 Log-Oberfläche angezeigt, in der Sie verschiedene Ressourcen (Projekt, Google Cloud-Ressource, Dienstnamen usw.) auswählen bzw. die Auswahl aufheben können. Außerdem können Sie Log-Ebenen auswählen, um die Log-Nachrichten nach Bedarf zu filtern.

e7fa15bcf73f3805.png

Oben sehen Sie die Liste der Logs für die Cloud Run-Überarbeitung, d.h. für die von uns bereitgestellten Cloud Run-Dienste. Sie sehen mehrere Anfragen für Verfügbarkeitsdiagnosen, die den von uns konfigurierten Endpunkt /healthy erreichen.

Nach Warnungen suchen

Simulieren Sie einige ungültige Anfragen an den Inventardienst, indem Sie Produkt-IDs angeben, die keine I-1, I-2 oder I-3 sind. Beispiel: ist eine falsche Anforderung:

https://&lt;SERVICE_URL&gt;/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.

Geben Sie in das Abfragefeld die folgenden Abfrageparameter ein:

resource.type=&quot;cloud_run_revision&quot;

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 eingegangenen Anfragen mit diesem Problem angezeigt.

5fdbd7c23bf4694f.png

Logbasierte Messwerte

Lassen Sie uns einen benutzerdefinierten Logmesswert erstellen, um diese Fehler zu verfolgen. Uns interessiert, ob eine große Anzahl von Aufrufen mit falschen Produkt-IDs erfolgt.

Um den obigen Messwert in einen Fehlermesswert umzuwandeln, klicken Sie im Log-Explorer auf die Schaltfläche Messwert erstellen.

fa9a5e04922aa412.png

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

70b5719b472d4d02.png

Dadurch wird der Zählermesswert erstellt und Sie sollten folgende Meldung 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 des Eintrags sind die drei vertikalen Punkte zu sehen. Wenn Sie darauf klicken, werden die Vorgänge angezeigt, die Sie für diesen benutzerdefinierten Messwert ausführen können. Die Liste sollte der unten angezeigten Liste ähneln. 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 Save Chart (Diagramm speichern). Verwenden Sie die folgenden Werte für die Optionen zum Speichern des Diagramms:

9009da45f76eb4c5.png

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

201ed66957cb64f9.png

Super! Sie haben nun einen benutzerdefinierten Messwert aus Ihren Logs erstellt und in ein Diagramm konvertiert, das sich in einem benutzerdefinierten Dashboard befindet. So können wir die Anzahl der Anrufe mit falschen Produkt-IDs erfassen.

8. Benachrichtigungsrichtlinien

In diesem Abschnitt verwenden wir den von uns erstellten benutzerdefinierten Messwert und überwachen seine Daten für einen bestimmten Schwellenwert. Wenn die Anzahl der Fehler einen bestimmten Schwellenwert überschreitet, wird eine Benachrichtigung ausgelöst. Mit anderen Worten: Wir richten eine Benachrichtigungsrichtlinie ein.

Benachrichtigungsrichtlinie erstellen

Gehen wir zum Dashboard für die Inventarsuche. 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. Zunächst bearbeiten Sie den Messwert wie unten dargestellt (auf die Schaltfläche "Bearbeiten" klicken):

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 oben rechts auf ANWENDEN, um zum Bildschirm „Messwerte“ zurückzukehren. Jetzt sehen Sie die Gesamtzahl der Fehler im Ausrichtungszeitraum im Vergleich zur Fehlerrate.

Wir werden eine Benachrichtigungsrichtlinie erstellen, damit wir benachrichtigt werden, wenn die Anzahl der Fehler einen bestimmten Grenzwert überschreitet. Klicken Sie oben rechts im Diagramm auf das Dreipunkt-Menü und wählen Sie in der Liste der Optionen (siehe oben) In Benachrichtigungsdiagramm konvertieren 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. Der Stichprobengrenzwert, den wir hier angewendet haben, ist 5. Sie können diesen jedoch nach Belieben festlegen.

734f809cc802ab78.png

Klicken Sie auf WEITER, um das Benachrichtigungsformular aufzurufen.

f2d84fb85c2520cb.png

Wir haben den Benachrichtigungskanal als den zuvor erstellten E-Mail-Kanal ausgewählt. Die anderen Details wie „Documentation“ (Dokumentation, die im Rahmen der gemeldeten Benachrichtigung zur Verfügung gestellt wird) können Sie angeben. Klicken Sie auf WEITER, um die Zusammenfassung aufzurufen und den Vorgang abzuschließen.

c670b29da70c4655.png

Nachdem Sie die 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 Abschnitt Richtlinien. Dort finden Sie eine Liste der Richtlinien, die wir bisher konfiguriert haben.

154da627959c54f3.png

Super! Sie haben jetzt eine benutzerdefinierte Benachrichtigungsrichtlinie konfiguriert, die Sie benachrichtigt, wenn beim Suchen der Inventory API eine erhöhte Fehlerrate auftritt.

9. Dienstmonitoring (optional)

In diesem Abschnitt richten wir SLI/SLOs für unsere Dienste gemäß den SRE-Prinzipien (Site Reliability Engineering) 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 Latenz-SLO 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 die Liste der Dienste angezeigt, die für Service Monitoring konfiguriert wurden.

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

42d14515a481213.png

Dadurch werden Dienste, die für SLO-Monitoring infrage kommen, automatisch erkannt. Damit können Cloud Run-Dienste erkannt werden, sodass der in Cloud Run bereitgestellte Inventory API-Dienst in der Liste angezeigt wird.

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 geöffnet:

eca08010ab6858a9.png

Sie können auf SLO ERSTELLEN klicken. 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. Klicken Sie auf WEITER. Als Nächstes sehen Sie einen Bildschirm, der die aktuelle Leistung dieses Dienstes und die typische Latenz anzeigt.

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 dieser Wert auf das von Ihnen festgelegte Fehlerbudget auswirkt. Klicken Sie auf WEITER.

Jetzt legen wir das SLO (Ziel- und Messfenster) so fest:

e1fc336d4191c08e.png

Wir wählen also den Zeitraum „Messung“ als rollierenden Zeitraum aus und messen ihn über 7 Tage. Ähnlich haben wir für das Ziel ein Ziel von 90 % gewählt. 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 Zusammenfassungsbildschirm angezeigt, den Sie durch Klicken auf die Schaltfläche SLO AKTUALISIEREN bestätigen können.

f2540173d9f4a4b7.png

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

76393df0e189104.png

Hier sind ein paar Dinge, die Sie ausprobieren können:

  1. Testen Sie die API über mehrere Aufrufe und sehen Sie sich die Leistung des Dienstes und die Auswirkungen auf das verbleibende Fehlerbudget an.
  2. Ändern Sie den Quellcode so, dass bei einigen Aufrufen nach dem Zufallsprinzip eine zusätzliche Verzögerung (Ruhezustand) eingebracht wird. 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 erfolgreich eine Beispielanwendung in Google Cloud bereitgestellt und erfahren, wie Sie mit der Google Cloud Operations Suite den Zustand der Anwendung überwachen können.

Behandelte Themen

  • Dienst in Google Cloud Run bereitstellen
  • Dashboard für den Google Cloud Run-Dienst einrichten.
  • Verfügbarkeitsdiagnosen:
  • Benutzerdefinierte Logmesswerte und darauf basierendes Dashboard/Diagramm einrichten.
  • Metrics Explorer erkunden 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, können für die zugewiesenen Ressourcen weiterhin Gebühren anfallen. Löschen Sie daher das Projekt und die Ressourcen, wenn Sie mit dem Lab fertig sind.

Was liegt als Nächstes an?

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

Weitere Informationen