Esegui query e analizza i log con Log Analytics

Questo documento descrive come eseguire query e analizzare i dati dei log utilizzando Analisi dei log, 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. Log Analytics fornisce un editor SQL e un sistema basato su menu per creare query. Per visualizzare i risultati della query, puoi utilizzare il formato tabellare oppure visualizzare i dati come grafico. Puoi salvare i grafici nelle dashboard personalizzate.

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

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

Informazioni sui set di dati collegati

Log Analytics supporta la creazione di set di dati BigQuery collegati, che consentono a BigQuery di accedere in lettura ai dati sottostanti. Se scegli di creare un set di dati collegato, puoi:

Se scegli di creare un set di dati collegato a un bucket di log, espandi il perimetro di sicurezza dei dati di log in modo da includere i servizi BigQuery. ovvero i servizi BigQuery ora possono eseguire query sui dati di log inviando una query al set di dati collegato. Prima di creare un set di dati collegato, ti consigliamo di esaminare Sicurezza dei dati con Log Analytics.

Prima di iniziare

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

Configura i bucket di log

Assicurati che i bucket di log siano stati sottoposti all'upgrade per utilizzare Analisi dei log:

  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 log che vuoi interrogare, assicurati che la colonna Log Analytics disponibile mostri 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 Log Analytics:

  • Per ottenere le autorizzazioni necessarie per utilizzare Log Analytics ed eseguire query sulle visualizzazioni 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 principal a una visualizzazione di log specifica aggiungendo una condizione IAM alla concessione del ruolo Accessore visualizzazione log effettuata a livello di progetto oppure aggiungendo un'associazione IAM al file della policy della visualizzazione di log. Per saperne di più, consulta Controllare l'accesso a una visualizzazione log.

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

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

Esegui query sui dati di log

Questa sezione descrive 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, vedi Query SQL di esempio.
  • Crea una query selezionando le opzioni del menu e poi 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

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

    Vai ad Analisi dei log

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

  2. Nel menu Visualizzazioni, vai alla sezione Log o Visualizzazioni Analytics e seleziona la visualizzazione per cui vuoi eseguire la query.

    Per trovare la visualizzazione da interrogare, utilizza la barra Filtra o scorri l'elenco:

    • Le visualizzazioni di log sono elencate per BUCKET_ID.LOG_VIEW_ID, dove questi campi si riferiscono agli ID del bucket di log e della visualizzazione di log.

    • Le viste Analytics sono elencate per LOCATION.ANALYTICS_VIEW_ID, dove questi campi si riferiscono alla posizione e all'ID di una vista Analytics. Le visualizzazioni di Analytics 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 del menu, assicurati che nel riquadro Query sia visualizzato Query Builder. Se viene visualizzato un editor SQL, fai clic su  Generatore.

    • Per caricare una query definita dal sistema che estrae valori JSON, assicurati che il riquadro Query mostri l'editor SQL. Se in questo riquadro viene visualizzato Generatore di query, 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à Generatore di query, 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.

    Log 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 Log 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 (impostazione predefinita).

Inserire ed eseguire una query personalizzata

Per inserire una query SQL:

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

    Vai ad Analisi dei log

    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, vedi Query SQL di esempio.

    • Puoi eseguire query sulle visualizzazioni dei log o sulle visualizzazioni di Analytics. Utilizza il seguente formato per la clausola FROM:

      • Visualizzazioni log:

        FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
        
      • Viste Analytics:

        FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`
        

      I campi nelle espressioni precedenti hanno il seguente significato:

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

      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 La clausola Error FROM deve contenere esattamente una visualizzazione del log.

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

    Log 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 Log 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 (impostazione predefinita).

Creare, modificare ed eseguire una query

L'interfaccia di Query Builder ti 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, potresti iniziare a utilizzare l'interfaccia di Query Builder e poi passare all'editor SQL per perfezionare la query.

Analisi dei log può sempre convertire le selezioni di 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:

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

    Vai ad Analisi dei log

    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 visualizzazione che vuoi interrogare. Le 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 selezioni vengono mappate alla clausola WHERE nella query SQL.

    • Colonne: seleziona le colonne da visualizzare 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 che applichi 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.

      • Trasforma un valore di qualsiasi tipo in un altro tipo di dati specificato. Per saperne di più, consulta la documentazione relativa a CAST.

      • Estrae 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 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 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.

    Log 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 Log 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 (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 raggruppa né aggrega 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 le voci di log per gravità e timestamp, quindi calcolare la media del campo http_request.response_size per ogni gruppo.

Per creare una query che raggruppa e aggrega i dati, effettua le seguenti selezioni dai menu di Query Builder:

  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 la granularità del 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. Rimuovi i campi non validi dal menu per risolvere l'errore.

    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.

    I risultati di questa query sono simili ai seguenti:

    +-----------------------------------+----------+---------------+
    | 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 all'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

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 della 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:

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

    Vai ad Analisi dei log

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

  2. Nel menu Visualizzazioni, vai alla sezione Log o Visualizzazioni Analytics e seleziona la visualizzazione per cui vuoi eseguire la query.

    Il riquadro Schema viene aggiornato. Log 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 visualizzazioni di analisi, puoi modificare la query SQL per cambiare lo schema.

Passaggi successivi