In diesem Dokument wird erläutert, wie Sie Messwertdaten,
auch Zeitreihendaten genannt, lesen,
mit der Methode timeSeries.list
im
Monitoring API
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 zum Beispiel
mit Compute Engine, dann gilt der compute.googleapis.com/instance/cpu/usage_time
Messwerttyp hat für jede VM-Instanz eine separate Zeitachse.
Eine Einführung zu Messwerten und Zeitachsen finden Sie unter Messwerte, Zeitachsen und Ressourcen.
Sie geben die gewünschten Zeitreihendaten an, indem Sie Folgendes angeben:
Informationen zur timeSeries.list
-Methode:
- 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"
Um benutzerdefinierte Messwerte abzurufen, ändern Sie das Präfix "metric.type" in der filter auf
custom.googleapis.com
oder ein anderes Präfix, falls verwendet;external.googleapis.com
wird häufig 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.
Der Beginn darf nicht nach dem Ende liegen. Wenn Sie eine Startzeit angeben der nach der 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 werden
Wie die verfügbaren Zeitreihen aufgelistet werden und wie die Werte abgerufen werden
in einer bestimmten Zeitreihe.
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 für
timeSeries.list
.Geben Sie im Bereich Try this method (Diese Methode ausprobieren) 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 und achten Sie darauf, dass sie 20 Minuten beträgt. vor der Endzeit liegen.
Klicken Sie auf Standardparameter anzeigen und geben Sie in den Feldern Folgendes:
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"
},
}
]
}
Um die Anfrage als curl
-Befehl anzusehen, als
HTTP-Anfrage oder in JavaScript auf fullscreen Vollbild klicken
in APIs Explorer ansehen.
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 du Schwierigkeiten hast, findest du weitere Informationen unter Fehler bei der Monitoring API beheben
Beispiel: Zeitachsendaten abrufen
Dieses Beispiel gibt die CPU-Auslastungsmessungen zurück, die über ein 20-Minuten-Intervall für eine bestimmte Compute Engine-Instanz. Die zurückgegebene Datenmenge 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 mehrere Datenpunkte für eine Zeitreihe zurückgegeben, gibt die API die Datenpunkte in jeder in umgekehrter Zeitreihenfolge; gibt es keine Überschreibung für diese Punktanordnung.
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 für
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 und achten Sie darauf, dass sie 20 Minuten beträgt. vor der Endzeit liegen.
Klicken Sie auf Standardparameter anzeigen und geben Sie in den Feldern Folgendes:
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
}
}
]
}
]
}
Um die Anfrage als curl
-Befehl anzusehen, als
HTTP-Anfrage oder in JavaScript auf fullscreen Vollbild klicken
in APIs Explorer ansehen.
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 gezeigt.
Weitere Informationen finden Sie unter
Filtern und aggregieren: Zeitachsen bearbeiten
Beispiel: Zeitreihen ausrichten
In diesem Beispiel werden die jeweils 20 einzelnen Auslastungsmessungen reduziert. Messungen der Reihe auf 2 Messungen: die durchschnittliche Auslastung für die beiden 10-Minuten- innerhalb 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 für
timeSeries.list
.Geben Sie im Bereich Try this method (Diese Methode ausprobieren) 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: 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 und achten Sie darauf, dass sie 20 Minuten beträgt. vor der Endzeit liegen.
-
Klicken Sie auf Standardparameter anzeigen und geben Sie in den Feldern
Folgendes:
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 VMs eine Zeitachse Instanzen. Jede Zeitreihe hat zwei Datenpunkte, wobei die durchschnittliche Auslastung für die 10-minütigen Ausrichtungszeiträ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 }
}
]
}
]
}
Um die Anfrage als curl
-Befehl anzusehen, als
HTTP-Anfrage oder in JavaScript auf fullscreen Vollbild klicken
in APIs Explorer ansehen.
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 du Schwierigkeiten hast, findest du weitere Informationen unter Fehler bei der Monitoring API beheben
Beispiel: Zeitachsen reduzieren
Dieses Beispiel erweitert das vorherige Beispiel um das Kombinieren der ausgerichteten Zeitachsen. aus den drei VM-Instanzen zu einer einzigen Zeitachse zusammen, die den Durchschnitt misst. Auslastung aller Instanzen.
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: 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 und achten Sie darauf, dass sie 20 Minuten beträgt. vor der Endzeit liegen.
-
Klicken Sie auf Standardparameter anzeigen und geben Sie in den Feldern
Folgendes:
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
}
}
]
}
]
}
Um die Anfrage als curl
-Befehl anzusehen, als
HTTP-Anfrage oder in JavaScript auf fullscreen Vollbild klicken
in APIs Explorer ansehen.
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 Filtern und aggregieren: Zeitachsen bearbeiten