Questo documento descrive come eseguire query e analizzare i dati di traccia utilizzando Analisi dei log, che fornisce un'interfaccia di query basata su SQL. SQL consente di eseguire analisi aggregate, che possono aiutarti a generare insight e identificare le 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 singole tracce o intervalli oppure visualizzare gli attributi collegati agli intervalli, utilizza la pagina Esplora tracce. Per informazioni su questa pagina, consulta Trovare ed esplorare le tracce.
Per le tracce, puoi eseguire query su un bucket di osservabilità denominato _Trace. È disponibile una visualizzazione, _AllSpans, per l'esecuzione di query. Per scoprire di più su come
vengono archiviati i dati di traccia, consulta
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 di log. In questi scenari, puoi utilizzare la pagina Analisi dei log. Per informazioni sull'esecuzione di query sui dati di log, consulta Eseguire query e analizzare i log con Analisi dei log.
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.
- Eseguire query sui dati di traccia da un altro servizio, ad esempio la pagina BigQuery Studio o Looker Studio.
- Migliorare le prestazioni delle query eseguite da Analisi dei log eseguendole negli slot riservati di BigQuery.
Questo documento non descrive come creare un set di dati collegato o come configurare Analisi dei log 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 Google Cloud account. 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 Analisi dei log, 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à su cui vuoi eseguire query. Questo ruolo supporta le condizioni IAM, che consentono di limitare la concessione a una visualizzazione specifica. Se non alleghi 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 perché lo schema determina i campi su cui esegui le query e se devi trasmettere i campi a tipi di dati diversi. Ad esempio, per scrivere una query che calcola la latenza media delle richieste HTTP, devi sapere come accedere al campo della latenza e se viene memorizzato come numero intero, ad esempio 100, o come stringa, ad esempio "100". Se i dati di latenza vengono memorizzati come stringa, la query deve trasmettere il valore a un valore numerico prima di calcolare una media.
Per identificare lo schema:
-
Nella Google Cloud console, vai alla manage_search Analisi dei log page:
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 seleziona _Trace.Spans._AllSpans.Il riquadro Schema viene aggiornato. Analisi dei log 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 scoprire di più sullo schema, consulta Schema di archiviazione per i dati di traccia.
Se non vedi una visualizzazione denominata
_Trace.Spans._AllSpans, allora il tuo Google Cloud progetto 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 unioni, query nidificate e altre istruzioni SQL complesse. Per esempi, consulta Esempi di query SQL.
- Crea una query effettuando selezioni dal menu ed eseguila. Analisi dei log converte le selezioni in una query SQL, che puoi visualizzare e modificare.
Caricare, modificare ed eseguire la query definita dal sistema
-
Nella Google Cloud console, vai alla manage_search Analisi dei log page:
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 seleziona _Trace.Spans._AllSpans.Se non vedi una visualizzazione denominata
_Trace.Spans._AllSpans, allora il tuo Google Cloud progetto 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 Builder.
Per caricare una query definita dal sistema che estrae i valori JSON, assicurati che nel riquadro Query sia visualizzato l'editor SQL. Se in questo riquadro viene visualizzato Query Builder, fai clic su code SQL.
Nel riquadro Schema , seleziona Query e fai clic su Sovrascrivi.
Nel riquadro Query viene visualizzata una query definita dal sistema. Se hai selezionato la modalità Query Builder, 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.
Analisi dei log presenta i risultati della query in una tabella. Tuttavia, puoi creare un grafico e salvare la tabella o il grafico in una dashboard personalizzata. Per ulteriori informazioni, consulta Creare grafici dei risultati delle query SQL.
Se nella barra degli strumenti viene visualizzato Esegui in BigQuery, devi impostare Analisi dei log in modo che utilizzi il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su settings Impostazioni e seleziona Analytics (predefinito).
Inserire ed eseguire una query personalizzata
Per inserire una query SQL:
-
Nella Google Cloud console, vai alla manage_search Analisi dei log page:
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 il selettore viene disattivato.Per esempi, consulta Esempi di query SQL.
L'editor SQL mostra il nome completo della visualizzazione
_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 località del bucket di osservabilità.
Se nel riquadro della query viene visualizzato un messaggio di errore che fa riferimento all'istruzione
FROM, significa che non è stato possibile trovare la visualizzazione. Per informazioni su come risolvere questo errore, consulta Messaggio di errore che indica che una visualizzazione non esiste.
Per eseguire la query, vai alla barra degli strumenti e seleziona Esegui query.
Analisi dei log presenta i risultati della query in una tabella. Tuttavia, puoi creare un grafico e salvare la tabella o il grafico in una dashboard personalizzata. Per ulteriori informazioni, consulta Creare grafici dei risultati delle query SQL.
Se nella barra degli strumenti viene visualizzato Esegui in BigQuery, devi impostare Analisi dei log in modo che utilizzi il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su settings Impostazioni e seleziona Analytics (predefinito).
Creare, modificare ed eseguire una query
L'interfaccia Query Builder consente di creare una query effettuando selezioni dai menu. Analisi dei log converte le selezioni in una query SQL, che puoi visualizzare e modificare. Ad esempio, puoi iniziare a utilizzare l'interfaccia Query Builder e poi passare all'editor SQL per perfezionare la query.
Analisi dei log può sempre convertire le selezioni del menu dall'interfaccia Query Builder in una query SQL. Tuttavia, non tutte le query SQL possono essere rappresentate dall'interfaccia Query Builder. Ad esempio, le query con unioni non possono essere rappresentate da questa interfaccia.
Per creare una query:
-
Nella Google Cloud console, vai alla manage_search Analisi dei log page:
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 su cui vuoi eseguire 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 che vengono visualizzate nella tabella dei risultati. Le selezioni vengono mappate alle clausole
SELECTnella query SQL.Quando selezioni un nome di campo in questo menu, si apre una finestra di dialogo. In questa finestra di dialogo puoi:
Utilizzare il menu per aggregare o raggruppare i dati.
Per evitare errori di sintassi, qualsiasi aggregazione e raggruppamento applicato a una colonna viene applicato automaticamente anche alle altre colonne. Per un esempio di come aggregare e raggruppare le voci, consulta Raggruppare e aggregare i dati utilizzando Query Builder.
Trasmettere un valore di qualsiasi tipo a un altro tipo di dati specificato. Per ulteriori informazioni, consulta la
CASTdocumentazione.Estrarre una sottostringa di valori utilizzando le espressioni regolari. Per ulteriori informazioni, consulta la
REGEXP_EXTRACTdocumentazione.
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 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 selezioni vengono mappate alla clausola
ORDER BYnella query SQL.Limite: imposta il numero massimo di righe nella tabella dei risultati. Le selezioni vengono mappate alla clausola
LIMITnella query SQL.
Per eseguire la query, vai alla barra degli strumenti e seleziona Esegui query.
Analisi dei log presenta i risultati della query in una tabella. Tuttavia, puoi creare un grafico e salvare la tabella o il grafico in una dashboard personalizzata. Per ulteriori informazioni, consulta Creare grafici dei risultati delle query SQL.
Se nella barra degli strumenti viene visualizzato Esegui in BigQuery, devi impostare Analisi dei log in modo che utilizzi il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su settings Impostazioni e seleziona Analytics (predefinito).
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 consente di organizzare i dati in gruppi in base al valore di una o più colonne, mentre l'aggregazione 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 qualcosa di simile al 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 ed esegue un tipo di aggregazione.
Questo esempio descrive come utilizzare Query Builder per raggruppare gli intervalli in base all'ora di inizio, al nome dell'intervallo e al tipo di intervallo. 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 all'ora, espandi il menu nella colonna
start_timee seleziona Raggruppa per. Assicurati che il menu della 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 vengono raggruppate in base al valore troncato di
start_time, al nome dell'intervallo, al tipo di intervallo e al valore della durata.Tuttavia, l'obiettivo di questo esempio è raggruppare le voci in base all'ora troncata, al nome dell'intervallo e al tipo di intervallo e, per ogni gruppo, calcolare la durata media. Nel passaggio successivo, modificherai il raggruppamento e aggiungerai un'aggregazione.
Espandi il menu nel campo
duration_nano, seleziona Aggrega e imposta il campo Aggregazione su Media.Quando esegui la query, ogni riga corrisponde a un gruppo, composto da un'ora troncata, 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 conta il numero di voci in ogni gruppo:
- Nell'elemento Colonne, fai clic su Aggiungi colonna.
- Seleziona Tutti (*).
- Nella finestra di dialogo, seleziona Aggrega, seleziona Conteggio per l' Aggregazione e poi seleziona Applica.
Con questa modifica, il raggruppamento rimane invariato. Le voci vengono raggruppate in base all'ora di inizio troncata, al nome dell'intervallo e al tipo di intervallo. Tuttavia, per ogni gruppo, la query calcola la durata media e il numero di voci.
La query SQL corrispondente all'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
- Salvare e condividere una query SQL.
- Creare grafici dei risultati delle query SQL.
- Esempi di query SQL.
- Eseguire query su un set di dati collegato in BigQuery.