Komponenten des Messwertmodells

Wenn Sie wissen, wie überwachte Ressourcentypen, Messwerttypen, Labels und Zeitreihen in Cloud Monitoring zusammenarbeiten, können Sie Daten abfragen, Diagramme und Benachrichtigungen erstellen und benutzerdefinierte Messwerte entwerfen. Diese Konzepte werden angewendet, wenn Sie Messwerte im Metrics Explorer prüfen, Benachrichtigungsrichtlinien konfigurieren, Zeitreihendaten mit der Cloud Monitoring API abrufen oder benutzerdefinierte Messwerte erstellen.

Wenn diese Konzepte neu für Sie sind, beginnen Sie mit Messwerte, Zeitreihen und Ressourcen. Informationen zu Monitoring API-Objektschemas und Details zu benutzerdefinierten Messwerten finden Sie unter Struktur von Zeitreihen.

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 Typen überwachter Ressourcen.

Zu den Typen überwachter Ressourcen gehören generische 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 Deskriptoren für überwachte Ressourcen.

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: Im Header des Eintrags wird der Typ der überwachten Ressource aufgeführt, im Beispiel gcs_bucket.
  • 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 und bietet Ihnen die Möglichkeit, neue Typen zu definieren.

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

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

Jeder der integrierten Messwerttypen hat einen Eintrag auf den Seiten 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.

  • Einführungsphase: Ein farbiger Block, der die Einführungsphase des Messwerttyps mit einem Wert wie Alpha, Beta oder 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 aufzeichnet. 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 Messwertarten.

    • 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, fügen Sie dem API-Aufruf ein Google Cloud -Projekt hinzu. 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 nur API-Anzahlwerte 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 finden Sie alle integrierten Messwerttypen. Die auf der Seite Liste externer Messwerte aufgeführten Messwerte sind eine spezielle Teilmenge integrierter Messwerte, die von Cloud Monitoring in Zusammenarbeit 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 es in Cloud Monitoring keine Messwerte gibt. 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 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 Übersicht über benutzerdefinierte Messwerte.

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 sowie dem Namen, dem Standort und dem Projekt des beteiligten 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.

Wenn Sie den Antwortcode, den Methodennamen und den Standort beim Zählen von API-Aufrufen erfassen, können Sie die Anzahl der Aufrufe einer bestimmten API-Methode, die Anzahl der fehlgeschlagenen Aufrufe einer beliebigen 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 überwachtem Ressourcentyp erfasst werden können. Es gibt eine Zeitreihe für jede Kombination von Werten ihrer Labels. 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 Ressourcenmetadatenlabels 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 Zeitreihenfiltern definiert sind.

Ressourcenmetadaten-Labels werden nur im Abfrageergebnis angezeigt, wenn Sie explizit nach ihnen aggregieren.

Weitere Informationen zum Filtern finden Sie unter Monitoring-Filter.

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äßige Messungen im Zeitverlauf für Paare von Messwert- und überwachten Ressourcentypen. Die Messwerte werden in Zeitreihen erfasst. Jede Zeitreihe enthält die folgenden Elemente:

  • Der Name des Messwerttyps, zu dem die Zeitreihe 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 Zeitreihendaten ist, und eine Kombination von Werten für die Labels der Ressource.

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

Stilisiertes Beispiel: Der Messwerttyp storage.googleapis.com/api/request_count kann viele Zeitreihen für die Cloud Storage-Buckets Ihres Projekts haben. In der folgenden Tabelle sind einige mögliche Zeitreihen aufgeführt.

In der Tabelle steht der Wert bucket: xyz für den Wert des Labels bucket_name im Typ der überwachten Ressource. response_code und method sind Labels im Messwerttyp. Für jede Kombination von Werten in den Ressourcen- und Messwertlabels gibt es eine Zeitreihe. In der Tabelle sind einige davon aufgeführt:

Label für überwachte
Ressource
Messwertlabels Messwertdaten
bucket: 1234 response_code: OK,
method: read
{
(3, Wed 2:00pm),
(2, Wed 2:05pm),
(8, Wed 2:10pm),
...}
bucket: 1234 response_code: OK,
method: write
{
(1, Wed 2:01pm),
(2, Wed 2:04pm),
(7, Wed 2:09pm),
...}
bucket: 1234 response_code: FAIL,
method: write
{
(1, Wed 2:01pm),
(0, Wed 2:04pm),
(0, Wed 2:09pm),
...}
bucket: 9876 response_code: OK,
method: read
{
(2, Wed 1:59pm),
(4, Wed 2:05pm),
(3, Wed 2:10pm),
...}

In Cloud Monitoring werden keine „leeren“ Zeitreihen aufgezeichnet. Wenn Sie im Beispiel mit den Cloud Storage-Buckets einen bestimmten Bucket nicht verwenden oder eine bestimmte API-Methode nie aufrufen, werden für dieses Label keine Daten 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 Typen von überwachten Ressourcen in den Zeitreihen der Messwerte enthalten 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 Projekt von Google Cloud haben, können Sie das APIs Explorer-Widget auf der Referenzseite für die Methode timeSeries.list in der Monitoring API ausprobieren.

  1. Öffnen Sie die Referenzseite timeSeries.list.

  2. Geben Sie im Bereich Diese Methode ausprobieren Folgendes ein:

    • name: projects/PROJECT_ID. Ersetzen Sie PROJECT_ID durch die ID Ihres Projekts von Google Cloud .
    • 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 die Endzeit 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, einschließlich Fehlerbehebung, finden Sie unter APIs Explorer.

Kardinalität: Zeitachsen und Labels

Jede Zeitreihe ist mit einem bestimmten Paar aus Messwert- und überwachtem Ressourcentyp verknüpft. Die Messwert- und überwachten Ressourcentypen stellen jeweils eine Reihe von Labels bereit. In Cloud Monitoring ist die Anzahl der eindeutigen Kombinationen von Werten für die Labels die Kardinalität des Messwerttyps oder des Typs der überwachten 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-, Ressourcen- 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 dieser Labels ab:

  • Wenn es nur drei mögliche Farben gibt, „rot“, „grün“ und „blau“, 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 beträgt 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 Kardinalität des Messwerts 2.000 (1.000 × 2). Dieselbe Berechnung gilt, wenn es sich um Labels für einen überwachten Ressourcentyp und nicht für einen Messwerttyp handelt.

Dieser Kardinalitätswert ist ein Höchstwert, der auf der Anzahl der Kombinationen möglicher Labelwerte basiert. Der tatsächliche Wert kann deutlich niedriger sein, wenn nicht alle Kombinationen von Labelwerten tatsächlich auftreten. Wenn beispielsweise jede Farbe nur in einer Zone und nicht in beiden Zonen angezeigt wird, beträgt die maximale Anzahl von Zeitachsen, die Sie im laufenden System sehen, 1.000. Die Nützlichkeit der effektiven Kardinalität hängt jedoch davon ab, warum bestimmte Kombinationen nicht angezeigt werden und ob sie in Zukunft angezeigt werden könnten.

Die Kardinalität hängt von den Werten ab, die Labels haben können.

Wenn Zeitreihendaten geschrieben werden, werden sie nach Messwert- und überwachten Ressourcentypen klassifiziert. Für jedes Paar aus Messwert- und Ressourcentyp 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 entwerfen, achten Sie darauf, dass die möglichen Werte für jedes Label eingeschränkt sind. 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, nicht parametrisierte URLs usw.

Abfrageleistung und Kardinalität

Wenn Sie eine Abfrage für Daten ausführen, ist das angeforderte Datenvolumen der wichtigste Faktor für die Abfrageleistung: Eine Abfrage für Daten aus einer Stunde ist im Allgemeinen schneller als dieselbe Abfrage für sechs Monate. Das von einer Anfrage zurückgegebene Datenvolumen hängt jedoch auch von der Anzahl der Zeitreihen in einer Anfrage ab. Eine Abfrage, die zwei Monate Daten für einen Messwert mit niedriger Kardinalität abruft, ist wahrscheinlich schneller als eine andere Abfrage, die zwei Monate Daten für einen Messwert mit sehr hoher Kardinalität abruft, da die Menge der abgerufenen Daten unterschiedlich ist.

Die Kardinalität hängt in erster Linie 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, da 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 legen Sie beispielsweise die Labels und die möglichen Werte dafür fest. Wenn Sie Prometheus-Messwerte aufnehmen, können Sie mit Relabeling die Labels ändern und Zeitreihen löschen, die Sie nicht aufnehmen möchten.

Auf der Cloud Monitoring-Seite Messwertverwaltung können Sie Messwerte identifizieren, 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:

    Zu 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.

Technische Hintergrundinformationen dazu, wie Cloud Monitoring Zeitreihendaten 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.