In diesem Dokument wird erläutert, wie Sie Messwertdaten, auch Zeitachsendaten genannt, mit der Methode timeSeries.list
in der Monitoring API lesen.
Es gibt mehrere Möglichkeiten, die Methode timeSeries.list
aufzurufen:
- Über die Tabs Protokoll auf dieser Seite können Sie den formularbasierten APIs Explorer verwenden.
- Sie können eine sprachspezifische Clientbibliothek verwenden.
- Sie können den Metrics Explorer verwenden.
Sie können Messwertdaten auch lesen, indem Sie einen Befehl an die Methode timeSeries.query
senden. Dazu ist die Monitoring Query Language (MQL) erforderlich. In diesem Dokument werden MQL und die Methode timeSeries.query
nicht beschrieben. Weitere Informationen zu diesen Themen finden Sie unter Daten mit timeSeries.query
abrufen.
Übersicht
Bei jedem Aufruf der timeSeries.list
-Methode kann eine beliebige Anzahl von Zeitachsen eines einzelnen Messwerttyps zurückgegeben werden. Wenn Sie beispielsweise Compute Engine verwenden, gibt der Messwerttyp compute.googleapis.com/instance/cpu/usage_time
für jede Ihrer VM-Instanzen eine separate Zeitachse aus.
Eine Einführung zu Messwerten und Zeitachsen finden Sie unter Messwerte, Zeitachsen und Ressourcen.
Sie geben die gewünschten Zeitreihendaten an, indem Sie der Methode timeSeries.list
die folgenden Informationen zur Verfügung stellen:
- Einen Filterausdruck, der den Messwerttyp festlegt. Mit dem Filter können Sie optional eine Teilmenge der Zeitachsen des Messwerts auswählen. Geben Sie hierfür die zum Erstellen der Zeitachsen verwendeten Ressourcen oder Werte für bestimmte Labels der Zeitachsen an.
- Ein Zeitintervall, das den Umfang der zurückgegebenen Daten einschränkt.
- Eine optionale Spezifikation dazu, wie mehrere Zeitachsen für eine aggregierte Zusammenfassung der Daten kombiniert werden sollen. Weitere Informationen und Beispiele finden Sie unter Daten aggregieren.
Zeitachsenfilter
Durch die Übergabe eines Zeitachsenfilters an die Methode timeSeries.list
geben Sie an, welche Zeitachsen abgerufen werden sollen.
Im Folgenden sind die gängigen Filterkomponenten aufgeführt:
Der Filter muss einen einzelnen Messwerttyp angeben. Beispiel:
metric.type = "compute.googleapis.com/instance/cpu/usage_time"
Ändern Sie zum Abrufen benutzerdefinierter Messwerte das Präfix „metric.type“ im Filter in
custom.googleapis.com
oder ggf. in ein anderes Präfix. Häufig wirdexternal.googleapis.com
verwendet.Der Filter kann Werte für die Dimensionslabels des Messwerts angeben. Welche Labels verfügbar sind, richtet sich nach dem Messwerttyp. Beispiel:
(metric.label.instance_name = "your-instance-id" OR metric.label.instance_name = "your-other-instance-id")
Im vorherigen Ausdruck ist
label
korrekt, obwohl das tatsächliche Messwertobjektlabels
als Schlüssel verwendet.Mit dem Filter können nur Zeitachsen ausgewählt werden, die einen bestimmten Typ überwachter Ressource enthalten:
resource.type = "gce_instance"
Die Filterkomponenten lassen sich zu einem einzigen Zeitachsenfilter zusammenfassen. Beispiel:
metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
(metric.label.instance_name = "your-instance-id" OR
metric.label.instance_name = "your-other-instance-id")
Wenn Sie nicht für alle Messwertlabels Werte festlegen, gibt die Methode list
für jede Kombination von Werten in den nicht festgelegten Labels eine Zeitachse zurück. Die Methode gibt nur Zeitachsen zurück, die Daten enthalten.
Zeitintervalle
Wenn Sie Daten mit der API lesen, geben Sie das Zeitintervall an, für das Sie Daten abrufen möchten, indem Sie Start- und Endzeit festlegen.
Die API ruft Daten aus dem Intervall (start, end]
ab, also ab der Startzeit bis zur Endzeit.
Die Startzeit darf nicht nach dem Enddatum liegen. Wenn Sie eine Startzeit angeben, die später als die Endzeit liegt, gibt die API einen Fehler zurück.
Wenn Sie nur Daten mit einem bestimmten Zeitstempel abrufen möchten, legen Sie die Startzeit auf die Endzeit fest oder geben keine Startzeit an.
Zeitformat
Die Start- und Endzeit muss als Zeichenfolge im Format RFC 3339 angegeben werden. Beispiel:
2024-03-01T12:34:56+04:00 2024-03-01T12:34:56.992Z
Mit dem Befehl date -Iseconds
kann man unter Linux Zeitstempel erzeugen lassen.
Grundlegende Listenoperationen
Mit der Methode timeSeries.list
lassen sich sowohl einfache Rohdaten als auch stark verarbeitete Daten abrufen. In diesem Abschnitt wird beschrieben, wie Sie die verfügbaren Zeitreihen auflisten und die Werte in einer bestimmten Zeitreihe abrufen.
Beispiel: Verfügbare Zeitachsen auflisten
In diesem Beispiel wird gezeigt, wie man nur die Namen und Beschreibungen der Zeitachsen auflisten kann, die einer Filterbedingung entsprechen, statt alle verfügbaren Daten zurückzugeben:
Protokoll
Öffnen Sie die Referenzseite
timeSeries.list
.Geben Sie im Bereich Methode testen Folgendes ein:
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
projects/PROJECT_ID
-
filter: Geben Sie den Messwerttyp an.
metric.type = "compute.googleapis.com/instance/cpu/utilization"
- interval.endTime: Geben Sie die Endzeit ein.
- interval.startTime: Geben Sie die Startzeit ein. Sie muss 20 Minuten vor der Endzeit liegen.
Klicken Sie auf Standardparameter anzeigen und geben Sie unter Felder Folgendes ein:
timeSeries.metric
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
Klicken Sie auf Ausführen.
Das Ausgabebeispiel zeigt Zeitachsen für zwei verschiedene VM-Instanzen:
{
"timeSeries": [
{
"metric": {
"labels": {
"instance_name": "your-first-instance"
},
"type": "compute.googleapis.com/instance/cpu/utilization"
},
},
{
"metric": {
"labels": {
"instance_name": "your-second-instance"
},
"type": "compute.googleapis.com/instance/cpu/utilization"
},
}
]
}
Klicken Sie im APIs Explorer auf fullscreen Vollbild, um die Anfrage als curl
-Befehl, als HTTP-Anfrage oder in JavaScript aufzurufen.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Wenn Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der Monitoring API.
Beispiel: Zeitachsendaten abrufen
In diesem Beispiel werden die CPU-Auslastungsmessungen zurückgegeben, die für eine bestimmte Compute Engine-Instanz in einem 20-Minuten-Intervall erfasst wurden. Die Anzahl der zurückgegebenen Daten hängt von der Stichprobenrate des Messwerts ab. Da die CPU-Auslastung jede Minute erfasst wird, enthalten die Ergebnisse dieser Abfrage etwa 20 Datenpunkte. Wenn für eine Zeitreihe mehrere Datenpunkte zurückgegeben werden, liefert die API die Datenpunkte in jeder Zeitreihe in umgekehrter Zeitreihenfolge. Diese Einstellung kann nicht geändert werden.
Protokoll
Im Protokollbeispiel wird die Ausgabe weiter eingeschränkt, um die zurückgegebenen Daten im Antwortfeld übersichtlicher zu gestalten:
- Der Wert filter begrenzt die Zeitachse auf eine einzelne VM-Instanz.
- Der Wert fields gibt nur die Zeit und den Wert der Messwerte an.
Die Menge der im Ergebnis zurückgegebenen Zeitachsendaten wird durch diese Einstellungen begrenzt
Öffnen Sie die Referenzseite
timeSeries.list
.Geben Sie im Bereich Methode testen Folgendes ein:
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
projects/PROJECT_ID
filter: Geben Sie den Messwerttyp an.
metric.type = "compute.googleapis.com/instance/cpu/utilization" AND metric.label.instance_name = "INSTANCE_NAME"
interval.endTime: Geben Sie die Endzeit ein.
interval.startTime: Geben Sie die Startzeit ein. Sie muss 20 Minuten vor der Endzeit liegen.
Klicken Sie auf Standardparameter anzeigen und geben Sie unter Felder Folgendes ein:
timeSeries.points.interval.endTime,timeSeries.points.value
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
Klicken Sie auf Ausführen.
Die Anfrage liefert ein Ergebnis wie dieses:
{
"timeSeries": [
{
"points": [
{
"interval": {
"endTime": "2024-03-01T00:19:01Z"
},
"value": {
"doubleValue": 0.06763074536575005
}
},
{
"interval": {
"endTime": "2024-03-01T00:18:01Z"
},
"value": {
"doubleValue": 0.06886174467702706
}
},
...
{
"interval": {
"endTime": "2024-03-01T00:17:01Z"
},
"value": {
"doubleValue": 0.06929610064253211
}
}
]
}
]
}
Klicken Sie im APIs Explorer auf fullscreen Vollbild, um die Anfrage als curl
-Befehl, als HTTP-Anfrage oder in JavaScript aufzurufen.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Wenn Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der Monitoring API.
Daten aggregieren
Die Methode timeSeries.list
kann statistische Aggregationen und Reduzierungen der zurückgegebenen Zeitachsendaten liefern. In den folgenden Abschnitten werden zwei Beispiele veranschaulicht.
Weitere Informationen finden Sie unter Filtern und Aggregation: Zeitachsen bearbeiten.
Beispiel: Zeitreihen ausrichten
In diesem Beispiel werden die 20 individuellen Auslastungsmesswerte in jeder Zeitachse auf zwei Messwerte reduziert, nämlich die durchschnittliche Auslastung in den beiden 10-Minuten-Zeiträumen des 20-Minuten-Intervalls. Die Daten aus jeder Zeitreihe werden zuerst in Perioden von 10 Minuten angeordnet und dann werden die Werte in jedem 10-Minuten-Zeitraum gemittelt.
Die Ausrichtung hat zwei Vorteile: Neben der Glättung der Daten aus allen Zeitachsen werden diese auch auf exakte 10-Minuten-Grenzen ausgerichtet. Die ausgerichteten Daten können dann weiterverarbeitet werden.
Protokoll
Öffnen Sie die Referenzseite
timeSeries.list
.Geben Sie im Bereich Methode testen Folgendes ein:
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
projects/PROJECT_ID
-
aggregation.alignmentPeriod: Geben Sie
600s
ein. -
aggregation.perSeriesAligner: Wählen Sie
ALIGN_MEAN
aus. -
filter: Hier geben Sie den Messwerttyp an.
metric.type = "compute.googleapis.com/instance/cpu/utilization"
- interval.endTime: Geben Sie die Endzeit ein.
- interval.startTime: Geben Sie die Startzeit ein. Sie muss 20 Minuten vor der Endzeit liegen.
-
Klicken Sie auf Standardparameter anzeigen und geben Sie unter Felder Folgendes ein:
timeSeries.metric,timeSeries.points
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
Klicken Sie auf Ausführen.
Der Filter für eine einzelne Instanz aus dem vorherigen Beispiel wird entfernt. Diese Abfrage gibt viel weniger Daten zurück, sodass weniger die Notwendigkeit besteht, sie auf eine VM-Instanz einzuschränken.
Das folgende Beispielergebnis enthält für jede der drei VM-Instanzen eine Zeitachse. Jede Zeitachse besitzt zwei Datenpunkte, nämlich die durchschnittliche Auslastung für die 10-Minuten-Zeiträume:
{
"timeSeries": [
{
"metric": {
"labels": {"instance_name": "your-first-instance"},
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": { "doubleValue": 0.06688481346044381 }
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": {"doubleValue": 0.06786652821310177 }
}
]
},
{
"metric": {
"labels": { "instance_name": "your-second-instance" },
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": { "doubleValue": 0.04144239874207415 }
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": { "doubleValue": 0.04045793689050091 }
}
]
},
{
"metric": {
"labels": { "instance_name": "your-third-instance" },
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": { "doubleValue": 0.029650046587339607 }
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": { "doubleValue": 0.03053874224715402 }
}
]
}
]
}
Klicken Sie im APIs Explorer auf fullscreen Vollbild, um die Anfrage als curl
-Befehl, als HTTP-Anfrage oder in JavaScript aufzurufen.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Wenn Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der Monitoring API.
Beispiel: Zeitachsen reduzieren
Dieses Beispiel ist eine Erweiterung des vorangegangenen Beispiels. Darin werden die ausgerichteten Zeitachsen der drei VM-Instanzen zu einer einzigen Zeitachse zusammengefasst. Diese gibt die durchschnittliche Auslastung aller Instanzen an.
Protokoll
Öffnen Sie die Referenzseite
timeSeries.list
.Geben Sie im Bereich Methode testen Folgendes ein:
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
projects/PROJECT_ID
-
aggregation.alignmentPeriod: Geben Sie
600s
ein. -
aggregation.perSeriesAligner: Wählen Sie
ALIGN_MEAN
aus. -
aggregation.crossSeriesReducer: Wählen Sie
REDUCE_MEAN
aus. -
filter: Hier geben Sie den Messwerttyp an.
metric.type = "compute.googleapis.com/instance/cpu/utilization"
- interval.endTime: Geben Sie die Endzeit ein.
- interval.startTime: Geben Sie die Startzeit ein. Sie muss 20 Minuten vor der Endzeit liegen.
-
Klicken Sie auf Standardparameter anzeigen und geben Sie unter Felder Folgendes ein:
timeSeries.metric,timeSeries.points
-
name: Geben Sie den Pfad zu Ihrem Projekt ein.
Klicken Sie auf Ausführen.
Das folgende Beispiel enthält nur eine einzige Zeitachse und zwei Datenpunkte. Jeder Punkt gibt die durchschnittliche Auslastung aller drei VM-Instanzen innerhalb des Zeitraums an:
{
"timeSeries": [
{
"metric": {
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": {
"doubleValue": 0.045992419596619184
}
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": {
"doubleValue": 0.04628773578358556
}
}
]
}
]
}
Klicken Sie im APIs Explorer auf fullscreen Vollbild, um die Anfrage als curl
-Befehl, als HTTP-Anfrage oder in JavaScript aufzurufen.
C#
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Wenn Probleme auftreten, lesen Sie den Abschnitt Fehlerbehebung bei der Monitoring API.
Nächste Schritte
- Weitere Informationen zur Aufbewahrung und Latenz von Messwertdaten
- Weitere Informationen finden Sie unter Filtern und Aggregation: Zeitachsen bearbeiten.