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 Zeitachsen 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 OpenCensus 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 verwenden.

Ü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 Zeitachse

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

Im Folgenden sehen Sie eine vollständige Instanz einer einzelnen Zeitachse (Typ TimeSeries):

    {
      "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 Ressourcen ausführlicher beschrieben.

  • Die Felder metricKind und valueType geben an, wie die Werte zu interpretieren sind. Weitere Informationen hierzu 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

Jede Zeitachse zeichnet die Quelle der Datenpunkte als überwachtes Ressourcenobjekt (Typ MonitoredResource) auf. Dieses 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 (Typ MonitoredResourceDescriptor) bezeichnet wird.

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": "GCE VM Instance",
  "description": "A virtual machine instance hosted in Google Compute Engine (GCE).",
  "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 API Explorer-Widget abrufen, das sich auf der Referenzseite für die Methode monitoredResourceDescriptors.get in der Monitoring API befindet.

Wenn Sie dieses Beispiel ausführen, müssen Sie [PROJECT_ID] im Feld Name in Ihre Projekt-ID ändern. Klicken Sie dann unten im Widget-Steuerfeld auf die Schaltfläche Ausführen. Die Anfrage gibt den obigen Deskriptor zurück.

Jetzt testen

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

Zuletzt kann Cloud Monitoring etwa 100 Ressourcentypen überwachen. Weitere Informationen finden Sie in der Ressourcenliste. Die Liste wird direkt aus den verfügbaren Deskriptoren für überwachte Ressourcen abgeleitet.

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.

Ein Messwertobjekt (Typ Metric) ist eine Sammlung von Informationen, die den Messwerttyp und die Werte der Labels des Messwerttyps für die Datenpunkte in dieser Zeitachse angeben. 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 Messwerte für den Messwerttyp logging.googleapis.com/log_entry_count 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 (Typ MetricDescriptor) bezeichnet wird.

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 ist der Messwertdeskriptor für den Messwerttyp logging.googleapis.com/log_entry_count:

{
  "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 API Explorer-Widget abrufen, das sich auf der Referenzseite für die Methode metricDescriptors.get in der Monitoring API befindet.

Wenn Sie dieses Beispiel ausführen, müssen Sie [PROJECT_ID] im Feld Name in Ihre Projekt-ID ändern. Klicken Sie dann unten im Widget-Steuerfeld auf die Schaltfläche Ausführen. Die Anfrage gibt den obigen Deskriptor zurück.

Jetzt testen

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

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.

Zuletzt hat Cloud Monitoring ungefähr 1.500 integrierte Messwerttypen. Weitere Informationen finden Sie in der Messwertliste. Sie können auch eigene Messwertdeskriptoren erstellen, um benutzerdefinierte Messwerte zu erfassen. Weitere Informationen finden Sie unter Benutzerdefinierte Messwerte verwenden.