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.

Für die folgenden Aktionen sollten Sie die Informationen auf dieser Seite kennen:

Weitere Informationen zu diesen Konzepten und ihrer Zuordnung zur Cloud Monitoring API finden Sie unter Struktur von Zeitachsen, insbesondere wenn Sie die Monitoring API oder benutzerdefinierte Messwerteverwenden 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 vom 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 etwa 270 Arten von überwachten Ressourcen.

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

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

In der folgenden Abbildung sehen Sie 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 etwa 6.500 Messwerttypen. Außerdem haben Sie 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 integrierten Messwerttyp gibt es einen Eintrag auf den Seiten 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, nehmen Sie ein Google Cloud-Projekt in den API-Aufruf auf. 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, werden die API-Zahlen nur 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.

In der Messwertliste werden alle integrierten Messwerttypen angezeigt. Die auf der Seite Liste der externen Messwerte aufgeführten Messwerte sind eine spezielle Teilmenge von integrierten Messwerten, die von Cloud Monitoring in Partnerschaft mit Open-Source-Projekten oder Drittanbietern definiert werden. In der Regel haben diese Messwerte das Präfix external.googleapis.com.

Benutzerdefinierte Messwerte

Wenn Sie Ihre Anwendung erstellen, möchten Sie möglicherweise bestimmte Attribute messen, für die in Cloud Monitoring keine Messwerte 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, handelt es sich um einen benutzerdefinierten Messwert. Letztere stammen normalerweise von 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 bereitgestellt werden können.

Messwert- und überwachte Ressourcenlabels

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 möglicher Zeitachsen, die für ein Paar aus Messwert- und überwachten Ressourcentypen erfasst werden können: Für jede Kombination der Werte 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. Einige Ressourcen ermöglichen es Nutzern auch, eigene Metadatenlabels für Ressourcen zu 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.

Zeitreihen: 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 Messungen werden in Zeitachsen erfasst und 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 kann viele Zeitachsen für die Cloud Storage-Buckets Ihres Projekts enthalten. 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 Beispiel zu Cloud Storage-Buckets einen bestimmten Bucket verwenden oder nie eine bestimmte API-Methode aufrufen, werden für dieses Label keine Daten erfasst und es wird in keiner Zeitachse 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 den Zeitachsen 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 Try this method (Diese Methode ausprobieren) 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 der Endzeit 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 aus Messwert- und überwachten Ressourcentypen zugeordnet. Der Messwert und die überwachten Ressourcentypen bieten jeweils eine bestimmte Anzahl von Labels. In Cloud Monitoring entspricht die Anzahl der einzelnen Wertekombinationen für einen Satz von Labels der Kardinalität des Messwerttyps oder des Typs der überwachten Ressource. Diese Werte werden als Messwertkardinalität und Ressourcenkardinalität bezeichnet und bestimmen, wie viele mögliche Zeitachsen, die Gesamtkardinalität, generiert werden können.

Messwert, Ressource und Gesamtkardinalität

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

  • Wenn es nur die drei möglichen Farben „Rot“, „Grün“ und „Blau“ gibt, kann das Label color bis zu drei verschiedene Werte haben.
  • Wenn es nur zwei mögliche Zonen gibt, „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 gilt, wenn es sich dabei um Labels für einen Typ von überwachter Ressource und nicht um Labels für einen Messwerttyp handelt.

Dieser Kardinalitätswert ist ein Maximalwert, der auf der Anzahl der Kombinationen möglicher Labelwerte basiert. Der tatsächliche tatsächliche Wert ist möglicherweise erheblich niedriger, wenn nicht alle Kombinationen von Labelwerten auftreten. Wenn beispielsweise jede Farbe nur in einer Zone und nicht in beiden Zonen erscheint, sehen Sie im laufenden System maximal 1.000 Zeitachsen. Der Nutzen der effektiven Kardinalität hängt jedoch davon ab, warum bestimmte Kombinationen nicht angezeigt werden und ob dies in Zukunft der Fall sein könnte.

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

Wenn Zeitachsendaten geschrieben werden, werden sie nach Messwert- und überwachten Ressourcentypen klassifiziert. Bei jedem 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).

Achten Sie beim Entwerfen eigener Messwerte darauf, dass die Gruppe möglicher Werte für jedes Label begrenzt ist. Ein kleiner Satz diskreter Werte (wie „rot“, „grün“ und „blau“) ist der bevorzugte Ansatz. Wenn Sie beispielsweise 8-Bit-RGB-Werte für ein color-Label verwenden, können Sie über 16 Millionen verschiedene Werte haben. Verwenden Sie für Messwertlabels keine hochauflösenden Werte wie Zeitstempel, eindeutige Kennungen, Nutzer-IDs, IP-Adressen oder nicht parametrisierte URLs.

Abfrageleistung und Kardinalität

Wenn Sie eine Datenabfrage durchführen, ist das angeforderte Datenvolumen der wichtigste Faktor für die Abfrageleistung: Eine Abfrage für Daten von einer Stunde ist in der Regel schneller als dieselbe Abfrage für sechs Monate. Die Menge der von einer Anfrage zurückgegebenen Daten hängt jedoch auch von der Anzahl der Zeitachsen in einer Anfrage ab. Eine Abfrage, die Daten von zwei Monaten für einen Messwert mit niedriger Kardinalität abruft, ist aufgrund der abgerufenen Datenmenge wahrscheinlich schneller als eine andere Abfrage, die Daten von zwei Monaten für einen Messwert 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, und 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 jedoch Messwerte in Cloud Monitoring aufnehmen, anstatt Systemmesswerte zu verwenden, haben Sie oft eine gewisse Kontrolle über die Messwertkardinalität. Bei benutzerdefinierten Messwerten legen Sie beispielsweise die Labels und die möglichen Werte dafür fest. Wenn Sie Prometheus-Messwerte aufnehmen, können Sie durch Labeling den Satz von Labels ändern und Zeitachsen löschen, die Sie nicht aufnehmen möchten.

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

  1. Rufen Sie in der Google Cloud Console die Seite  Messwertverwaltung auf:

    Zur Messwertverwaltung

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  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 Hintergrundinformationen dazu, wie Cloud Monitoring Zeitachsendaten speichert und abruft, finden Sie in Monarch: Googles Planet-Scale In-Memory Time Series Database.

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