Komponenten des Messwertmodells

Das Monitoring-Modell von Cloud Monitoring besteht aus drei Hauptkonzepten:

  • Überwachte Ressourcentypen
  • Messwerttypen
  • Zeitreihe

Im Dokument Das Messwertmodell werden diese Cloud Monitoring-Konzepte allgemein beschrieben. Wenn Sie mit diesen Konzepten noch nicht vertraut sind, lesen Sie zuerst diese Seite.

Auf dieser Seite werden Messwerttypen, überwachte Ressourcen und Zeitachsen sowie einige verwandte Konzepte ausführlicher beschrieben. Diese Konzepte gelten für alle Monitoring-Messwerte.

Die Informationen auf dieser Seite sollten Sie kennen, wenn Sie eine der folgenden Aktionen ausführen möchten:

Weitere Informationen zu diesen Konzepten und deren Zuordnung zur Cloud Monitoring API finden Sie unter Struktur von Zeitachsen. Dies gilt insbesondere, wenn Sie die Monitoring API oder benutzerdefinierte Messwerte verwenden möchten.

Anmerkungen zu Labels

Typen von überwachten Ressourcen und Messwerttypen unterstützen beide Labels, mit denen Daten während der Analyse klassifiziert werden können. Beispiel:

  • Ein Typ einer überwachten Ressource für eine virtuelle Maschine kann Labels für den Standort der Maschine und die Projekt-ID enthalten, die der Maschine zugeordnet ist. Wenn Informationen zur überwachten Ressource aufgezeichnet werden, enthalten die Informationen die Werte für die Labels. Eine überwachte Ressource kann zusätzlich zu den für den Typ der überwachten Ressource definierten Labels auch vom System oder Nutzer bereitgestellte Metadatenlabels haben.
  • Ein Messwerttyp, der API-Anfragen zählt, kann Labels haben, um den Namen der aufgerufenen Methode und den Status der Anfrage zu erfassen.

Die Verwendung von Labels wird unter Labels ausführlicher erläutert.

Überwachte Ressourcentypen

Eine überwachte Ressource ist eine Ressource, von der Messwertdaten erfasst werden. Cloud Monitoring unterstützt ungefähr 270 Arten von überwachten Ressourcen.

Zu den überwachten Ressourcentypen gehören generische Knoten und Aufgaben, Architekturkomponenten in Google Kubernetes Engine, -Tabellen in Bigtable, verschiedene AWS-Ressourcen und .

Jeder Typ von überwachten Ressourcen wird formell in einer Datenstruktur beschrieben, die als Deskriptor für überwachte Ressourcen bezeichnet wird. Weitere Informationen finden Sie unter Überwachte Ressourcendeskriptoren.

Jeder unterstützte Typ von überwachten Ressourcen hat einen Eintrag in der Liste der überwachten Ressourcen. Die Einträge in der Liste werden aus den Deskriptoren der überwachten Ressourcen erstellt. In diesem Abschnitt werden die in einem Deskriptor für überwachte Ressourcen erfassten Informationen beschrieben und erläutert, wie diese in der Liste dargestellt werden.

Ein Beispieltyp für überwachte Ressourcen

Die folgende Abbildung zeigt den Eintrag in der Liste für einen Cloud Storage-Bucket:

Liste für den Cloud Storage-Bucket

Alle Einträge in der Liste enthalten die folgenden Informationen:

  • Typ: Der Header im Eintrag enthält den Typ der überwachten Ressource, gcs_bucket im Beispiel.
  • Anzeigename: Eine kurze Beschreibung der überwachten Ressource.
  • Beschreibung: Eine längere Beschreibung der überwachten Ressource.
  • Labels: Eine Reihe von Dimensionen zum Klassifizieren von Daten. Weitere Informationen finden Sie unter Labels.

Messwerttypen

Ein Messwerttyp beschreibt Messungen, die von einer überwachten Ressource erfasst werden können. Ein Messwerttyp enthält eine Beschreibung dessen, was gemessen wird und wie die Messungen interpretiert werden. Cloud Monitoring unterstützt ungefähr 6.500 Messwerttypen und bietet Ihnen die Möglichkeit, neue Typen zu definieren.

Zu den Messwerttypen gehören die Anzahl der API-Aufrufe, Statistiken zur Laufwerksauslastung, der Speicherverbrauch und vieles mehr.

Jeder Messwerttyp wird formell in einer Datenstruktur beschrieben, die als Messwertdeskriptor bezeichnet wird. Weitere Informationen finden Sie unter Messwertdeskriptoren.

Für jeden der integrierten Messwerttypen gibt es einen Eintrag auf der Seite mit der Messwertliste. Die Einträge in diesen Tabellen werden aus den Messwertdeskriptoren erstellt. In diesem Abschnitt werden die in einem Messwerttyp erfassten Informationen beschrieben und erläutert, wie sie im Referenzmaterial dargestellt werden.

Ein Beispielmesswerttyp

Die folgende Abbildung zeigt einen Eintrag für einen Cloud Storage-Messwerttyp:

Ein Auszug aus der Messwertliste für Cloud Storage.

Die Messwerttypen werden in einer Tabelle angezeigt und in der Kopfzeile der Tabelle wird das Layout der Informationen erläutert. In diesem Abschnitt wird ein Eintrag als Beispiel verwendet, aber alle Tabellen verwenden dasselbe Format.

Der Beispieleintrag in der Cloud Storage-Tabelle enthält die folgenden Informationen zu einem Messwerttyp:

  • Messwerttyp: Eine Kennung für den Messwerttyp, im Beispiel storage.googleapis.com/api/request_count.

    Das Präfix storage.googleapis.com fungiert als Namespace für Cloud Storage. Alle Messwerttypen, die einem bestimmten Typ von überwachten Ressourcen zugeordnet sind, verwenden denselben Namespace.

    Namespaces werden in den Tabelleneinträgen weggelassen.

    Alle mit Cloud Storage verknüpften Messwerttypen sind in der Tabelle für Cloud Storage-Messwerte aufgeführt.

  • Startphase: Ein farbiger Block, der die Startphase des Messwerttyps mit einem Wert wie Alpha, Beta und GA angibt.

  • Anzeigename: Ein kurzer String, der den Messwerttyp beschreibt, im Beispiel "Anzahl der Anfragen".

  • Art, Type, Unit: Diese Zeile enthält Informationen zur Interpretation der Datenwerte. Im Beispiel wird ein Delta-Messwert als 64-Bit-Ganzzahl ohne Einheit (das ist der Wert 1) aufgezeichnet.

    • Art:Dieses Beispiel ist ein Delta-Messwert, der eine Änderung über einen bestimmten Zeitraum erfasst. Das heißt, jeder Datenpunkt erfasst die Anzahl der API-Aufrufe seit dem Schreiben des vorherigen Datenpunkts. Weitere Informationen zu Typen finden Sie unter Werttypen und Messwerttypen.

    • Typ:In diesem Beispiel werden die Werte als 64-Bit-Ganzzahlen aufgezeichnet. Weitere Informationen zu Typen finden Sie unter Werttypen und Messwerttypen.

    • Einheit: Für diesen Messwert ist keine explizite Einheit erforderlich, da er eine Zahl darstellt. Die Zahl 1 gibt an, dass keine Einheit benötigt wird.

  • Überwachte Ressourcen: Die überwachten Ressourcen, für die dieser Messwerttyp verfügbar ist. Die Werte hier sind die gleichen wie unter Typen von überwachten Ressourcen beschrieben.

  • Beschreibung: Ausführlichere Informationen darüber, was wie aufgezeichnet wird Wählen Sie die Option kursiv, um sie von den Labels zu unterscheiden.

  • Labels: Eine Reihe von Dimensionen zum Klassifizieren von Daten. Weitere Informationen finden Sie unter Labels.

Wenn Sie über die Cloud Monitoring API auf Monitoringdaten zugreifen, schließen Sie ein Google Cloud-Projekt in den API-Aufruf ein. Sie können nur die Daten abrufen, die für dieses Google Cloud-Projekt sichtbar sind. Wenn Sie beispielsweise die Daten Ihres Projekts für den Messwerttyp storage.googleapis.com/api/request_count anfordern, wird nur die API-Anzahl für Cloud Storage-Buckets in Ihrem Projekt angezeigt. Wenn Ihr Projekt keine Cloud Storage-Buckets verwendet, werden keine Messwertdaten zurückgegeben.

Integrierte Messwerttypen

Integrierte Messwerttypen werden von Google Cloud-Diensten definiert, einschließlich Cloud Monitoring. Diese Messwerttypen beschreiben Standardmessungen für eine breite Palette gängiger Infrastruktur und stehen allen Nutzern zur Verfügung.

Die Messwertliste enthält alle integrierten Messwerttypen. Die auf der Seite [Liste der externen Messwerte][metrics-external] aufgeführten Messwerte sind eine spezielle Teilmenge der integrierten Messwerte, die von Cloud Monitoring in Zusammenarbeit mit Open-Source-Projekten oder Drittanbietern definiert werden. Normalerweise haben diese Messwerte das Präfix external.googleapis.com.

Benutzerdefinierte Messwerte

Wenn Sie Ihre Anwendung erstellen, haben Sie möglicherweise bestimmte Attribute, die Sie messen möchten, für die aber keine Messwerte in Cloud Monitoring integriert sind. Mit Cloud Monitoring können Sie eigene Messwerttypen definieren oder Messwerttypen aus externen Quellen importieren. Diese Messwerttypen werden als benutzerdefinierte Messwerte bezeichnet. Wenn ein Messwert das Präfix custom.googleapis.com oder prometheus.googleapis.com hat, ist er ein benutzerdefinierter Messwert. Die letzteren Messwerte stammen in der Regel aus Google Cloud Managed Service for Prometheus.

Wenn Sie beispielsweise die Anzahl der von Ihren Geschäften verkauften Widgets erfassen möchten, müssen Sie einen benutzerdefinierten Messwert verwenden. Weitere Informationen finden Sie unter Benutzerdefinierte Messwerte – Übersicht.

Labels

Ein Label ist ein Schlüssel/Wert-Paar, mit dem Informationen zu einem Datenwert angegeben werden können.

Labels für Messwerte und überwachte Ressourcen

Die Definitionen der Messwert- und überwachten Ressourcentypen enthalten Labels. Labels sind Klassifikatoren für die erfassten Daten. Sie dienen der Kategorisierung der Daten für eine eingehendere Analyse. Beispiel:

  • Der Cloud Storage-Messwerttyp storage.googleapis.com/api/request_count hat zwei Labels, response_code und method.
  • Der überwachte Cloud Storage-Ressourcentyp gcs_bucket hat drei Labels: project_id, bucket_name und location. Die Labels identifizieren bestimmte Instanzen des Ressourcentyps.

Daher werden alle Daten, die für API-Anfragen aus einem Cloud Storage-Bucket erfasst werden, nach der aufgerufenen Methode, dem Antwortcode für den Aufruf, dem Namen, dem Standort und dem Projekt des betreffenden Buckets klassifiziert. Der Satz von Labels variiert je nach Messwert oder Typ der überwachten Ressource. Die verfügbaren Labels sind auf den Seiten Messwertliste und Liste der überwachten Ressourcen dokumentiert.

Durch das Erfassen des Antwortcodes, des Methodennamens und des Standorts beim Zählen von API-Aufrufen können Sie dann die Anzahl der Aufrufe einer bestimmten API-Methode oder die Anzahl der fehlgeschlagenen Aufrufe einer Methode oder die Anzahl der fehlgeschlagenen Aufrufe einer bestimmten Methode an einem bestimmten Standort abrufen.

Die Anzahl der Labels und die Anzahl der Werte, die jeweils angenommen werden können, wird als Kardinalität bezeichnet. Die Kardinalität ist die Anzahl der möglichen Zeitreihen, die für ein Paar aus Messwert- und überwachten Ressourcentypen erfasst werden können: Für jede Kombination von Werten ihrer Labels gibt es eine Zeitachse. Weitere Informationen finden Sie unter Kardinalität: Zeitreihen und Labels.

Ressourcen-Metadatenlabels

Zusätzlich zu den für die Messwert- und überwachten Ressourcentypen definierten Labels erfasst Monitoring intern zusätzliche Informationen zu überwachten Ressourcen und speichert diese Informationen in Systemmetadatenlabels. Diese Systemmetadatenlabels stehen Nutzern als schreibgeschützte Werte zur Verfügung. Bei einigen Ressourcen können Nutzer auch eigene Labels für Ressourcenmetadaten erstellen, wenn sie Ressourcen wie VM-Instanzen in der Google Cloud Console konfigurieren.

Die System- und Nutzermetadatenlabels werden zusammen als Ressourcenmetadatenlabels bezeichnet. Sie können diese Labels wie die Labels verwenden, die für die Messwert- und überwachten Ressourcentypen in Zeitachsenfiltern definiert sind. Weitere Informationen zum Filtern finden Sie unter Filter überwachen.

Zeitreihe: Daten aus einer überwachten Ressource

In diesem Abschnitt wird erläutert, was Monitoringdaten sind und wie sie in Zeitachsen organisiert sind. Hier werden die Konzeptkomponenten des Messwertmodells zu konkreten Artefakten.

Cloud Monitoring speichert regelmäßig Messwerte für Paare von Messwert- und überwachten Ressourcentypen. Die Messwerte werden in Zeitachsen erfasst. Jede Zeitachse enthält die folgenden Elemente:

  • Der Name des Messwerttyps, zu dem die Zeitachse gehört, und eine Kombination von Werten für die Labels des Messwerts.

  • Eine Reihe von (timestamp, value) Paaren. Der Wert ist die Messung und der Zeitstempel der Zeitpunkt, zu dem die Messung durchgeführt wurde.

  • Die überwachte Ressource, die die Quelle der Zeitachsendaten ist, und eine Kombination von Werten für die Labels der Ressource.

Für jede Kombination aus Messwert- und Ressourcenlabels, die Daten generieren, wird eine Zeitachse erstellt.

Stilisiertes Beispiel: Der Messwerttyp storage.googleapis.com/api/request_count könnte viele Zeitachsen für die Cloud Storage-Buckets Ihres Projekts haben. Die folgende Abbildung zeigt einige mögliche Zeitachsen.

In der Abbildung stellt der Wert bucket: xxxx den Wert des Labels bucket_name im Typ der überwachten Ressource dar und response_code und method sind Label im Messwerttyp. Für jede Kombination von Werten in den Ressourcen- und Messwertlabels gibt es eine Zeitachse. Die Abbildungen zeigen einige davon:

Bilder, die mehrere Zeitachsen in einem Messwert zeigen

Cloud Monitoring zeichnet keine „leeren“ Zeitachsen auf. Wenn Sie im Cloud Storage-Bucket-Beispiel keinen bestimmten Bucket verwenden oder nie eine bestimmte API-Methode aufrufen, werden keine Daten für dieses Label erfasst und es wird in keiner Zeitreihe erwähnt. Dies bedeutet, dass der Messwerttyp nie angezeigt wird, wenn Ihr Projekt keine Daten für einen bestimmten Messwert enthält.

Die Messwerttypen geben nicht an, welche Arten von überwachten Ressourcen in der Zeitreihe der Messwerte zu finden sind. Für Cloud Storage gibt es nur einen überwachten Ressourcentyp: gcs_bucket. Einige Messwerttypen sind mit mehr als einer überwachten Ressource verknüpft.

Live-Beispiel: Wenn Sie ein Google Cloud-Projekt haben, können Sie das APIs Explorer-Widget ausprobieren, das sich auf der Referenzseite für die Methode timeSeries.list in der Monitoring API befindet.

  1. Öffnen Sie die Referenzseite für timeSeries.list.

  2. Geben Sie im Bereich Testen Sie diese Methode Folgendes ein:

    • Name: projects/PROJECT_ID Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.
    • Filter: metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
    • interval.start_time: Geben Sie die Startzeit ein und achten Sie darauf, dass sie 20 Minuten vor dem Ende liegt.
    • interval.end_time: Geben Sie das Ende ein.

Wenn die Anfrage erfolgreich ist, werden die Zeitachsendaten zurückgegeben, die der Anfrage entsprechen. Es sieht wie das folgende Snippet aus:

{
  "timeSeries": [
    {
      "metric": {
        "labels": {
          "severity": "INFO",
          "log": "compute.googleapis.com/activity_log"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "0",
          "zone": "us-central1",
          "project_id": "your-project-id"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
        "interval": {
            "startTime": "2024-03-29T13:53:00Z",
            "endTime": "2024-03-29T13:54:00Z"
          },
          "value": {
            "int64Value": "0"
          }
        },
        ...
      ]
    },
    ...
  ]
}

Weitere Informationen zur Verwendung des APIs Explorer-Widgets und zur Fehlerbehebung finden Sie unter APIs Explorer.

Kardinalität: Zeitachsen und Labels

Jede Zeitachse ist einem bestimmten Paar von Messwert- und überwachten Ressourcentypen zugeordnet. Die Messwert- und überwachten Ressourcentypen bieten jeweils eine bestimmte Anzahl von Labels. In Cloud Monitoring entspricht die Anzahl der eindeutigen Wertekombinationen für den Satz von Labels der Kardinalität des Messwerttyps oder des Typs von überwachter Ressource. Diese Werte werden als Messwertkardinalität und Ressourcenkardinalität bezeichnet. Sie bestimmen, wie viele mögliche Zeitachsen (die Gesamtkardinalität) generiert werden können.

Messwert, Ressource und Gesamtkardinalität

Angenommen, Sie haben einen Messwerttyp, der die beiden Labels color und zone angibt. Die Kardinalität des Messwerts hängt von der Anzahl der möglichen Werte dieser Labels ab:

  • Wenn nur drei Farben möglich sind: „Rot“, „Grün“ und „Blau“, kann das Label color bis zu drei verschiedene Werte haben.
  • Wenn nur zwei Zonen möglich sind, "east" und "west", kann das Label zone bis zu zwei unterschiedliche Werte haben.

Die Kardinalität dieses Messwerts ist 6 (3 × 2). Wenn es 1.000 mögliche Werte für das Label color gibt und jede Farbe in jeder Zone vorkommen kann, beträgt die Messwertkardinalität 2.000 (1.000 × 2). Dieselbe Berechnung wird angewendet, wenn es sich um Labels für einen Typ von überwachter Ressource und nicht um einen Messwerttyp handelt.

Dieser Kardinalitätswert ist ein Maximalwert, der auf der Anzahl der Kombinationen möglicher Labelwerte basiert. Der effektive reale Wert kann erheblich niedriger sein, wenn nicht alle Kombinationen von Labelwerten vorkommen. Wenn beispielsweise jede Farbe nur in einer Zone und nicht in beiden Zonen erscheint, beträgt die maximale Anzahl der Zeitachsen, die Sie im laufenden System sehen, 1.000. Der Nutzen einer effektiven Kardinalität hängt jedoch von den Gründen ab, aus denen bestimmte Kombinationen nicht angezeigt werden, und davon, ob sie in Zukunft möglicherweise auftreten werden.

Die Kardinalität hängt von den Werten ab, die ein Label haben kann.

Wenn Zeitreihendaten geschrieben werden, werden sie nach Messwert- und überwachten Ressourcentypen klassifiziert. Bei einem Paar aus Messwert und Ressourcentypen ist die Gesamtkardinalität das Produkt aus der Messwertkardinalität und der Ressourcenkardinalität. Wenn Sie einen Messwert mit einer Kardinalität von 1.000 und eine Ressource mit einer Kardinalität von 100 haben und jeder Labelwert angezeigt wird, haben Sie 100.000 Zeitachsen (1.000 × 100).

Wenn Sie eigene Messwerte erstellen, sollten Sie darauf achten, dass die Gruppe der möglichen Werte für jedes Label begrenzt ist. Der bevorzugte Ansatz ist ein kleiner Satz diskreter Werte wie „Rot“, „Grün“ und „Blau“. Wenn Sie beispielsweise 8-Bit-RGB-Werte für das Label color verwenden, sind über 16 Millionen verschiedene Werte möglich. Verwenden Sie für Messwertlabels keine Werte mit hoher Auflösung wie Zeitstempel, eindeutige IDs, Nutzer-IDs, IP-Adressen, nicht parametrierte URLs usw.

Abfrageleistung und -kardinalität

Bei einer Datenabfrage ist das angeforderte Datenvolumen der wichtigste Faktor für die Abfrageleistung: Eine Abfrage für eine Stunde an Daten ist in der Regel schneller als dieselbe Abfrage, die sechs Monate umfasst. Die von einer Anfrage zurückgegebene Datenmenge ist jedoch auch von der Anzahl der Zeitreihen in einer Anfrage abhängig. Eine Abfrage, die Daten für einen Messwert mit niedriger Kardinalität aus zwei Monaten abruft, ist aufgrund der abgerufenen Datenmenge wahrscheinlich schneller als eine andere Abfrage, die Daten für einen Messwert von zwei Monaten mit sehr hoher Kardinalität abruft.

Die Kardinalität hängt hauptsächlich von der Anzahl der Werte ab, die Ihre Labels haben können, nicht von der Anzahl der Labels. Im Allgemeinen haben Sie keine Kontrolle über die Kardinalität von Ressourcen, z. B. wenn sich die Anzahl der Pods oder VMs je nach Geschäftsanforderungen ändert. Wenn Sie Messwerte in Cloud Monitoring aufnehmen, haben Sie jedoch häufig eine gewisse Kontrolle über die Kardinalität der Messwerte, anstatt Systemmesswerte zu verwenden. Bei benutzerdefinierten Messwerten bestimmen Sie beispielsweise die Labels und die möglichen Werte dafür. Wenn Sie Prometheus-Messwerte aufnehmen, können Sie mit Labels versehen, um den Satz von Labels zu ändern und Zeitachsen zu löschen, die nicht aufgenommen werden sollen.

Auf der Seite Messwertverwaltung von Cloud Monitoring können Sie Messwerte identifizieren, bei denen Kardinalitätsprobleme auftreten können. So rufen Sie die Seite Messwertverwaltung auf:

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend  Messwertverwaltung aus:

    Zur Messwertverwaltung

  2. Wählen Sie in der Symbolleiste das Zeitfenster aus. Standardmäßig werden auf der Seite Messwertverwaltung Informationen zu den Messwerten angezeigt, die am Vortag erfasst wurden.

Weitere Informationen zur Seite Messwertverwaltung finden Sie unter Messwertnutzung ansehen und verwalten.

Technischen Hintergrund dazu, wie Cloud Monitoring Zeitachsendaten speichert und abruft, finden Sie unter Monarch: Google's Planet-Scale In-Memory Time Series Database.

Informationen zu Limits für benutzerdefinierte Messwerte in Cloud Monitoring finden Sie unter Benutzerdefinierte Messwerte.