Cloud Monitoring-Übersicht

Dieses Dokument bietet einen Überblick über die Dienste von Cloud Monitoring. Mit diesen Diensten können Sie Verhalten, Zustand und Leistung Ihrer Anwendungen und anderer Google Cloud-Dienste besser verstehen. Cloud Monitoring erfasst und speichert Leistungsinformationen für die meisten Google Cloud-Dienste automatisch. Sie können Prometheus-Messwerte mithilfe von 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 von 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 seiner Dienste sowohl Google Cloud Console- als auch API-Unterstützung. Einige Dienste unterstützen auch die Google Cloud CLI oder Terraform. Mit den Cloud Monitoring API-Referenzseiten wie 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 und der anderen von Ihnen verwendeten Google Cloud-Dienste nachvollziehen können.

Warnungen und Benachrichtigungen

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

Jede Benachrichtigung enthält relevante Informationen über einen Fehler sowie 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 Dauer.

Der Benachrichtigungsdienst ist in viele Google Cloud-Dienste eingebunden. Wenn diese Integrationen vorhanden sind, wird möglicherweise ein Bereich mit empfohlenen Benachrichtigungen oder eine Schaltfläche in einem Diagramm angezeigt, mit der Sie eine Benachrichtigungsrichtlinie erstellen können. 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

Erstellen Sie synthetische Monitore, um die Verfügbarkeit, Konsistenz und Leistung Ihrer Dienste, Anwendungen, Webseiten und APIs zu testen. Beispielsweise können Sie HTTP-, HTTPS- und TCP-Endpunkte mithilfe von Verfügbarkeitsdiagnosen auf Reaktionsfähigkeit prüfen und sich benachrichtigen lassen, wenn ein Endpunkt nicht antwortet. Sie können auch eine Prüfung fehlerhafter Links erstellen, um eine Webseite zu crawlen und sich dann zu benachrichtigen, wenn fehlerhafte Links gefunden 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 erkennen und andere Details zu Ihren Daten anzuzeigen:

  • Der Dashboarddienst erstellt automatisch ein von Google Cloud verwaltetes Dashboard, wenn Sie Ihrem Google Cloud-Projekt eine Ressource hinzufügen. Ein Dashboard wird beispielsweise erstellt, wenn Sie eine Compute Engine-Instanz, eine Benachrichtigungsrichtlinie oder einen synthetischen Monitor erstellen. Mit diesen Dashboards können Sie Leistungs- und Konfigurationsinformationen wie die Laufwerksnutzung oder die IP-Adresse sowie Ereignisse ansehen.

    Erstellen Sie ein benutzerdefiniertes Dashboard, um festzulegen, welche Daten angezeigt werden und in welchem Format sie angezeigt werden sollen. Sie können beispielsweise ein Grafana-Dashboard importieren oder ein Dashboard aus einer Vorlage installieren. In Ihren benutzerdefinierten Dashboards können Diagramme, Tabellen, Logs und Fehlergruppen, Benachrichtigungsrichtlinien und Vorfälle sowie Text angezeigt werden. Sie können auch benutzerdefinierte Dashboards für Personen oder Gruppen in Ihrer Organisation freigeben und diese Dashboards so konfigurieren, dass Ereignisse angezeigt werden.

    Sie können Dashboards mit der Google Cloud Console oder der API erstellen und verwalten.

  • Mit dem Diagrammdienst Metrics Explorer können Sie Zeitreihendaten schnell visualisieren und untersuchen. In den Diagrammeinstellungen können Sie aktuelle Daten mit vorherigen Daten vergleichen, Ausreißer und Perzentile anzeigen sowie mehrere Messwerte anzeigen. Sie können auch in einem benutzerdefinierten Dashboard Diagramme speichern.

Datenerhebung und -speicherung

Cloud Monitoring erfasst und speichert die folgenden Arten von Messwertdaten:

  • Logbasierte Messwerte, mit denen numerische Informationen zu den in Cloud Logging geschriebenen Logs aufgezeichnet werden. Von Google definierte logbasierte Messwerte umfassen 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, die die Daten beschreibt, die Sie überwachen oder als Diagramm darstellen möchten:

  • Google Cloud Console: Sie können eine Abfrage erstellen, indem Sie eine Auswahl in Menüs treffen oder eine Abfrage schreiben. Abfrageeditoren sind für Prometheus Query Language (PromQL) und Monitoring Query Language (MQL) verfügbar. Die Abfrageeditoren stellen Syntaxprüfungen und Vorschläge bereit. 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 und nicht einzeln verwalten möchten, erstellen Sie eine Ressourcengruppe. Eine Ressourcengruppe ist eine dynamische Sammlung von Ressourcen, die einige von Ihnen angegebene Kriterien erfüllen. Wenn Sie Ressourcen hinzufügen oder entfernen, z. B. durch Hinzufügen von Compute Engine-VM-Instanzen zu Ihrem Google Cloud-Projekt, ä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. Beispielsweise können Sie eine Verfügbarkeitsdiagnose konfigurieren, um eine Ressourcengruppe zu überwachen. Für Diagramme und Benachrichtigungsrichtlinien können Sie auch basierend auf 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 Schnittstelle ansehen 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 Zeitachsen, die im Umfangsprojekt festlegen gespeichert sind. Das den Umfang festlegende Projekt ist das Projekt, das Sie in der Projektauswahl der Google Cloud Console ausgewählt haben. Das den Umfang festlegende Projekt speichert die von Ihnen konfigurierten Benachrichtigungen, synthetischen Monitorings, Dashboards und Monitoringgruppen.

Das den Umfang festlegende Projekt hostet auch einen Messwertbereich. 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 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 genutzten 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 dazu, was eine Zeitreihe enthält:

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

    Hier ein Beispiel für 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 in der Zeitachse enthaltenen Daten und auf die Definitionen dieser Daten beziehen.

  • Das Feld resource beschreibt die Hardware- oder Softwarekomponente, die überwacht wird. 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.

    Hier ein Beispiel für 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 liefern. Beim Typ gce_instance geben die Labels die zu überwachende VM-Instanz an.

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

    Hier ein Beispiel für ein metric-Feld:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • Bei Google-Diensten 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 liefern. Diese Labels werden als Teil der MetricDescriptor definiert, einer Datenstruktur, die die Attribute der gemessenen Daten definiert. Der 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 eine Zeitachse für jede Kombination von Ressourcen- und Messwertlabelwerten. 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 Zeitachse. Hier sind einige Möglichkeiten, wie Sie diese Daten anzeigen 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 die VM-Instanzen nach dem Label machine_type gruppieren und sich 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 jedoch nicht. Abrechenbare Messwerte werden entweder nach der Anzahl der Byte oder der Anzahl der aufgenommenen Stichproben berechnet.

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

Nächste Schritte

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