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 nachvollziehen. Cloud Monitoring erfasst und speichert automatisch Leistungsinformationen für die meisten Google Cloud -Dienste. Sie können Prometheus-Messwerte mit Google Cloud Managed Service for Prometheus erfassen. Wenn Sie den Ops-Agent auf Ihren Compute Engine-VMs installieren, können Sie Messwerte und Logs aus Ihren Anwendungen und aus Drittanbieteranwendungen erfassen.

Die Benachrichtigungs-, Test- und Visualisierungsdienste von Cloud Monitoring helfen Ihnen, wichtige Fragen wie die folgenden zu beantworten:

  • Wie hoch ist die Last auf meinem Dienst?
  • Reagiert meine Website richtig?
  • Läuft mein Dienst gut?
  • Wie ist der Zustand meiner App Hub-Anwendung?

Cloud Monitoring bietet sowohl Google Cloud Konsolen- als auch API-Unterstützung für die meisten seiner Dienste. Einige Dienste unterstützen auch die Google Cloud CLI oder Terraform. Auf den Cloud Monitoring API-Referenzseiten, z. B. auf der Seite alertPolicies.list, können Sie API-Aufrufe direkt von der Referenzseite aus testen.

Cloud Monitoring-Dienste

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

Vorfälle 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. In der Regel werden in einem Datensatz der Status des Vorfalls, Links zu Logs, ein Diagramm der aufgezeichneten Messwertdaten, Labels und die Dauer aufgeführt.

Der Benachrichtigungsdienst ist in viele Google Cloud Dienste integriert. 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 müssen nur die Liste der Personen oder Gruppen angeben, die benachrichtigt werden sollen.

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

Proaktives Monitoring und Validierung

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

Sie können synthetische Monitore über die Google Cloud -Konsole, die Cloud Monitoring API, die Google Cloud CLI oder Terraform erstellen und verwalten.

Datenvisualisierung

Wenn Sie Google Cloud -Ressourcen instanziieren oder Anwendungen bei App Hub registrieren, erstellt der Dashboard-Dienst automatisch Google Cloud-verwaltete Dashboards. Diese Dashboards enthalten kuratierte Informationen, mit denen Sie den Zustand Ihrer Ressourcen und Anwendungen nachvollziehen können. Für eine App Hub-Anwendung werden beispielsweise Dashboards für die Anwendung und für jeden ihrer Dienste und Arbeitslasten erstellt. Diese Dashboards enthalten Informationen wie Protokoll- oder Messwertdaten einer Anwendung und die Anzahl der offenen Benachrichtigungen.

Die von Google Cloud erstellten Dashboards enthalten möglicherweise genügend Informationen, um eine Untersuchung abzuschließen. Sie liefern jedoch möglicherweise nicht die genauen Daten, die Sie benötigen, um Trends zu erkennen, Ausreißer zu identifizieren oder andere Details zu Ihren Daten zu sehen. Für diese Aufgaben können Sie die Dienste Dashboard und Diagramme 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 er Messwerte von Drittanbieter-Plug-ins wie Apache- oder Nginx-Webservern oder MongoDB- oder PostgreSQL-Datenbanken erfasst.
  • Logbasierte Messwerte, mit denen 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, die die Daten beschreibt, die Sie überwachen oder in einem Diagramm darstellen möchten:

  • Google Cloud -Konsole: Sie können Ihre Abfrage erstellen, indem Sie Menüauswahlen treffen oder eine Abfrage schreiben. Abfrage-Editoren 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-Filter-Ausdruck schreiben.

  • Cloud Monitoring API: Die API unterstützt PromQL-Abfragen (Prometheus Query Language), 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 bestimmte von Ihnen angegebene Kriterien erfüllen. Wenn Sie Ressourcen hinzufügen oder entfernen, z. B. durch Hinzufügen von Compute Engine-VM-Instanzen zu IhremGoogle Cloud -Projekt, ändert sich die Mitgliedschaft in der Gruppe automatisch. Hier einige 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 sie 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 Zeitreihendaten für mehrereGoogle Cloud -Projekte und AWS-Konten über eine einzige Benutzeroberfläche 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 Scoping-Projekt gespeichert sind. Das den Umfang festlegende Projekt ist das Projekt, das Sie mit der Projektauswahl derGoogle 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. Im Messwertbereich werden die Projekte und Konten definiert, deren Messwerte für das Scoping-Projekt sichtbar sind. Sie können den Messwertbereich so konfigurieren, dass Zeitachsendaten 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.

Hier sind einige Details zu den Inhalten einer Zeitachse:

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

    Im Folgenden sehen Sie 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 Daten in der Zeitreihe 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.

    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 liefern. Bei einem Typ gce_instance 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 wird im Feld type der Dienst und das zu überwachende Element angegeben. In diesem Beispiel wird die CPU-Auslastung vom Compute Engine-Dienst gemessen. 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. Das ist eine 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.
  • 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.

Cloud Monitoring schreibt eine Zeitachse für jede Kombination aus Ressourcen- und Messwertlabelwerten. Sie können diese Labels verwenden, um Zeitreihen zu gruppieren und zu 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, diese Daten darzustellen:

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

Preise

Im Allgemeinen sind Cloud Monitoring-Systemmesswerte kostenlos, Messwerte aus externen Systemen, Agents oder Anwendungen jedoch 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.