Cloud Monitoring

Dieses Dokument bietet einen Überblick über die Dienste, die Cloud Monitoring bietet. Mit diesen Diensten können Sie das Verhalten, den Zustand und die Leistung Ihrer Anwendungen und anderer Google Cloud-Dienste besser verstehen. Cloud Monitoring erfasst und speichert automatisch Leistungsinformationen für die meisten Google Cloud-Dienste. Mit Google Cloud Managed Service for Prometheus können Sie Prometheus-Messwerte erfassen. Wenn Sie den Ops-Agent auf Ihren Compute Engine-VMs installieren, können Sie Messwerte und Protokolle aus Ihren Anwendungen und von Drittanbieteranwendungen erfassen.

Mit den Benachrichtigungs-, Test- und Visualisierungsdiensten von Cloud Monitoring können Sie wichtige Fragen beantworten, z. B.:

  • Wie hoch ist die Last auf meinem Dienst?
  • Reagiert meine Website richtig?
  • Läuft mein Dienst gut?

Cloud Monitoring bietet für die meisten Dienste sowohl Google Cloud Console- als auch API-Unterstützung. Einige Dienste unterstützen auch die Google Cloud CLI oder Terraform. Auf den Referenzseiten der Cloud Monitoring API, z. B. auf der Seite alertPolicies.list, können Sie direkt mit API-Aufrufen experimentieren.

Cloud Monitoring-Dienste

Cloud Monitoring bietet verschiedene Dienste, mit denen Sie den Zustand und die Leistung Ihrer Anwendungen und der anderen von Ihnen verwendeten Google Cloud-Dienste besser nachvollziehen können.

Warnungen und Benachrichtigungen

Wenn Sie benachrichtigt werden möchten, wenn der Wert eines Leistungsmesswerts die von Ihnen definierten Kriterien erfüllt, erstellen Sie eine Benachrichtigungsrichtlinie. Die Benachrichtigungsrichtlinie enthält die Liste der Personen oder Gruppen, die Benachrichtigungen erhalten sollen. Monitoring unterstützt gängige Benachrichtigungskanäle wie E-Mail, die Cloud Mobile App und Dienste wie PagerDuty oder Slack. Sie können beispielsweise eine Benachrichtigungsrichtlinie erstellen, damit Sie benachrichtigt werden, wenn die CPU-Auslastung einer VM 80 % überschreitet.

Jede Benachrichtigung enthält relevante Informationen zu einem Fehler und einen Link zu einem Vorfall. Ein Vorfall ist ein dauerhafter Datensatz, in dem Informationen gespeichert werden, die Sie zur Fehlerbehebung verwenden können. Ein Eintrag enthält in der Regel den Status des Vorfalls, Links zu Protokollen, ein Diagramm der aufgezeichneten Messwertdaten, Labels und die Dauer.

Der Benachrichtigungsdienst ist in viele Google Cloud-Dienste eingebunden. Wenn diese Integrationen vorhanden sind, wird möglicherweise ein Bereich mit empfohlenen Benachrichtigungen angezeigt oder in einem Diagramm eine Schaltfläche, mit der Sie eine Benachrichtigungsrichtlinie erstellen können. In beiden Fällen sind die Benachrichtigungsrichtlinien vorkonfiguriert. Sie müssen nur die Liste der Personen oder Gruppen angeben, die benachrichtigt werden sollen.

Sie können Benachrichtigungsrichtlinien mit der Google Cloud Console, der Cloud Monitoring API, der Google Cloud CLI oder Terraform erstellen und verwalten.

Proaktives Monitoring und Validierung

Wenn Sie die Verfügbarkeit, Konsistenz und Leistung Ihrer Dienste, Anwendungen, Webseiten und APIs testen möchten, erstellen Sie synthetische Monitore. Sie können beispielsweise mit Verfügbarkeitsdiagnosen HTTP-, HTTPS- und TCP-Endpunkte auf Reaktionsfähigkeit prüfen und dann benachrichtigt werden, wenn ein Endpunkt nicht antwortet. Sie können auch einen Link-Checker erstellen, um eine Webseite zu crawlen und Sie dann zu benachrichtigen, wenn fehlerhafte Links erkannt werden.

Sie können synthetische Monitore mit der Google Cloud Console, der Cloud Monitoring API, der Google Cloud CLI oder Terraform erstellen und verwalten.

Datenvisualisierung

Mit den Dashboard- und Diagrammdiensten können Sie Ihre Daten visualisieren, um Trends zu erkennen, Ausreißer zu identifizieren und weitere Details zu Ihren Daten zu sehen:

Datenerhebung und ‑speicherung

In Cloud Monitoring werden die folgenden Arten von Messwertdaten erfasst und gespeichert:

  • System- und Anwendungsmesswerte, die der Ops-Agent zu Systemressourcen und Anwendungen erfasst, die auf Compute Engine-Instanzen ausgeführt werden. Sie können den Ops-Agent so konfigurieren, dass Messwerte aus Plug-ins von Drittanbietern erfasst werden, z. B. von Apache- oder Nginx-Webservern oder MongoDB- oder PostgreSQL-Datenbanken.
  • Logbasierte Messwerte, über die numerische Informationen zu den in Cloud Logging geschriebenen Logs erfasst werden. Von Google definierte logbasierte Messwerte beinhalten die Anzahl der Fehler, die Ihr Dienst erkennt, und die Gesamtzahl der Logeinträge, die von Ihrem Google Cloud-Projekt empfangen wurden. Sie können auch logbasierte Messwerte definieren.

Abfragesprachen

Wenn Sie eine Benachrichtigungsrichtlinie oder ein Diagramm erstellen, müssen Sie eine Abfrage angeben, in der die Daten beschrieben werden, die Sie überwachen oder in einem Diagramm darstellen möchten:

  • Google Cloud Console: Sie können Ihre Abfrage erstellen, indem Sie Optionen in Menüs auswählen, oder Sie können eine Abfrage schreiben. Abfrageeditoren sind für die Prometheus Query Language (PromQL) und die Monitoring Query Language (MQL) verfügbar. Die Abfrageeditoren bieten Syntaxprüfungen und Vorschläge. Sie können auch einen Monitoring-Filterausdruck schreiben.

  • Cloud Monitoring API: Die API unterstützt Prometheus Query Language (PromQL), MQL-Abfragen und Monitoring-Filterausdrücke.

Große Systeme überwachen

In diesem Abschnitt wird beschrieben, wie Sie Ressourcen als Sammlung verwalten und Messwerte überwachen, die in mehreren Google Cloud-Projekten gespeichert sind.

Ressourcen als Sammlung verwalten

Wenn Sie Ihre Ressourcen nicht einzeln, sondern als Sammlung verwalten möchten, erstellen Sie eine Ressourcengruppe. Eine Ressourcengruppe ist eine dynamische Sammlung von Ressourcen, die bestimmte von Ihnen angegebene Kriterien erfüllen. Wenn Sie Ressourcen hinzufügen oder entfernen, z. B. indem Sie Ihrem Google Cloud-Projekt Compute Engine-VM-Instanzen hinzufügen, ändert sich die Mitgliedschaft in der Gruppe automatisch. Im Folgenden finden Sie Beispiele für Ressourcengruppen:

  • Compute Engine-Instanzen, deren Namen mit dem String prod- beginnen.
  • Ressourcen mit dem Tag test-cluster
  • Amazon EC2-Instanzen in Region A oder Region B.

Nachdem Sie eine Ressourcengruppe definiert haben, können Sie die Gruppe so überwachen, als wäre es eine einzelne Ressource. Sie können beispielsweise eine Verfügbarkeitsdiagnose für die Überwachung einer Ressourcengruppe konfigurieren. Bei Diagrammen und Benachrichtigungsrichtlinien können Sie auch nach dem Gruppennamen filtern.

Weitere Informationen finden Sie unter Ressourcengruppen konfigurieren.

Messwerte für mehrere Google Cloud-Projekte überwachen

Wenn Sie die Zeitreihendaten für mehrere Google Cloud-Projekte und AWS-Konten über eine einzige Benutzeroberfläche aufrufen und überwachen möchten, konfigurieren Sie einen Messwertbereich mit mehreren Projekten.

Standardmäßig bieten Cloud Monitoring-Seiten in der Google Cloud Console nur Zugriff auf die Zeitreihen, die im Scoping-Projekt gespeichert sind. Das Bereichsprojekt ist das Projekt, das Sie mit der Projektauswahl der Google Cloud Console ausgewählt haben. Im Scoping-Projekt werden die Benachrichtigungen, synthetischen Monitorings, Dashboards und Monitoring-Gruppen gespeichert, die Sie konfigurieren.

Im Scoping-Projekt wird auch ein Messwertbereich gehostet. Der Messwertbereich definiert die Projekte und Konten, deren Messwerte für das Scoping-Projekt sichtbar sind. Sie können den Messwertbereich so konfigurieren, dass Zeitreihendaten aus anderen Google Cloud-Projekten und AWS-Konten eingeschlossen werden. Informationen zum Ändern eines Messwertbereichs finden Sie unter Messwertbereich für mehrere Projekte konfigurieren.

Cloud Monitoring-Datenmodell

In diesem Abschnitt wird das Cloud Monitoring-Datenmodell vorgestellt:

  • Ein Messwerttyp beschreibt etwas, das gemessen wird. Beispiele für Messwerttypen sind die CPU-Auslastung einer VM und der Prozentsatz eines Laufwerks, der belegt ist.

  • Eine Zeitachse ist eine Datenstruktur, die mit Zeitstempeln versehene Messungen eines Messwerts und Informationen über die Quelle und Bedeutung dieser Messungen enthält.

Hier sind einige Details zu den Inhalten einer Zeitreihe:

  • Das points-Array enthält die Messwerte mit Zeitstempel.

    Im folgenden Beispiel wird ein points-Array mit zwei Werten verwendet:

      "points": [
        {
          "interval": {
            "startTime": "2020-07-27T20:20:21.597143Z",
            "endTime": "2020-07-27T20:20:21.597143Z"
          },
          "value": {
            "doubleValue": 0.473005
          }
        },
        {
          "interval": {
            "startTime": "2020-07-27T20:19:21.597239Z",
            "endTime": "2020-07-27T20:19:21.597239Z"
          },
          "value": {
            "doubleValue": 0.473025
          }
        },
      ],
    

    Um die Bedeutung eines Werts zu verstehen, müssen Sie sich auf die anderen Daten in der Zeitreihe und auf die Definitionen dieser Daten beziehen.

  • Das Feld resource beschreibt die überwachte Hardware- oder Softwarekomponente. In Cloud Monitoring wird die Hardware- oder Softwarekomponente als überwachte Ressource bezeichnet. Beispiele für überwachte Ressourcen sind Compute Engine-Instanzen und App Engine-Anwendungen. Eine Liste der überwachten Ressourcen finden Sie in der Liste der überwachten Ressourcen.

    Das folgende Beispiel zeigt ein resource-Feld:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • Im type-Feld wird die überwachte Ressource als gce_instance aufgelistet. Dies bedeutet, dass diese Messungen von einer Compute Engine-VM-Instanz stammen.

    • Das Feld labels enthält Schlüssel/Wert-Paare mit zusätzlichen Informationen zur überwachten Ressource. Bei einem gce_instance-Typ geben die Labels die VM-Instanz an, die überwacht wird.

  • Im metric-Feld wird beschrieben, was gemessen wird.

    Das folgende Beispiel zeigt ein metric-Feld:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • Bei Google Cloud-Diensten gibt das Feld type den Dienst und das zu überwachende Element an. In diesem Beispiel misst der Compute Engine-Dienst die CPU-Auslastung. Wenn das Feld type mit custom oder external beginnt, ist der Messwert entweder ein benutzerdefinierter Messwert oder ein von einem Drittanbieter definierter Messwert.
    • Das Feld labels enthält Schlüssel/Wert-Paare mit zusätzlichen Informationen zur Messung. Diese Labels werden als Teil von MetricDescriptor definiert, einer Datenstruktur, die die Attribute der gemessenen Daten definiert. Das MetricDescriptor für den Messwert compute.googleapis.com/instance/cpu/utilization enthält das Label instance_name.
  • Das Feld metricKind beschreibt die Beziehung zwischen aufeinanderfolgenden Messungen innerhalb einer Zeitachse:

    • GAUGE-Messwerte speichern den Wert eines zu einer bestimmten Zeit gemessenen Elements, z. B. einen stündlichen Temperaturdatensatz.

    • In CUMULATIVE-Messwerten wird der kumulierte Wert des Objekts gespeichert, der zu einer bestimmten Zeit gemessen wurde, z. B. der Kilometerstand in einem Fahrzeug.

    • DELTA-Messwerte speichern Änderung an den Werten eines Elements, die zu einem bestimmten Zeitraum gemessen wurden, z. B. eine Aktienübersicht, die die Gewinne oder Verluste der Aktie anzeigt.

  • Das valueType-Feld beschreibt den Datentyp für die Messung: INT64, DOUBLE, BOOL, STRING oder DISTRIBUTION.

Beim Cloud Monitoring wird für jede Kombination aus Ressourcen- und Messwertlabelwerten eine Zeitachse geschrieben. Mit diesen Labels können Sie Zeitreihen gruppieren und filtern. Wenn ein Google Cloud-Projekt beispielsweise mehrere Compute Engine-VM-Instanzen enthält, ist die CPU-Auslastung für jede VM-Instanz eine eindeutige Zeitreihe. So können Sie diese Daten unter anderem darstellen:

  • Sie können die CPU-Auslastung pro VM-Instanz anzeigen.
  • Um die CPU-Auslastung für eine bestimmte VM-Instanz anzuzeigen, können Sie die Zeitachse nach einem einzelnen Wert des instance_id-Labels filtern.
  • Sie können die VM-Instanzen nach dem machine_type-Label gruppieren und dann die durchschnittliche CPU-Auslastung anzeigen. Folgender Screenshot zeigt ein Diagramm mit dieser Konfiguration:

    Durchschnittliche CPU-Auslastung nach Computertyp.

Preise

Im Allgemeinen sind Cloud Monitoring-Systemmesswerte kostenlos, Messwerte von externen Systemen, Agents oder Anwendungen hingegen nicht. Abrechenbare Messwerte werden entweder nach der Anzahl der aufgenommenen Byte oder der Anzahl der aufgenommenen Stichproben abgerechnet.

Weitere Informationen zu den Preisen für Cloud Monitoring finden Sie in den folgenden Dokumenten:

Nächste Schritte

  • Informationen zur Konfiguration unseres Google Cloud-Projekts für die Anzeige von Messwerten für mehrere Google Cloud-Projekte und AWS-Konten finden Sie unter Messwertbereiche – Übersicht.