Struktur von Zeitachsen

Auf dieser Seite werden die unter Messwerte, Zeitachsen und Ressourcen und Komponenten des Messwertmodells aufgeführten Beispiele ausführlich erläutert. Um diese Seite optimal zu nutzen, lesen Sie zuerst diese Seiten.

Diese Seite richtet sich an Leser, die ein tieferes Verständnis für Zeitachsen und die Implementierung des Cloud Monitoring-Messwertmodells wünschen, insbesondere solche, die die Monitoring API verwenden. Dazu gehören auch Nutzer von benutzerdefinierten (benutzerdefinierten) Messwerten.

  • Auf dieser Seite wird das allgemeine Messwertmodell der Cloud Monitoring API zugeordnet, sodass es für alle Nutzer nützlich ist, die die Monitoring API direkt verwenden. Nutzer, die hauptsächlich mit der Google Cloud Console interagieren, benötigen diese Detailebene wahrscheinlich nicht.

  • Es ist auch für alle nützlich, die eine Drittanbieterintegration wie OpenTelemetry verwenden. Wenn Daten aus einer externen Quelle Cloud Monitoring über eine Integration erreichen, werden sie dem Cloud Monitoring-Messwertmodell zugeordnet und wie alle anderen Messwertdaten behandelt.

Weitere Informationen zum Erfassen eigener Messwerte finden Sie unter Benutzerdefinierte Messwerte – Übersicht.

Überprüfung des Messwertmodells

Eine Voraussetzung für das Verständnis der Struktur von Zeitachsen ist die Kenntnis des von Cloud Monitoring verwendeten Messwertmodells. Dieses Modell wird unter Messwerte, Zeitachsen und Ressourcen beschrieben. Dieser Abschnitt enthält eine kurze Zusammenfassung.

Im Allgemeinen werden Monitoring-Daten in Zeitachsen aufgezeichnet. Jede einzelne Zeitachse enthält drei Informationen, die für diese Diskussion relevant sind:

  • Eine Gruppe von Datenpunkten mit Zeitstempel.
  • Ein Verweis auf den Messwerttyp, der Aufschluss über die Interpretation der Datenpunkte gibt.
  • Ein Verweis auf die überwachte Ressource, von der die Daten stammen.

    Struktur einer Zeitreihe.

Jede Zeitreihe enthält die Messwerte aus einer einzelnen physischen oder logischen Quelle. Wenn Ihre Umgebung Hunderte von Ressourcen hat, trägt jede mindestens eine Zeitachse bei. Wenn der Messwerttyp und der Typ der überwachten Ressource Labels haben, erhalten Sie sogar eine Zeitachse pro Kombination von Labelwerten. Weitere Informationen finden Sie unter Kardinalität.

Eine Beispielzeitachse

Eine Zeitachse wird als Instanz eines TimeSeries-Objekts dargestellt. Im Folgenden sehen Sie eine vollständige Instanz einer einzelnen Zeitreihe:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
          "interval": {
            "startTime": "2019-12-20T20:25:38Z",
            "endTime": "2019-12-20T20:26:38Z"
          },
          "value": {
            "int64Value": "20"
          }
        }
      ]
    }

Die meisten Zeitachsen enthalten viel mehr Datenpunkte. Dieser hier deckt ein Intervall von einer Minute ab. Alle Zeitachsen haben dieselbe Struktur mit den folgenden Feldern:

  • Das Feld metric zeichnet Datensätze auf

    • Die Messwertlabelwerte für diese bestimmte Zeitachse, die eine Kombination von Labelwerten darstellen.
    • Der Messwerttyp, mit dem die Daten verknüpft sind. Der Messwerttyp gibt die verfügbaren Labels an und beschreibt, was durch die Datenpunkte dargestellt wird.

    Die Informationen in diesem Feld werden unter Messwerte ausführlicher beschrieben.

  • Im Feld resource wird Folgendes erfasst:

    • Die Ressourcenlabelwerte für diese bestimmte Zeitachse, die eine Kombination von Labelwerten darstellen.
    • Die spezifische überwachte Ressource, von der die Daten erfasst wurden.

    Die Informationen in diesem Feld werden unter Objekte von überwachten Ressourcen ausführlicher beschrieben.

  • Die Felder metricKind und valueType geben an, wie die Werte zu interpretieren sind. Weitere Informationen finden Sie unter Messwertarten und -typen.

  • Das Feld points ist ein Array mit Zeitstempelwerten. Der Messwerttyp gibt an, wofür die Werte stehen. Die Beispielzeitachse enthält ein Array mit einem einzelnen Datenpunkt. In den meisten Zeitachsen hat das Array viel mehr Werte.

Ein Live-Beispiel zum Abrufen von Zeitachsendaten finden Sie unter Zeitachsen: Daten aus einer überwachten Ressource.

Auf diesem Rest der Seite werden die Informationen in den Feldern metric und resource ausführlicher behandelt.

Überwachte Ressourcen

Cloud Monitoring erfasst Daten aus überwachten Ressourcen und zeichnet sie in Zeitachsen auf. Jede erstellte Zeitachse enthält eine Beschreibung der überwachten Ressource, aus der die Daten erfasst wurden.

Überwachte Ressourcenobjekte

Eine überwachte Ressource wird durch eine Instanz eines MonitoredResource-Objekts dargestellt. Die überwachte Ressource beschreibt die Quelle der Werte in einer Zeitreihe. Das MonitoredResource-Objekt ist in die Zeitachse eingebettet und identifiziert eine bestimmte Instanz eines überwachten Ressourcentyps, der Monitoring bekannt ist: Es verweist auf eine physische oder logische Entität.

Das folgende Beispiel zeigt ein überwachtes Ressourcenobjekt, das eine bestimmte Compute Engine-Instanz aus der Beispielzeitachse extrahiert:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      }

Diese Instanz einer überwachten Ressource ist vom Typ gce_instance. Sie hat einen bestimmten instance_id-Wert (51106847938295940291) im Projekt a-gcp-project. Die Instanz befindet sich in den USA. Eine andere Zeitachse könnte aus einer anderen Instanz dieser überwachten Ressource stammen. Jede Kombination von Labelwerten gibt eine eindeutige Ressource an, aus der Daten erfasst werden.

Unterschiedliche Labels sind für verschiedene Ressourcen sinnvoll. Die Labels für eine Ressource werden vom Deskriptor der überwachten Ressource für diesen Typ bestimmt.

Überwachte Ressourcen-Deskriptoren

Die Informationen zu einem Typ von überwachter Ressource sind in einer Datenstruktur gespeichert, die als Deskriptor der überwachten Ressource bezeichnet wird. Eine Definition dieser Datenstruktur finden Sie unter MonitoredResourceDescriptor.

Ein Deskriptor für überwachte Ressourcen ist wie ein Schema oder eine Spezifikation für eine Datensatzstruktur. Sie enthält keine Daten zu einer bestimmten Instanz der überwachten Ressource. erfahren Sie, wie Sie eine überwachte Ressource eines bestimmten Typs beschreiben. Hier ist beispielsweise der Deskriptor der überwachten Ressource für die Ressource gce_instance:

{
  "type": "gce_instance",
  "displayName": "VM Instance",
  "description": "A virtual machine instance hosted in Compute Engine.",
  "name": "projects/[PROJECT_ID]/monitoredResourceDescriptors/gce_instance"
  "labels": [
    {
      "key": "project_id",
      "description": "The identifier of the GCP project associated with this resource, such as \"my-project\"."
    },
    {
      "key": "instance_id",
      "description": "The numeric VM instance identifier assigned by Compute Engine."
    },
    {
      "key": "zone",
      "description": "The Compute Engine zone in which the VM is running."
    }
  ],
}

Vergleichen Sie diesen Deskriptor der überwachten Ressource mit der spezifischen Instanz einer gce_instance-Ressource, die unter Objekte der überwachten Ressource angezeigt wird. Dieser Deskriptor beschreibt keine bestimmte überwachte Ressource. Stattdessen gibt der Deskriptor die Labels an und jede Kombination aus Labelwerten identifiziert eine bestimmte überwachte Ressource.

Sie können die Deskriptoren für überwachte Ressourcen in Ihrem Google Cloud-Projekt mithilfe der Cloud Monitoring API abrufen. Siehe beispielsweise die Referenzseiten für die Methoden monitoredResourceDescriptors.list und monitoredResourceDescriptors.get.

Live-Beispiel:Wenn Sie ein Google Cloud-Projekt haben, können Sie diesen Deskriptor mithilfe des APIs Explorer-Widgets so abrufen:

  1. Öffnen Sie die Referenzseite von monitoredResourceDescriptors.list.

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

    • Name: projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance

      Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.

  3. Klicken Sie auf Execute.

Die Anfrage gibt den vorherigen Deskriptor zurück.

Beispiele für die Verwendung der Monitoring API-Methoden finden Sie unter Messwerte und Ressourcentypen auflisten.

Messwerte

Jede von Cloud Monitoring erstellte Zeitachse zeichnet eine Reihe von Datenpunkten sowie Informationen zur Organisation und Bedeutung dieser Datenpunkte auf.

Messwertobjekte

Jede Zeitachse enthält einen Verweis auf die Beschreibung der Daten, die in einem Messwertobjekt aufgezeichnet werden.

Das in einer Zeitachse enthaltene Messwertobjekt gibt den Typ der Messungen und messwertspezifische Informationen zu diesen Messungen an. Eine Definition der Datenstruktur des Messwertobjekts finden Sie unter Metric. Das folgende Beispiel zeigt das Messwertobjekt, das aus der Zeitachse in Eine Beispielzeitreihe extrahiert wurde:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      }

Dieses Objekt teilt Ihnen mit, dass die Zeitreihe logging.googleapis.com/log_entry_count-Messungen enthält. Die Labelwerte geben an, dass für diese Zeitachse nur Logeinträge mit dem Schweregrad DEFAULT in der Logdatei namens kubelet gezählt werden.

Für jede Kombination von Labelwerten gibt es eine Zeitachse. Daher erscheinen INFO-Einträge in derselben Logdatei in einer anderen Zeitreihe.

Die in einem Messwertobjekt erfassten Label werden im Deskriptor für diesen Messwerttyp angegeben.

Messwertdeskriptoren

Die Informationen zu einem Messwerttyp werden in einer Datenstruktur gespeichert, die als Messwertdeskriptor bezeichnet wird. Eine Definition dieser Datenstruktur finden Sie unter MetricDescriptor.

Ein Messwertdeskriptor ist ein Schema oder eine Spezifikation für eine Datensatzstruktur. Sie enthält keine Daten zu einem bestimmten Messwert. Stattdessen erfahren Sie, wie Sie die mit einem bestimmten Messwerttyp verknüpften Daten interpretieren.

Hier ein Beispiel für einen Messwertdeskriptor:

{
  "type": "logging.googleapis.com/log_entry_count",
  "name": "projects/a-gcp-project/metricDescriptors/logging.googleapis.com/log_entry_count",
  "labels": [
    {
      "key": "log",
      "description": "Name of the log."
    },
    {
      "key": "severity",
      "description": "Severity of the log entry."
    }
  ],
  "metricKind": "DELTA",
  "valueType": "INT64",
  "unit": "1",
  "description": "Number of log entries that contributed to user-defined metrics.",
  "displayName": "Log entries",
  "metadata": {
    "launchStage": "GA",
    "samplePeriod": "60s"
  },
  "launchStage": "GA"
}

Vergleichen Sie diesen Messwertdeskriptor mit dem unter Messwertobjekte angezeigten Messwertobjekt. Der Deskriptor gibt an, was die Labelwerte bedeuten und wie die Werte der Datenpunkte zu interpretieren sind.

Sie können Messwertdeskriptoren mithilfe der Cloud Monitoring API abrufen. Siehe beispielsweise die Referenzseiten für die Methoden metricDescriptors.list und metricDescriptors.get.

Live-Beispiel:Wenn Sie ein Google Cloud-Projekt haben, können Sie diesen Deskriptor mithilfe des APIs Explorer-Widgets so abrufen:

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

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

    • name: projects/PROJECT_ID/metricDescriptors/logging.googleapis.com/log_entry_count Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.
  3. Klicken Sie auf Execute.

Die Anfrage gibt den vorherigen Deskriptor zurück.

Beispiele für die Verwendung der Monitoring API-Methoden finden Sie unter Messwerte und Ressourcentypen auflisten.

Die meisten Felder im Messwertdeskriptor sind selbsterklärend. Die beiden Messwerttypen und der Werttyp, die wahrscheinlich näher erläutert werden, sind unter Messwertarten und -typen genauer beschrieben.

Cloud Monitoring hat etwa 6.500 integrierte Messwerttypen. Weitere Informationen finden Sie in der Liste der Messwerte. Sie können auch eigene Messwertdeskriptoren erstellen, um benutzerdefinierte Messwerte zu erfassen. Weitere Informationen finden Sie unter Benutzerdefinierte Messwerte – Übersicht.