Cloud Monitoring-Übersicht

Dieses Dokument bietet einen Überblick über die von Cloud Monitoring bereitgestellten Dienste. Diese Dienste können Ihnen helfen, das Verhalten, den Zustand und die Leistung Ihrer Anwendungen und anderer Google Cloud-Dienste zu verstehen. Cloud Monitoring erfasst und speichert Leistungsinformationen für die meisten Google Cloud-Dienste automatisch. Sie können Prometheus-Messwerte mit Google Cloud Managed Service for Prometheus erfassen. Wenn Sie den Ops-Agent auf Ihren virtuellen Compute Engine-Maschinen (VMs) installieren, können Sie Messwerte und Logs aus Ihren Anwendungen und von Drittanbieteranwendungen erfassen.

Mit den Benachrichtigungs-, Test- und Visualisierungsdiensten von Cloud Monitoring können Sie wichtige Fragen wie die folgenden beantworten:

  • 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 API-Aufrufe direkt auf der Referenzseite testen.

Cloud Monitoring-Dienste

Cloud Monitoring bietet verschiedene Dienste, mit denen Sie den Zustand und die Leistung Ihrer Anwendungen sowie der anderen von Ihnen verwendeten Google Cloud-Dienste ermitteln 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 über einen Fehler und einen Link zu einem Vorfall. Ein Vorfall ist ein dauerhafter Datensatz, in dem Informationen gespeichert werden, mit denen Sie den Fehler beheben können. In der Regel enthält ein Eintrag den Status des Vorfalls, Links zu Logs, 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 oder in einem Diagramm eine Schaltfläche zum Erstellen einer Benachrichtigungsrichtlinie angezeigt. In beiden Fällen sind die Benachrichtigungsrichtlinien vorkonfiguriert. Sie geben nur die Liste der Personen oder Gruppen an, 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

Sie können synthetische Monitore erstellen, um die Verfügbarkeit, Konsistenz und Leistung Ihrer Dienste, Anwendungen, Webseiten und APIs zu testen. Sie können beispielsweise mit Verfügbarkeitsdiagnosen die Reaktionsfähigkeit von HTTP-, HTTPS- und TCP-Endpunkten prüfen und sich dann benachrichtigen lassen, wenn ein Endpunkt nicht antwortet. Sie können auch eine Prüfung für fehlerhafte Links erstellen, um eine Webseite zu crawlen und dann eine Benachrichtigung zu erhalten, wenn fehlerhafte Links gefunden werden.

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

Datenvisualisierung

Um Ihre Daten zu visualisieren, um Trends zu erkennen, Ausreißer zu erkennen und andere Details Ihrer Daten anzusehen, können Sie das Dashboard und die Diagrammdienste verwenden:

Datenerhebung und -speicherung

Cloud Monitoring erfasst und speichert die folgenden Arten von Messwertdaten:

  • 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 Drittanbieter-Plug-ins wie Apache- oder Nginx-Webservern oder MongoDB- oder PostgreSQL-Datenbanken erfasst werden.
  • Logbasierte Messwerte, die numerische Informationen zu den Logs aufzeichnen, die in Cloud Logging geschrieben wurden. Die von Google definierten logbasierten Messwerte umfassen die Anzahl der vom Dienst erkannten Fehler 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 bereitstellen, in der die Daten beschrieben werden, die Sie überwachen oder in einem Diagramm darstellen möchten:

  • Google Cloud Console: Sie können eine Abfrage erstellen, indem Sie eine Auswahl in den Menüs auswählen, oder 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 können, die in mehreren Google Cloud-Projekten gespeichert sind.

Ressourcen als Sammlung verwalten

Wenn Sie Ihre Ressourcen als Sammlung statt einzeln 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 und 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 wie eine einzelne Ressource überwachen. Sie können beispielsweise eine Verfügbarkeitsdiagnose konfigurieren, um eine Ressourcengruppe zu überwachen. 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 Zeitachsendaten für mehrere Google Cloud-Projekte und AWS-Konten über eine einzige Schnittstelle ansehen und überwachen möchten, konfigurieren Sie einen Messwertbereich für mehrere Projekte.

Standardmäßig bieten Cloud Monitoring-Seiten in der Google Cloud Console nur Zugriff auf die Zeitachsen, die im Projekt zur Festlegung des Umfangs gespeichert sind. Das den Umfang festlegende Projekt ist das Projekt, das Sie in der Projektauswahl der Google Cloud Console ausgewählt haben. Im Projekt zur Festlegung des Umfangs werden die von Ihnen konfigurierten Benachrichtigungen, synthetischen Monitore, Dashboards und Monitoringgruppen gespeichert.

Im Projekt zur Festlegung des Umfangs wird auch ein Messwertbereich gehostet. Mit dem Messwertbereich werden die Projekte und Konten definiert, deren Messwerte für das den Umfang festlegende Projekt sichtbar sind. Sie können den Messwertbereich so konfigurieren, dass Zeitreihendaten aus anderen Google Cloud-Projekten und aus AWS-Konten enthalten sind. 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 verwendeten Laufwerks.

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

Im Folgenden finden Sie einige Details zum Inhalt einer Zeitreihe:

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

    Das folgende Beispiel zeigt ein points-Array mit zwei Werten:

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

  • Im Feld resource wird die überwachte Hardware- oder Softwarekomponente beschrieben. 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, die zusätzliche Informationen zur überwachten Ressource enthalten. Beim Typ gce_instance identifizieren die Labels die überwachte VM-Instanz.

  • 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"
      },
    
    • Für Google-Dienste gibt das Feld type den Dienst an und was überwacht wird. 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, die zusätzliche Informationen zur Messung enthalten. Diese Labels werden als Teil der MetricDescriptor definiert, einer Datenstruktur, die die Attribute der gemessenen Daten definiert. Die MetricDescriptor für den Messwert compute.googleapis.com/instance/cpu/utilization enthält das Label instance_name.

  • Im Feld metricKind wird die Beziehung zwischen benachbarten Messungen innerhalb einer Zeitachse beschrieben:

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

Cloud Monitoring schreibt für jede Kombination von Ressourcen- und Messwertlabelwerten eine Zeitachse. Sie können diese Labels zum Gruppieren und Filtern von Zeitreihen verwenden. Wenn ein Google Cloud-Projekt beispielsweise mehrere Compute Engine-VM-Instanzen enthält, ist die CPU-Auslastung für jede VM-Instanz eine eindeutige Zeitachse. Hier sind einige Möglichkeiten, wie Sie diese Daten darstellen können:

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

    Durchschnittliche CPU-Auslastung, gruppiert nach Maschinentyp.

Preise

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

Weitere Informationen zu den Cloud Monitoring-Preisen finden Sie in den folgenden Dokumenten:

Nächste Schritte

  • Informationen zum Konfigurieren eines Google Cloud-Projekts, um Messwerte für mehrere Google Cloud-Projekte und AWS-Konten anzusehen, finden Sie unter Übersicht über Messwertbereiche.