Esegui query e analizza i log con Observability Analytics

Questo documento descrive come eseguire query e analizzare i dati di log utilizzando Observability Analytics, che fornisce un'interfaccia di query basata su SQL. Utilizzando SQL, puoi eseguire attività come contare le voci di log con un campo che corrisponde a un pattern. Observability Analytics fornisce un editor SQL e un sistema basato su menu per la creazione di query. Per visualizzare i risultati della query, puoi utilizzare il formato tabulare o visualizzare i dati sotto forma di grafico. Puoi salvare i grafici nelle dashboard personalizzate.

Puoi eseguire query su una vista log su un bucket di log o su una vista di analisi. Quando esegui una query su una visualizzazione log, lo schema corrisponde a quello della struttura dei dati LogEntry. Poiché lo schema è determinato dal creator di una vista di analisi, un caso d'uso per le viste di analisi è la trasformazione dei dati di log dal formato LogEntry in un formato più adatto alle tue esigenze.

Puoi anche utilizzare Observability Analytics per eseguire query sui dati di traccia. Per saperne di più, consulta Esegui query e analizza le tracce.

Observability Analytics non deduplica le voci di log, il che potrebbe influire sul modo in cui scrivi le query. Inoltre, esistono alcune restrizioni per l'utilizzo di Observability Analytics. Per saperne di più su questi argomenti, consulta i seguenti documenti:

Informazioni sui set di dati BigQuery collegati

Non è necessario un set di dati BigQuery collegato per eseguire query sui dati di log o sui dati di log e tracce. In questi scenari, puoi utilizzare la pagina Analisi di osservabilità. Puoi anche salvare e condividere le query e salvarle in una dashboard personalizzata. Per informazioni su come eseguire query sui dati di traccia, consulta Esegui query e analizza le tracce.

È necessario un set di dati BigQuery collegato se vuoi eseguire una delle seguenti operazioni:

Se scegli di creare un set di dati BigQuery collegato in un bucket di log, espandi il perimetro di sicurezza dei dati di log per includere i servizi BigQuery. Ciò significa che i servizi BigQuery ora possono eseguire query sui dati di log inviando una query al set di dati BigQuery collegato. Prima di creare un set di dati BigQuery collegato, ti consigliamo di consultare l'articolo Sicurezza dei dati con Observability Analytics.

Prima di iniziare

Questa sezione descrive i passaggi da completare prima di poter utilizzare Observability Analytics.

Configura i bucket di log

Assicurati che sia stato eseguito l'upgrade dei bucket di log per utilizzare Observability Analytics:

  1. Nella console Google Cloud , vai alla pagina Archiviazione dei log:

    Vai ad Archiviazione dei log

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Per ogni bucket di log con una visualizzazione dei log su cui vuoi eseguire query, assicurati che nella colonna Observability Analytics disponibile sia visualizzato Apri. Se viene visualizzato Esegui l'upgrade, fai clic su Esegui l'upgrade e completa la finestra di dialogo.

Configura ruoli e autorizzazioni IAM

Questa sezione descrive i ruoli o le autorizzazioni IAM necessari per utilizzare Observability Analytics:

  • Per ottenere le autorizzazioni necessarie per utilizzare Observability Analytics ed eseguire query sulle visualizzazioni dei log, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

    • Per eseguire query sui bucket di log _Required e _Default: Visualizzatore log (roles/logging.viewer)
    • Per eseguire query su tutte le visualizzazioni dei log in un progetto: Logs View Accessor (roles/logging.viewAccessor)

    Puoi limitare un'entità a una visualizzazione log specifica aggiungendo una condizione IAM alla concessione del ruolo Visualizzatore log effettuata a livello di progetto o aggiungendo un'associazione IAM al file della policy della visualizzazione log. Per saperne di più, consulta Controlla l'accesso a una visualizzazione log.

    Queste sono le stesse autorizzazioni necessarie per visualizzare le voci di log nella pagina Esplora log. Per informazioni sui ruoli aggiuntivi necessari per eseguire query sulle visualizzazioni su bucket definiti dall'utente o per eseguire query sulla visualizzazione _AllLogs del bucket di log _Default, consulta Ruoli di Cloud Logging.

  • Per ottenere le autorizzazioni necessarie per eseguire query sulle viste di analisi, chiedi all'amministratore di concederti il ruolo IAM Utente di Observability Analytics (roles/observability.analyticsUser) nel progetto.

Esegui query sui dati di log

In questa sezione vengono descritti gli approcci che puoi utilizzare per eseguire query sui dati di log:

  • 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, consulta Esempi di query SQL.
  • Crea una query effettuando selezioni dai menu, quindi eseguila. Observability Analytics converte le tue selezioni in una query SQL, che puoi visualizzare e modificare.

Carica, modifica ed esegui la query definita dal sistema

  1. Nella console Google Cloud , vai alla pagina Observability Analytics:

    Vai a Observability Analytics

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Nel menu Viste, vai alla sezione Log o Viste di analisi e seleziona la vista su cui vuoi eseguire la query.

    Per trovare la vista su cui eseguire la query, utilizza la barra Filtro o scorri l'elenco:

    • Le visualizzazioni di log sono elencate per BUCKET_ID.LOG_VIEW_ID, dove questi campi fanno riferimento agli ID del bucket di log e della visualizzazione di log.
    • Le viste di analisi sono elencate per LOCATION.ANALYTICS_VIEW_ID, dove questi campi si riferiscono alla località e all'ID di una vista di analisi. Le viste di analisi sono in Anteprima pubblica.

  3. Esegui una delle seguenti operazioni:

    • Per caricare una query definita dal sistema che si basa su Query Builder, che ti consente di definire la query con le selezioni dei menu, assicurati che nel riquadro Query sia visualizzato Query Builder. Se viene visualizzato un editor SQL, fai clic su  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  SQL.

  4. 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à Query Builder, ma vuoi visualizzare la query SQL, fai clic su  SQL.

  5. (Facoltativo) Modifica la query.

  6. 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 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 cambiare Observability Analytics per utilizzare il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su Impostazioni e poi seleziona Analytics (predefinito).

Inserisci ed esegui una query personalizzata

Per inserire una query SQL:

  1. Nella console Google Cloud , vai alla pagina Observability Analytics:

    Vai a Observability Analytics

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Nel riquadro Query, fai clic su  SQL.

    • Per specificare un intervallo di tempo, ti consigliamo di utilizzare il selettore dell'intervallo di tempo. Se aggiungi una clausola WHERE che specifica il campo timestamp, questo valore sostituisce l'impostazione nel selettore dell'intervallo di tempo e il selettore viene disattivato.

    • Per esempi, consulta Esempi di query SQL.

    • Puoi eseguire query su visualizzazioni log o viste di analisi. Utilizza il seguente formato per la clausola FROM:

      • Visualizzazioni log:
        FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      • Viste di Analytics:
        FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`

      I campi delle espressioni precedenti hanno il seguente significato:

      • PROJECT_ID: l'identificatore del progetto.
      • LOCATION: la posizione della visualizzazione log o della vista di analisi.
      • BUCKET_ID: il nome o l'ID del bucket di log.
      • LOG_VIEW_ID: l'identificatore della visualizzazione log, che è limitato a 100 caratteri e può includere solo lettere, cifre, trattini bassi e trattini.
      • ANALYTICS_VIEW_ID: l'ID della vista di analisi, che è limitato a 100 caratteri e può includere solo lettere, cifre, trattini bassi e trattini.

      Se nel riquadro delle query viene visualizzato un messaggio di errore che fa riferimento all'istruzione FROM, la vista non è stata trovata. Per informazioni su come risolvere questo errore, consulta Errore: la clausola FROM deve contenere esattamente una visualizzazione log.

  3. 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 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 cambiare Observability Analytics per utilizzare il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su Impostazioni e poi seleziona Analytics (predefinito).

Crea, modifica ed esegui una query

L'interfaccia di Query Builder ti consente di creare una query effettuando selezioni dai menu. Observability Analytics converte le tue selezioni in una query SQL, che puoi visualizzare e modificare. Ad esempio, puoi iniziare utilizzando 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, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Observability Analytics:

    Vai a Observability Analytics

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Se nel riquadro Query viene visualizzato un editor SQL, seleziona Builder, che apre il riquadro Query Builder.

  3. Utilizza il menu Origine per selezionare la vista su cui vuoi eseguire la query. Le tue selezioni vengono mappate alla clausola FROM nella query SQL.

  4. (Facoltativo) Utilizza i seguenti menu per limitare o formattare la tabella dei risultati:

    • Cerca in tutti i campi: cerca le stringhe corrispondenti. Le tue selezioni vengono mappate alla clausola WHERE nella query SQL.

    • Colonne: seleziona le colonne visualizzate nella tabella dei risultati. Le tue selezioni vengono mappate alle clausole SELECT nella query SQL.

      Quando selezioni un nome di 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 Raggruppa e aggrega i dati utilizzando Query Builder.

      • Consente di trasmettere 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 se 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 WHERE nella 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 BY nella query SQL.

    • Limite: imposta il numero massimo di righe nella tabella dei risultati. Le tue selezioni vengono mappate alla clausola LIMIT nella query SQL.

  5. 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 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 cambiare Observability Analytics per utilizzare il motore di query predefinito. Per apportare questa modifica, nella barra degli strumenti del riquadro Query, fai clic su Impostazioni e poi seleziona Analytics (predefinito).

Esempio: raggruppa e aggrega i dati utilizzando Query Builder

Quando selezioni una colonna in Query Builder, ogni campo include un menu in cui puoi aggiungere raggruppamento e aggregazione. 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 associato con le seguenti opzioni:

  • Nessuna: 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 un'azione come il conteggio del numero di voci in ogni raggruppamento.
  • Raggruppa per: raggruppa le voci in base a tutti i campi elencati nell'elemento Colonne.

Questo esempio mostra come utilizzare Query Builder per raggruppare le voci di log in base alla gravità e al timestamp, quindi calcolare la media del campo http_request.response_size per ogni gruppo:

  1. Nel menu Colonne, seleziona i campi timestamp, severity e http_request.response_size.

    1. Per raggruppare i dati, fai clic sul campo timestamp per aprire la finestra di dialogo delle impostazioni. In questa finestra di dialogo, seleziona l'opzione Raggruppa per e imposta Granularità di troncamento su HOUR. Il raggruppamento viene quindi applicato automaticamente a tutti gli altri campi per evitare errori di sintassi. Se sono presenti campi non validi in cui non è possibile applicare il raggruppamento, viene visualizzato un messaggio di errore. Per risolvere questo errore, rimuovi i campi non validi dal menu.

    2. Per eseguire l'aggregazione sul campo http_request.response_size, fai clic sul campo per aprire la finestra di dialogo delle impostazioni. In questa finestra di dialogo, seleziona Aggrega. Nel menu Aggregazione, fai clic su Media.

  2. Nel menu Filtri, aggiungi http_request.response_size e imposta il comparatore su IS NOT NULL. Questo filtro corrisponde alle voci di log che contengono un valore response_size.

    I menu di Query Builder sono simili ai seguenti:

    Aggrega e raggruppa utilizzando i menu di Query Builder.

  3. Per eseguire la query, vai alla barra degli strumenti e seleziona Esegui query.

    Il risultato di questa query è simile al seguente:

    +-----------------------------------+----------+---------------+
    | Row | hour_timestamp              | severity | response_size |
    |     | TIMESTAMP                   | STRING   | INTEGER       |
    +-----+-----------------------------+----------+---------------+
    | 1   | 2025-10-06 16:00:00.000 UTC | NOTICE   | 3082          |
    | 2   | 2025-10-06 17:00:00.000 UTC | WARNING  | 338           |
    | 3   | 2025-10-06 16:00:00.000 UTC | INFO     | 149           |
    

La query SQL corrispondente per l'esempio precedente è la seguente:

SELECT
  -- Truncate the timestamp by hour.
  TIMESTAMP_TRUNC( timestamp, HOUR ) AS hour_timestamp,
  severity,
  -- Compute average response_size.
  AVG( http_request.response_size ) AS average_http_request_response_size
FROM
  `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
WHERE
  -- Matches log entries that have a response_size.
  http_request.response_size IS NOT NULL
GROUP BY
  -- Group log entries by timestamp and severity.
  TIMESTAMP_TRUNC( timestamp, HOUR ),
  severity
LIMIT
  1000

Visualizza lo schema

Lo schema definisce il modo in cui vengono archiviati i dati, inclusi i campi e i relativi tipi di dati. Queste informazioni sono importanti perché lo schema determina i campi su cui eseguire query 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 della latenza e se è archiviato come numero intero come 100 o come stringa come "100". Se i dati sulla latenza sono archiviati come stringa, la query deve eseguire il cast del valore in un valore numerico prima di calcolare una media.

Per identificare lo schema:

  1. Nella console Google Cloud , vai alla pagina Observability Analytics:

    Vai a Observability Analytics

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Nel menu Viste, vai alla sezione Log o Viste di analisi e seleziona la vista su cui vuoi eseguire la query.

    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 Opzioni e seleziona Visualizza informazioni e descrizione.

    Per le visualizzazioni dei log, lo schema è fisso e corrisponde a LogEntry. Per le viste di analisi, puoi modificare la query SQL per cambiare lo schema.

Passaggi successivi