Questo documento descrive come eseguire query e analizzare i dati di traccia utilizzando Observability Analytics, che fornisce un'interfaccia di query basata su SQL. SQL ti consente di eseguire analisi aggregate, che possono aiutarti a generare insight e identificare tendenze. Per visualizzare i risultati della query, utilizza tabelle o grafici. Puoi anche salvare queste tabelle e questi grafici nelle dashboard personalizzate.
Se vuoi visualizzare o esplorare singoli trace o intervalli oppure visualizzare gli attributi allegati agli intervalli, utilizza la pagina Esplora trace. Per informazioni su questa pagina, vedi Trovare ed esplorare le tracce.
Per la traccia, puoi eseguire una query su un bucket di osservabilità denominato _Trace. Una visualizzazione,
_AllSpans, è disponibile per le query. Per scoprire di più su come
vengono archiviati i dati di traccia, consulta
la panoramica dell'archiviazione.
Informazioni sui set di dati BigQuery collegati
Non hai bisogno di un set di dati BigQuery collegato per eseguire query sui dati di traccia o sui dati di traccia e log. Per questi scenari, puoi utilizzare la pagina Observability Analytics. Per informazioni sull'esecuzione di query sui dati di log, vedi Eseguire query e analizzare i log con Observability Analytics.
Hai bisogno di un set di dati BigQuery collegato quando vuoi eseguire una delle seguenti operazioni:
- Unire i dati di traccia ad altri set di dati BigQuery.
- Esegui query sui dati di tracciamento di un altro servizio, ad esempio la pagina BigQuery Studio o Looker Studio.
- Migliora le prestazioni delle query eseguite da Observability Analytics eseguendole negli slot riservati di BigQuery.
Questo documento non descrive come creare un set di dati collegato o come configurare Observability Analytics per eseguire query sugli slot riservati. Per informazioni su questi argomenti, consulta Eseguire query su un set di dati BigQuery collegato.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Per ottenere le autorizzazioni necessarie per caricare la pagina Observability Analytics, scrivere, eseguire e salvare query private sui dati di traccia, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Observability View Accessor (
roles/observability.viewAccessor) sulle visualizzazioni di osservabilità che vuoi interrogare. Questo ruolo supporta le condizioni IAM, che consentono di limitare la concessione a una visualizzazione specifica. Se non colleghi una condizione alla concessione del ruolo, l'entità può accedere a tutte le visualizzazioni di osservabilità. -
Observability Analytics User (
roles/observability.analyticsUser) sul tuo progetto. Questo ruolo contiene le autorizzazioni necessarie per salvare ed eseguire query private ed eseguire query condivise. -
Visualizzatore log (
roles/logging.viewer) sul tuo progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
Observability View Accessor (
Visualizzare lo schema
Lo schema definisce la modalità di archiviazione dei dati, inclusi i campi e i relativi
tipi di dati. Queste informazioni sono importanti per te perché lo schema determina
i campi che interroghi e se devi eseguire il cast dei campi in tipi di dati
diversi. Ad esempio, per scrivere una query che calcola la latenza media delle richieste HTTP, devi sapere come accedere al campo latenza e se è memorizzato come numero intero, ad esempio 100, o come stringa, ad esempio "100". Se i dati di latenza
sono memorizzati come stringa, la query deve eseguire il cast del valore in un valore numerico
prima di calcolare una media.
Per identificare lo schema:
-
Nella console Google Cloud , vai alla pagina manage_search Analisi dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Nel menu Visualizzazioni, vai alla sezione
Tracce,
e poi seleziona _Trace.Spans._AllSpans.Il riquadro Schema viene aggiornato. Observability Analytics deduce automaticamente i campi di una colonna quando il tipo di dati è JSON. Per visualizzare la frequenza con cui questi campi dedotti vengono visualizzati nei dati, fai clic su more_vert Opzioni e seleziona Visualizza informazioni e descrizione.
Per informazioni sullo schema, vedi Schema di archiviazione per i dati di traccia.
Se non vedi una visualizzazione denominata
_Trace.Spans._AllSpans, il tuo progettoGoogle Cloud non contiene un bucket di osservabilità denominato_Trace. Per informazioni su come risolvere questo errore, consulta Inizializzazione dell'archiviazione delle tracce non riuscita.
Eseguire query sui dati di traccia
Questa sezione descrive gli approcci che puoi utilizzare per eseguire query sui dati di traccia:
- Carica una query definita dal sistema, modificala ed eseguila.
- Inserisci ed esegui una query personalizzata. Ad esempio, puoi incollare una query che hai o scriverne una. Le query personalizzate possono includere join, query nidificate e altre istruzioni SQL complesse. Per esempi, vedi Query SQL di esempio.
- Crea una query selezionando le opzioni del menu e poi eseguila. Observability Analytics converte le selezioni in una query SQL, che puoi visualizzare e modificare.
Caricare, modificare ed eseguire la query definita dal sistema
-
Nella console Google Cloud , vai alla pagina manage_search Analisi dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Nel menu Visualizzazioni, vai alla sezione
Tracce,
e poi seleziona _Trace.Spans._AllSpans.Se non vedi una visualizzazione denominata
_Trace.Spans._AllSpans, il tuo progettoGoogle Cloud non contiene un bucket di osservabilità denominato_Trace. Per informazioni su come risolvere questo errore, consulta Inizializzazione dell'archiviazione delle tracce non riuscita.Esegui una delle seguenti operazioni:
Per caricare una query definita dal sistema che si basa su Query Builder, che consente di definire la query con le selezioni del menu, assicurati che nel riquadro Query sia visualizzato Query Builder. Se viene visualizzato un editor SQL, fai clic su tune Generatore.
Per caricare una query definita dal sistema che estrae i valori JSON, assicurati che il riquadro Query mostri l'editor SQL. Se in questo riquadro viene visualizzato Query Builder, fai clic su code SQL.
Nel riquadro Schema, seleziona Query e poi fai clic su Sovrascrivi.
Il riquadro Query mostra una query definita dal sistema. Se hai selezionato la modalità Generatore di query, ma vuoi visualizzare la query SQL, fai clic su code SQL.
(Facoltativo) Modifica la query.
Per eseguire la query, vai alla barra degli strumenti e seleziona Esegui query.
Observability Analytics presenta i risultati della query in una tabella. Tuttavia, puoi creare un grafico e puoi anche salvare la tabella o il grafico in una dashboard personalizzata. Per saperne di più, consulta Grafici dei risultati delle query SQL.
Se la barra degli strumenti mostra Esegui in BigQuery, devi passare a Observability Analytics per utilizzare il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su settings Impostazioni e poi seleziona Analytics (impostazione predefinita).
Inserire ed eseguire una query personalizzata
Per inserire una query SQL:
-
Nella console Google Cloud , vai alla pagina manage_search Analisi dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Nel riquadro Query, fai clic su code SQL.
Per specificare un intervallo di tempo, ti consigliamo di utilizzare il selettore dell'intervallo di tempo. Se aggiungi una clausola
WHEREche specifica il campotimestamp, questo valore sostituisce l'impostazione nel selettore dell'intervallo di tempo e questo selettore viene disattivato.Per esempi, vedi Query SQL di esempio.
L'editor SQL mostra il nome completo della vista
_Trace.Spans._AllSpans, che ha il seguente formato:FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`I campi nell'espressione precedente hanno il seguente significato:
- PROJECT_ID: l'identificatore del progetto.
- LOCATION: la posizione del bucket di osservabilità.
Se nel riquadro della query viene visualizzato un messaggio di errore che fa riferimento all'istruzione
FROM, significa che la visualizzazione non è stata trovata. Per informazioni su come risolvere questo errore, consulta Messaggio di errore che indica che una vista non esiste.
Per eseguire la query, vai alla barra degli strumenti e seleziona Esegui query.
Observability Analytics presenta i risultati della query in una tabella. Tuttavia, puoi creare un grafico e puoi anche salvare la tabella o il grafico in una dashboard personalizzata. Per saperne di più, consulta Grafici dei risultati delle query SQL.
Se la barra degli strumenti mostra Esegui in BigQuery, devi passare a Observability Analytics per utilizzare il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su settings Impostazioni e poi seleziona Analytics (impostazione predefinita).
Creare, modificare ed eseguire una query
L'interfaccia di Query Builder ti consente di creare una query effettuando selezioni dai menu. Observability Analytics converte le selezioni in una query SQL, che puoi visualizzare e modificare. Ad esempio, potresti iniziare a utilizzare l'interfaccia di Query Builder e poi passare all'editor SQL per perfezionare la query.
Observability Analytics può sempre convertire le selezioni dei menu dall'interfaccia di Query Builder in una query SQL. Tuttavia, non tutte le query SQL possono essere rappresentate dall'interfaccia di Query Builder. Ad esempio, le query con join non possono essere rappresentate da questa interfaccia.
Per creare una query:
-
Nella console Google Cloud , vai alla pagina manage_search Analisi dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Se nel riquadro Query viene visualizzato un editor SQL, seleziona tune Builder, che apre il riquadro Query Builder.
Utilizza il menu Origine per selezionare la visualizzazione per cui vuoi eseguire una query. Le selezioni vengono mappate alla clausola
FROMnella query SQL.(Facoltativo) Utilizza i seguenti menu per limitare o formattare la tabella dei risultati:
Cerca in tutti i campi: cerca le stringhe corrispondenti. Le selezioni vengono mappate alla clausola
WHEREnella query SQL.Colonne: seleziona le colonne da visualizzare nella tabella dei risultati. Le tue selezioni vengono mappate alle clausole
SELECTnella query SQL.Quando selezioni un nome campo in questo menu, si apre una finestra di dialogo. In questa finestra di dialogo, puoi:
Utilizza il menu per aggregare o raggruppare i dati.
Per evitare errori di sintassi, qualsiasi aggregazione e raggruppamento applicati a una colonna vengono applicati automaticamente anche alle altre colonne. Per un esempio di come aggregare e raggruppare le voci, consulta Raggruppare e aggregare i dati utilizzando Query Builder.
Trasforma un valore di qualsiasi tipo in un altro tipo di dati specificato. Per saperne di più, consulta la documentazione relativa a
CAST.Estrai una sottostringa di valori utilizzando le espressioni regolari. Per saperne di più, consulta la documentazione relativa a
REGEXP_EXTRACT.
Filtri: aggiungi filtri quando vuoi limitare la query agli intervalli che contengono un attributo o un ID intervallo specifico. Il menu elenca tutte le opzioni di filtro disponibili. Le tue selezioni vengono mappate alla clausola
WHEREnella query SQL.Ordina per: imposta le colonne in base alle quali ordinare e se l'ordinamento è crescente o decrescente. Le tue selezioni vengono mappate alla clausola
ORDER BYnella query SQL.Limite: imposta il numero massimo di righe nella tabella dei risultati. Le tue selezioni vengono mappate alla clausola
LIMITnella query SQL.
Per eseguire la query, vai alla barra degli strumenti e seleziona Esegui query.
Observability Analytics presenta i risultati della query in una tabella. Tuttavia, puoi creare un grafico e puoi anche salvare la tabella o il grafico in una dashboard personalizzata. Per saperne di più, consulta Grafici dei risultati delle query SQL.
Se la barra degli strumenti mostra Esegui in BigQuery, devi passare a Observability Analytics per utilizzare il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su settings Impostazioni e poi seleziona Analytics (impostazione predefinita).
Esempio: raggruppare e aggregare i dati utilizzando Query Builder
Quando selezioni una colonna in Query Builder, ogni campo include un menu in cui puoi aggiungere raggruppamenti e aggregazioni. Il raggruppamento ti consente di organizzare i dati in gruppi in base al valore di una o più colonne, mentre l'aggregazione ti consente di eseguire calcoli su questi gruppi per restituire un singolo valore.
Ogni campo selezionato nell'elemento Colonne ha un menu allegato con le seguenti opzioni:
- Nessuno: non raggruppare o aggregare in base a questo campo.
- Aggrega: raggruppa i campi elencati nell'elemento Colonne, tranne quando il campo ha una selezione Aggrega. Per questi campi, calcola il valore eseguendo un'operazione su tutte le voci di ogni raggruppamento. L'operazione potrebbe essere il calcolo della media di un campo o il conteggio del numero di voci in ogni raggruppamento.
- Raggruppa per: raggruppa le voci in base a tutti i campi elencati nell'elemento Colonne.
Di seguito viene illustrato come creare una query che raggruppa le voci e poi esegue un tipo di aggregazione.
Questo esempio descrive come utilizzare Query Builder per raggruppare gli span in base all'ora di inizio, al nome dello span e al tipo di span. Poi, per ogni gruppo, la query calcola la durata media in nanosecondi.
Per creare questa query:
- Nel menu Colonne, seleziona i campi
start_time,name,kindeduration_nano. - Per troncare l'ora di inizio, espandi il menu nella colonna
start_timee seleziona Raggruppa per. Assicurati che il menu di granularità sia impostato su Ora. Fai clic su Applica.
Quando selezioni Raggruppa per per una colonna, il sistema raggruppa le voci in base a tutte le colonne. In questo esempio, le voci sono raggruppate in base al valore troncato di
start_time, al nome dello span, al tipo di span e al valore della durata.Tuttavia, l'obiettivo di questo esempio è raggruppare le voci in base all'ora troncata, al nome dello span e al tipo di span, quindi, per ogni gruppo, calcolare la durata media. Nel passaggio successivo, modifichi il raggruppamento e aggiungi un'aggregazione.
Espandi il menu nel campo
duration_nano, seleziona Aggrega e poi imposta il campo Aggregazione su Media.Quando esegui la query, ogni riga corrisponde a un gruppo, che consiste in un orario troncato, un nome di intervallo e un tipo di intervallo. L'ultima voce di ogni riga è la durata media di tutte le voci del gruppo.
I risultati di questa query sono simili ai seguenti:
+-----------------------------------+----------------+----------+-----------------------+ | Row | hour_timestamp | span_name | kind | average_duation_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.409376La query può includere più aggregazioni. Ad esempio, per aggiungere una colonna che conteggia il numero di voci in ogni gruppo, procedi nel seguente modo:
- Nell'elemento Colonne, fai clic su Aggiungi colonna.
- Seleziona Tutti (*).
- Nella finestra di dialogo, seleziona Aggrega, poi Conteggio per Aggregazione e infine Applica.
Con questa modifica, il raggruppamento rimane invariato. Le voci sono raggruppate per ora di inizio troncata, nome dell'intervallo e tipo di intervallo. Tuttavia, per ogni gruppo, la query calcola la durata media e il numero di voci.
La query SQL corrispondente per l'esempio precedente è la seguente:
WITH
scope_query AS (
SELECT
*
FROM
`PROJECT_ID.global._Trace._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
Passaggi successivi
- Salva e condividi una query SQL.
- Grafici dei risultati delle query SQL.
- Query SQL di esempio.
- Esegui una query su un set di dati collegato in BigQuery.