Mit Observability Analytics können Sie SQL-Abfragen für Ihre Cloud Trace-Daten ausführen, um Leistungstrends zu erkennen, aggregierte Statistiken zu generieren und Ergebnisse in Diagrammen und Tabellen zu visualisieren. Abfragen werden für die Standardansicht _AllSpans ausgeführt, die alle von Ihrem Projekt gespeicherten Trace-Daten enthält. Sie können Ihre Ergebnisse in benutzerdefinierten Dashboards speichern.
Wenn Sie einzelne Traces, Spans oder Span-Attribute prüfen möchten, verwenden Sie die Seite Trace Explorer. Weitere Informationen finden Sie unter Traces finden und ansehen.
Verknüpfte BigQuery-Datasets
Sie benötigen kein verknüpftes BigQuery-Dataset, um Ihre Trace-Daten oder Ihre Trace- und Logdaten abzufragen. In solchen Szenarien können Sie die Seite Observability Analytics verwenden. Informationen zum Abfragen von Logdaten finden Sie unter Logs mit Observability Analytics abfragen und analysieren.
Sie benötigen ein verknüpftes BigQuery-Dataset, wenn Sie eine der folgenden Aktionen ausführen möchten:
- Trace-Daten mit anderen BigQuery-Datasets verknüpfen
- Trace-Daten aus einem anderen Dienst wie BigQuery Studio oder Data Studio abfragen
- Observability Analytics-Abfragen in der BigQuery-Engine mit On-Demand-Slots oder reservierten BigQuery-Slots ausführen.
- SQL-Abfrageergebnisse mit einer Benachrichtigungsrichtlinie überwachen
In diesem Dokument wird nicht beschrieben, wie Sie ein verknüpftes BigQuery-Dataset erstellen oder wie Sie Observability Analytics konfigurieren, um Abfragen in der BigQuery-Engine auszuführen. Informationen zu diesen Themen finden Sie unter Verknüpftes BigQuery-Dataset erstellen und Trace-Abfragen in der BigQuery-Engine ausführen.
Hinweis
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Laden der Seite Observability Analytics sowie zum Schreiben, Ausführen und Speichern privater Abfragen für Ihre Trace-Daten benötigen:
- Observability View Accessor (
roles/observability.viewAccessor) für die Beobachtbarkeitsansichten, die Sie abfragen möchten. Diese Rolle unterstützt IAM-Bedingungen, mit denen Sie die Zuweisung auf eine bestimmte Ansicht beschränken können. Wenn Sie der Rollenzuweisung keine Bedingung hinzufügen, kann das Hauptkonto auf alle Beobachtbarkeitsansichten zugreifen. - Observability Analytics User (
roles/observability.analyticsUser) für Ihr Projekt. Diese Rolle enthält die Berechtigungen, die zum Speichern und Ausführen privater Abfragen sowie zum Ausführen freigegebener Abfragen erforderlich sind.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
- Observability View Accessor (
Schema anzeigen
Das Schema definiert, wie die Daten gespeichert werden, einschließlich der Felder und ihrer Datentypen. Diese Informationen sind wichtig, da das Schema die Felder bestimmt, die Sie abfragen, und ob Sie Felder in andere Datentypen umwandeln müssen. Wenn Sie beispielsweise eine Abfrage schreiben möchten, die die durchschnittliche Latenz von HTTP-Anfragen berechnet, müssen Sie wissen, wie Sie auf das Latenzfeld zugreifen und ob es als Ganzzahl wie 100 oder als String wie "100" gespeichert ist. Wenn die Latenzdaten als String gespeichert sind, muss die Abfrage den Wert in einen numerischen Wert umwandeln, bevor ein Durchschnitt berechnet wird.
So identifizieren Sie das Schema:
-
Rufen Sie in der Google Cloud Console die Seite manage_searchObservability Analytics auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Gehen Sie im Menü Ansichten zum Abschnitt
Traces und wählen Sie _Trace.Spans._AllSpansaus.Der Bereich Schema wird aktualisiert. Observability Analytics leitet die Felder einer Spalte automatisch ab, wenn der Datentyp JSON ist. Wenn Sie sehen möchten, wie oft diese abgeleiteten Felder in Ihren Daten vorkommen, klicken Sie auf more_vert Optionen und wählen Sie Informationen und Beschreibung ansehen aus.
Informationen zum Schema finden Sie unter Speicherschema für Trace-Daten.
Wenn Sie keine Ansicht mit dem Namen
_Trace.Spans._AllSpanssehen, enthält IhrGoogle Cloud -Projekt keinen Beobachtbarkeits-Bucket mit dem Namen_Trace. Informationen zur Behebung dieses Fehlers finden Sie unter Trace-Speicherinitialisierung schlägt fehl.
Trace-Daten abfragen
In diesem Abschnitt werden die Ansätze beschrieben, mit denen Sie Ihre Trace-Daten abfragen können:
- Laden Sie eine systemdefinierte Abfrage, bearbeiten Sie sie und führen Sie sie dann aus.
- Geben Sie eine benutzerdefinierte Abfrage ein und führen Sie sie aus. Sie können beispielsweise eine vorhandene Abfrage einfügen oder eine neue schreiben. Benutzerdefinierte Abfragen können Joins, verschachtelte Abfragen und andere komplexe SQL-Anweisungen enthalten. Beispiele finden Sie unter Beispiel-SQL-Abfragen.
- Erstellen Sie eine Abfrage, indem Sie Menüoptionen auswählen, und führen Sie die Abfrage dann aus. Observability Analytics wandelt Ihre Auswahl in eine SQL-Abfrage um, die Sie sich ansehen und bearbeiten können.
Systemdefinierte Abfrage laden, bearbeiten und ausführen
-
Rufen Sie in der Google Cloud Console die Seite manage_searchObservability Analytics auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Gehen Sie im Menü Ansichten zum Abschnitt
Traces und wählen Sie _Trace.Spans._AllSpansaus.Wenn Sie keine Ansicht mit dem Namen
_Trace.Spans._AllSpanssehen, enthält IhrGoogle Cloud -Projekt keinen Beobachtbarkeits-Bucket mit dem Namen_Trace. Informationen zur Behebung dieses Fehlers finden Sie unter Trace-Speicherinitialisierung schlägt fehl.Führen Sie einen der folgenden Schritte aus:
Wenn Sie eine systemdefinierte Abfrage laden möchten, die auf dem Query Builder basiert, mit dem Sie die Abfrage über Menüauswahlen definieren können, muss im Bereich Abfrage die Option Query Builder angezeigt werden. Wenn ein SQL-Editor angezeigt wird, klicken Sie auf tune Builder.
Wenn Sie eine systemdefinierte Abfrage laden möchten, die JSON-Werte extrahiert, muss im Bereich Abfrage der SQL-Editor angezeigt werden. Wenn in diesem Bereich Query Builder angezeigt wird, klicken Sie auf code SQL.
Wählen Sie im Bereich Schema die Option Abfrage aus und klicken Sie dann auf Überschreiben.
Im Bereich Abfrage wird eine systemdefinierte Abfrage angezeigt. Wenn Sie den Modus Query Builder ausgewählt haben, aber die SQL-Abfrage aufrufen möchten, klicken Sie auf code SQL.
Optional: Ändern Sie die Abfrage.
Wählen Sie in der Symbolleiste Abfrage ausführen aus, um die Abfrage auszuführen.
Observability Analytics stellt die Abfrageergebnisse in einer Tabelle dar. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm in einem benutzerdefinierten Dashboard speichern. Weitere Informationen finden Sie unter SQL-SQL-Abfrage darstellen.
Wenn in der Symbolleiste In BigQuery ausführen angezeigt wird, müssen Sie Observability Analytics auf die Standardabfrage-Engine umstellen. Klicken Sie dazu in der Symbolleiste des Bereichs Abfrage auf settings Einstellungen und wählen Sie dann Analytics (Standard) aus.
Benutzerdefinierte Abfrage eingeben und ausführen
So geben Sie eine SQL-Abfrage ein:
-
Rufen Sie in der Google Cloud Console die Seite manage_searchObservability Analytics auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Klicken Sie im Bereich Abfrage auf code SQL.
Wir empfehlen, den Zeitraum über die Zeitraumauswahl festzulegen. Wenn Sie eine
WHERE-Klausel hinzufügen, die das Feldtimestampangibt, überschreibt dieser Wert die Einstellung in der Zeitraumauswahl und die Auswahl wird deaktiviert.Beispiele finden Sie unter Beispiel-SQL-Abfragen.
Im SQL-Editor wird der vollständig qualifizierte Name für die Ansicht
_Trace.Spans._AllSpansangezeigt, der das folgende Format hat:FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
Die Felder im vorherigen Ausdruck haben die folgende Bedeutung:
- PROJECT_ID: Die Kennung des Projekts.
- LOCATION: Der Speicherort des Observability-Buckets.
Wenn im Bereich „Abfrage“ eine Fehlermeldung angezeigt wird, die auf die
FROM-Anweisung verweist, kann die Ansicht nicht gefunden werden. Informationen zur Behebung dieses Fehlers finden Sie unter Fehlermeldung, dass eine Ansicht nicht vorhanden ist.
Wählen Sie in der Symbolleiste Abfrage ausführen aus, um die Abfrage auszuführen.
Observability Analytics stellt die Abfrageergebnisse in einer Tabelle dar. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm in einem benutzerdefinierten Dashboard speichern. Weitere Informationen finden Sie unter SQL-SQL-Abfrage darstellen.
Wenn in der Symbolleiste In BigQuery ausführen angezeigt wird, müssen Sie Observability Analytics auf die Standardabfrage-Engine umstellen. Klicken Sie dazu in der Symbolleiste des Bereichs Abfrage auf settings Einstellungen und wählen Sie dann Analytics (Standard) aus.
Abfrage erstellen, bearbeiten und ausführen
Über die Query Builder-Oberfläche können Sie eine Abfrage erstellen, indem Sie eine Auswahl aus Menüs treffen. Observability Analytics wandelt Ihre Auswahl in eine SQL-Abfrage um, die Sie sich ansehen und bearbeiten können. Sie können beispielsweise mit der Query Builder-Oberfläche beginnen und dann zum SQL-Editor wechseln, um Ihre Abfrage zu verfeinern.
Observability Analytics kann Ihre Menüauswahl aus der Query Builder-Oberfläche immer in eine SQL-Abfrage konvertieren. Nicht alle SQL-Abfragen können jedoch über die Query Builder-Oberfläche dargestellt werden. Abfragen mit Joins können beispielsweise nicht über diese Schnittstelle dargestellt werden.
So erstellen Sie eine Abfrage:
-
Rufen Sie in der Google Cloud Console die Seite manage_searchObservability Analytics auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Wenn im Bereich Abfrage ein SQL-Editor angezeigt wird, wählen Sie tune Builder aus, um den Bereich Query Builder zu öffnen.
Wählen Sie im Menü Quelle die Ansicht aus, die Sie abfragen möchten. Ihre Auswahl wird der
FROM-Klausel in der SQL-Abfrage zugeordnet.Optional: Verwenden Sie die folgenden Menüs, um die Ergebnistabelle einzuschränken oder zu formatieren:
In allen Feldern suchen: Nach übereinstimmenden Strings suchen. Ihre Auswahl wird der
WHERE-Klausel in der SQL-Abfrage zugeordnet.Spalten: Wählen Sie die Spalten aus, die in der Ergebnistabelle angezeigt werden sollen. Ihre Auswahl wird den
SELECT-Klauseln in der SQL-Abfrage zugeordnet.Wenn Sie in diesem Menü einen Feldnamen auswählen, wird ein Dialogfeld geöffnet. In diesem Dialogfeld können Sie Folgendes tun:
Verwenden Sie das Menü, um Ihre Daten zu aggregieren oder zu gruppieren.
Um Syntaxfehler zu vermeiden, werden alle Aggregationen und Gruppierungen, die Sie auf eine Spalte anwenden, automatisch auch auf andere Spalten angewendet. Ein Beispiel für das Aggregieren und Gruppieren von Einträgen finden Sie unter Daten mit dem Query Builder gruppieren und aggregieren.
Wandelt einen Wert eines beliebigen Typs in einen anderen angegebenen Datentyp um. Weitere Informationen finden Sie in der Dokumentation zu
CAST.Teilstring von Werten mithilfe von regulären Ausdrücken extrahieren. Weitere Informationen finden Sie in der Dokumentation zu
REGEXP_EXTRACT.
Filter: Fügen Sie Filter hinzu, wenn Sie die Abfrage auf Spans beschränken möchten, die ein bestimmtes Attribut oder eine bestimmte Span-ID enthalten. Im Menü werden alle verfügbaren Filteroptionen aufgeführt. Ihre Auswahl wird der
WHERE-Klausel in der SQL-Abfrage zugeordnet.Sortieren nach: Legen Sie die Spalten fest, nach denen sortiert werden soll, und ob die Sortierung aufsteigend oder absteigend erfolgen soll. Ihre Auswahl wird der
ORDER BY-Klausel in der SQL-Abfrage zugeordnet.Limit: Legen Sie die maximale Anzahl von Zeilen in der Ergebnistabelle fest. Ihre Auswahl wird der
LIMIT-Klausel in der SQL-Abfrage zugeordnet.
Wählen Sie in der Symbolleiste Abfrage ausführen aus, um die Abfrage auszuführen.
Observability Analytics stellt die Abfrageergebnisse in einer Tabelle dar. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm in einem benutzerdefinierten Dashboard speichern. Weitere Informationen finden Sie unter SQL-SQL-Abfrage darstellen.
Wenn in der Symbolleiste In BigQuery ausführen angezeigt wird, müssen Sie Observability Analytics auf die Standardabfrage-Engine umstellen. Klicken Sie dazu in der Symbolleiste des Bereichs Abfrage auf settings Einstellungen und wählen Sie dann Analytics (Standard) aus.
Beispiel: Daten mit dem Query Builder gruppieren und aggregieren
Wenn Sie im Query Builder eine Spalte auswählen, enthält jedes Feld ein Menü, in dem Sie Gruppierungen und Aggregationen hinzufügen können. Mit der Gruppierung können Sie Ihre Daten basierend auf dem Wert einer oder mehrerer Spalten in Gruppen organisieren. Mit der Aggregation können Sie Berechnungen für diese Gruppen durchführen, um einen einzelnen Wert zurückzugeben.
Jedes Feld, das Sie im Element Spalten auswählen, hat ein angehängtes Menü mit den folgenden Optionen:
- Keine: Nicht nach diesem Feld gruppieren oder aggregieren.
- Aggregieren: Gruppieren Sie die im Element Spalten aufgeführten Felder, es sei denn, für das Feld ist Aggregieren ausgewählt. Berechnen Sie für diese Felder den Wert, indem Sie einen Vorgang für alle Einträge in jeder Gruppierung ausführen. Der Vorgang kann darin bestehen, den Durchschnitt eines Felds zu berechnen oder die Anzahl der Einträge in jeder Gruppierung zu zählen.
- Gruppieren nach: Einträge werden nach allen Feldern gruppiert, die im Element Spalten aufgeführt sind.
In diesem Beispiel wird gezeigt, wie Sie mit dem Query Builder Spans nach Startzeit, Spanname und Spantyp gruppieren und dann die durchschnittliche Dauer in Nanosekunden für jede Gruppe berechnen:
- Wählen Sie im Menü Spalten die Felder
start_time,name,kindundduration_nanoaus. - Wenn Sie die Startzeit auf die Stunde kürzen möchten, maximieren Sie das Menü in der Spalte
start_timeund wählen Sie Gruppieren nach aus. Achten Sie darauf, dass im Menü für die Granularität Stunde ausgewählt ist. Klicken Sie auf Übernehmen.
Wenn Sie für eine Spalte Gruppieren nach auswählen, werden die Einträge nach allen Spalten gruppiert. In diesem Beispiel werden die Einträge nach dem gekürzten Wert von
start_time, dem Span-Namen, der Span-Art und dem Wert der Dauer gruppiert.In diesem Beispiel sollen die Einträge jedoch nach der gekürzten Zeit, dem Span-Namen und der Span-Art gruppiert und dann für jede Gruppe die durchschnittliche Dauer berechnet werden. Im nächsten Schritt ändern Sie die Gruppierung und fügen eine Aggregation hinzu.
Maximieren Sie das Menü im Feld
duration_nano, wählen Sie Aggregieren aus und legen Sie dann für das Feld Aggregation die Option Durchschnitt fest.Wenn Sie die Abfrage ausführen, entspricht jede Zeile einer Gruppe, die aus einer gekürzten Zeit, einem Span-Namen und einer Span-Art besteht. Der letzte Eintrag in jeder Zeile ist die durchschnittliche Dauer für alle Einträge in dieser Gruppe.
Das Ergebnis dieser Abfrage sieht in etwa so aus:
+-----------------------------------+----------------+----------+-----------------------+ | Row | hour_timestamp | span_name | kind | average_duration_nano | | | TIMESTAMP | STRING | INTEGER | FLOAT | +-----+-----------------------------+-----------+---------------+-----------------------+ | 1 | 2025-10-09 13:00:00.000 EDT | http.receive | 3 | 122138.22813990474 | 2 | 2025-10-09 13:00:00.000 EDT | query.request | 1 | 6740819304.390297 | 3 | 2025-10-09 13:00:00.000 EDT | client.handler | 2 | 6739339098.409376Ihre Abfrage kann mehrere Aggregationen enthalten. So fügen Sie beispielsweise eine Spalte hinzu, in der die Anzahl der Einträge in jeder Gruppe gezählt wird:
- Klicken Sie im Element Spalten auf Spalte hinzufügen.
- Wählen Sie Alle (*) aus.
- Wählen Sie im Dialogfeld Aggregieren aus, wählen Sie Anzahl für die Aggregation aus und wählen Sie dann Anwenden aus.
Die Gruppierung bleibt gleich. Die Einträge werden nach der gekürzten Startzeit, dem Span-Namen und dem Span-Typ gruppiert. Für jede Gruppe werden jedoch die durchschnittliche Dauer und die Anzahl der Einträge berechnet.
Die entsprechende SQL-Abfrage für das vorherige Beispiel sieht so aus:
WITH
scope_query AS (
SELECT
*
FROM
`PROJECT_ID.us._Trace.Spans._AllSpans` )
SELECT
-- Report the truncated start time, span name, span kind, average duration and number
-- of entries for each group.
TIMESTAMP_TRUNC( start_time, HOUR ) AS hour_start_time,
name AS span_name,
kind,
AVG( duration_nano ) AS average_duration_nano,
COUNT( * ) AS count_all
FROM
scope_query
GROUP BY
TIMESTAMP_TRUNC( start_time, HOUR ),
name,
kind
LIMIT
100