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 mehr über Zeitreihen und die Implementierung des Cloud Monitoring-Messwertmodells wissen möchten, insbesondere diejenigen, die die Monitoring API verwenden. Dies gilt auch für 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, deren primäre Interaktion mit der Google Cloud Console erfolgt, benötigen diese Detailebene wahrscheinlich nicht.

  • Es ist auch nützlich für alle, die eine Drittanbieter-Integration 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 Übersicht über benutzerdefinierte Messwerte.

Ü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 Übersicht.

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

  • 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 Zeitachse enthält die Messungen aus einer einzelnen physischen oder logischen Quelle. Wenn Ihre Umgebung Hunderte von Ressourcen enthält, trägt jede davon mindestens eine Zeitachse bei. Wenn Ihr Messwerttyp und der Typ der überwachten Ressource Labels haben, erhalten Sie eine Zeitachse pro Kombination von Labelwerten. Weitere Informationen finden Sie unter Kardinalität.

Eine Beispielzeitachse

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

    {
      "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 Messwert-Label-Werte für diese bestimmte Zeitachse, die eine Kombination aus 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 aus Labelwerten darstellen.
    • Die spezifische überwachte Ressource, von der die Daten erfasst wurden.

    Die Informationen in diesem Feld werden unter Überwachte Ressourcenobjekte 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 bekannten Typs einer überwachten Ressource auf Monitoring: 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 weitere Zeitachse kann von 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 überwachter Ressourcen werden in einer Datenstruktur gespeichert, die als Deskriptor für überwachte Ressourcen 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 für überwachte Ressourcen mit der spezifischen Instanz einer gce_instance-Ressource, die unter Überwachte Ressourcenobjekte 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 mit dem APIs Explorer-Widget auf folgende Weise abrufen:

  1. Öffnen Sie die Referenzseite monitoredResourceDescriptors.list.

  2. Geben Sie im Bereich Methode testen Folgendes ein:

    • Name: projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance

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

  3. Klicken Sie auf Ausführen.

Die Anfrage gibt den vorherigen Deskriptor zurück.

Beispiele zur Verwendung der Monitoring API-Methoden finden Sie unter Messwert- und Ressourcentypen auflisten.

Messwerte

Jede von Cloud Monitoring erstellte Zeitachse zeichnet eine Reihe von Datenpunkten sowie Informationen über die 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 Zeitreihe enthaltene Messwertobjekt gibt den Messwerttyp und messwertspezifische Informationen zu diesen Messungen an. Eine Definition der Datenstruktur für Messobjekte finden Sie unter Metric. Hier sehen Sie beispielsweise das Messwertobjekt, das aus der Zeitachse in Beispielzeitachse extrahiert wurde:

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

Dieses Objekt teilt Ihnen mit, dass die Zeitachse logging.googleapis.com/log_entry_count-Messwerte enthält. Die Labelwerte geben an, dass diese spezifische Zeitachse nur Logeinträge mit dem Schweregrad DEFAULT in der Logdatei namens kubelet zählt.

Für jede Kombination von Labelwerten gibt es eine Zeitachse, sodass INFO-Einträge in derselben Log-Datei in einer anderen Zeitachse erscheinen.

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 mit dem APIs Explorer-Widget auf folgende Weise abrufen:

  1. Öffnen Sie die Referenzseite metricDescriptors.list.

  2. Geben Sie im Bereich Methode testen 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 Ausführen.

Die Anfrage gibt den vorherigen Deskriptor zurück.

Beispiele zur Verwendung der Monitoring API-Methoden finden Sie unter Messwert- und Ressourcentypen auflisten.

Die meisten Felder im Messwertdeskriptor sind selbsterklärend. Die beiden benötigen wahrscheinlich eine weitere Erläuterung: Messwertart und Werttyp, die unter Messwertarten und -typen näher beschrieben werden.

Cloud Monitoring bietet ungefähr 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 Übersicht über benutzerdefinierte Messwerte.