Esegui una query su un set di dati BigQuery collegato

Questo documento descrive come creare un set di dati collegato per un bucket di log e come eseguire query e visualizzare i log in quel set di dati. Ad esempio, potresti creare un set di dati collegato per eseguire query su Log Analytics utilizzando gli slot BigQuery riservati. Analogamente, potresti volere un set di dati collegato per poter scrivere query in BigQuery o in Looker Studio che uniscono i dati dei log ad altri dati aziendali.

Se non hai familiarità con Analisi dei log, consulta la panoramica di Analisi dei log.

Quando hai bisogno di un set di dati collegato

Non è necessario un set di dati BigQuery collegato per eseguire query su una vista log nella pagina Log Analytics quando utilizzi il servizio Cloud Logging predefinito. Puoi salvare e condividere le query e salvare i risultati in una dashboard personalizzata.

Devi disporre di un set di dati BigQuery collegato se vuoi eseguire una delle seguenti operazioni:

Un set di dati BigQuery collegato per un bucket di log consente a BigQuery di leggere i dati nel bucket di log.

Se esegui le query su slot BigQuery riservati, le query sono soggette ai prezzi di calcolo della capacità. Inoltre, se effettui query sui tuoi dati utilizzando un servizio diverso da Log Analytics, le query potrebbero essere soggette ad altri addebiti in base al servizio. Consulta la pagina dei prezzi del servizio che stai utilizzando.

Prima di iniziare

Prima di utilizzare Log Analytics:

  • Per ottenere le autorizzazioni necessarie per utilizzare Log Analytics, chiedi all'amministratore di concederti i seguenti ruoli IAM nel 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 di log specifica aggiungendo una condizione IAM alla concessione del ruolo Accesso alla visualizzazione dei log effettuata a livello di progetto oppure aggiungendo un'associazione IAM al file del criterio della visualizzazione di log. Per ulteriori informazioni, consulta Controllare l'accesso a una visualizzazione dei log.

    Si tratta delle stesse autorizzazioni necessarie per visualizzare le voci di log nella pagina Esplora log. Per informazioni sui ruoli aggiuntivi 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 di Cloud Logging.

  • Per ottenere le autorizzazioni necessarie per creare query e creare set di dati collegati, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto che memorizza il bucket dei log:

    • Per creare e visualizzare i set di dati collegati: Logs Configuration Writer (roles/logging.configWriter)
    • Per eseguire query sui set di dati collegati utilizzando gli slot BigQuery riservati:
    • Per visualizzare i set di dati collegati in BigQuery Studio, concedi tutti i ruoli menzionati in questo passaggio e il seguente ruolo. Puoi concedere questo ruolo a un set di dati o al tuo progetto: Visualizzatore dati BigQuery (roles/bigquery.dataViewer)

  • Assicurati che sia stato eseguito l'upgrade dei bucket di log 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 vista log per cui vuoi eseguire una query, assicurati che la colonna Log Analytics disponibile mostri Aperto. Se viene visualizzato Esegui l'upgrade, fai clic su Esegui l'upgrade e completa la finestra di dialogo.
  • Se vuoi eseguire query sui dati dei log dalla pagina Log Analytics utilizzando gli slot BigQuery riservati e se utilizzi progetti con Controlli di servizio VPC (Virtual Private Cloud), assicurati di utilizzare la versione Enterprise di BigQuery. Per ulteriori informazioni, consulta Informazioni sulle versioni di BigQuery.

Quando vuoi utilizzare le funzionalità di BigQuery per analizzare i dati dei log, esegui l'upgrade di un bucket di log per utilizzare Log Analytics e poi crea un set di dati collegato. Con questa configurazione, Logging archivia i dati di log, ma BigQuery può leggerli.

Console Google Cloud

Per creare un link a un set di dati BigQuery per un bucket di log esistente, segui questi passaggi:

  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. Individua il bucket dei log e verifica che la colonna Log Analytics disponibile sia impostata su Aperto.

    Se in questa colonna viene visualizzato Esegui l'upgrade, significa che non è stato eseguito l'upgrade del bucket di log per l'utilizzo di Analisi dei log. Configura Log Analytics:

    1. Fai clic su Esegui upgrade.
    2. Fai clic su Conferma nella finestra di dialogo.

    Al termine dell'upgrade, vai al passaggio successivo.

  3. Nel bucket dei log, fai clic su Altro e poi su Modifica bucket.

    Viene visualizzata la finestra di dialogo Modifica bucket dei log.

  4. Seleziona Crea un nuovo set di dati BigQuery che si colleghi a questo bucket e inserisci il nome del nuovo set di dati.

    Il nome del set di dati deve essere univoco per ogni progetto Google Cloud. Se inserisci il nome di un set di dati esistente, viene visualizzato il seguente errore:Dataset name must be unique in the selected region.

  5. Fai clic su Fine, quindi su Aggiorna bucket.

    Dopo che la registrazione mostra il nome del set di dati collegato nella pagina Logs Storage, potrebbero essere necessari diversi minuti prima che BigQuery riconosca il set di dati.

gcloud

Per creare un set di dati collegato per un bucket di log di cui è stato eseguito l'upgrade per l'utilizzo di Analisi dei log, esegui il comando gcloud logging links create:

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

Il valore LINK_ID fornito viene utilizzato come nome del set di dati BigQuery e il valore di questo campo deve essere univoco per il progetto Google Cloud.

Il comando links create è asincrono. Il valore restituito da un metodo asincrono è un oggetto Operation e contiene informazioni sull'avanzamento del metodo. Al termine del metodo, l'oggetto Operation contiene lo stato. Per ulteriori informazioni, consulta Metodi API asincroni.

Il completamento del comando links create richiede alcuni minuti.

Ad esempio, il seguente comando crea un set di dati collegato denominato mylink per il bucket dei log denominato my-bucket:

gcloud logging links create mylink --bucket=my-bucket --location=global

Il nome del set di dati deve essere univoco per ogni progetto Google Cloud. Se provi a creare un set di dati con lo stesso nome di un set di dati esistente, viene visualizzato il seguente errore:

BigQuery dataset with name "LINK_ID" already exists.

Se provi a creare un set di dati collegato per un bucket di log di cui non è stato eseguito l'upgrade per l'utilizzo di Analisi dei log, viene visualizzato il seguente errore:

A link can only be created for an analytics-enabled bucket.

REST

Per creare un set di dati BigQuery collegato per un bucket di log esistente di cui è stato eseguito l'upgrade, utilizza Log Analytics e chiama il metodo asincrono projects.locations.buckets.links.create dell'API Cloud Logging.

Prepara gli argomenti del metodo come segue:

  1. Costruisci il corpo della richiesta per il comando create. Il corpo della richiesta è formattato come oggetto Link.
  2. Per il parametro di query del comando, utilizza linkId=LINK_ID. Il valore LINK_ID fornito viene utilizzato come nome del set di dati BigQuery e il valore di questo campo deve essere univoco per il progetto Google Cloud.

La risposta ai metodi asincroni è un oggetto Operation. Questo oggetto contiene informazioni sull'avanzamento del metodo. Al termine del metodo, l'oggetto Operation contiene lo stato. Per ulteriori informazioni, consulta Metodi API asincroni.

Il completamento del metodo links.create richiede alcuni minuti.

Il nome del set di dati deve essere univoco per ogni progetto Google Cloud. Se provi a creare un set di dati con lo stesso nome di un set di dati esistente, viene visualizzato il seguente errore:

BigQuery dataset with name "LINK_ID" already exists.

Se provi a creare un set di dati collegato per un bucket di log di cui non è stato eseguito l'upgrade per l'utilizzo di Analisi dei log, viene visualizzato il seguente errore:

A link can only be created for an analytics-enabled bucket.

Esegui query da BigQuery

Se hai un bucket di log che utilizza Log Analytics e set di dati collegati, puoi visualizzare ed eseguire query sui set di dati collegati utilizzando la pagina BigQuery Studio. Con questa configurazione, puoi analizzare i set di dati utilizzando comandi, flussi di lavoro e set di dati disponibili solo in BigQuery Studio.

Per aprire BigQuery da Log Analytics ed eseguire query sul set di dati collegato, procedi nel seguente modo:

  1. Assicurati che esista un set di dati collegato per il bucket dei log che ospita la vista log su cui vuoi eseguire la query:

    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. Individua il bucket di log e verifica che la colonna Set di dati collegato a BigQuery mostri un URL. Se la voce è vuota, devi creare un set di dati collegato. Per informazioni su questi passaggi, consulta Creare un set di dati BigQuery collegato

  2. Nella console Google Cloud, vai alla pagina Log Analytics:

    Vai ad Analisi dei log

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

  3. Nell'elenco Visualizzazioni log, trova la visualizzazione log e seleziona Query. Il riquadro Query viene compilato con una query predefinita. Puoi anche inserire una query nel riquadro Query o modificare una query visualizzata.

  4. Nella barra degli strumenti, espandi il pulsante Esegui query o Esegui su BigQuery e seleziona Apri in BigQuery.

    Si apre la pagina BigQuery Studio. L'istruzione FROM della query viene modificata per specificare il percorso alla visualizzazione dei log nel set di dati collegato utilizzando la sintassi del percorso della tabella di BigQuery.

    Puoi anche modificare la query visualizzata.

  5. Nella pagina BigQuery Studio, fai clic su Esegui query.

Esegui query di Log Analytics sugli slot BigQuery riservati

Quando vuoi ridurre al minimo il tempo di esecuzione delle query di Log Analytics, eseguitele sugli slot BigQuery riservati. La pagina Analisi dei log è preconfigurata per utilizzare il servizio Analisi dei log predefinito, il che significa che le tue query devono competere per lo spazio limitato degli slot con altre query. Quando non sono disponibili slot, l'esecuzione della query viene ritardata. Puoi eliminare questi ritardi eseguendo le query su slot BigQuery riservati.

Per eseguire una query SQL in una visualizzazione dei log:

  1. Assicurati che esista un set di dati collegato per il bucket dei log che ospita la vista log su cui vuoi eseguire la query:

    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. Individua il bucket di log e verifica che la colonna Set di dati collegato a BigQuery mostri un URL. Se la voce è vuota, devi creare un set di dati collegato. Per informazioni su questi passaggi, consulta Creare un set di dati BigQuery collegato

  2. Assicurati di aver configurato gli slot BigQuery prenotati:

    1. Creare una prenotazione con spazi dedicati
    2. Creare assegnazioni di prenotazione
  3. Configura Analisi dei log per eseguire le query sugli slot BigQuery riservati:

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

      Vai ad Analisi dei log

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

    2. Nell'elenco Visualizzazioni log, trova la visualizzazione, quindi seleziona Query o invia una query.

      Se nel riquadro delle query viene visualizzato un messaggio di errore che fa riferimento all'istruzioneFROM, la tabella non può essere risolta in una visualizzazione del log specifica. Per informazioni su come risolvere questo errore, consulta Errore FROM clause must contain exactly one log view.

    3. Vai alla barra degli strumenti e assicurati che sia visualizzato un pulsante denominato Esegui in BigQuery.

      Se nella barra degli strumenti è visualizzata l'opzione Esegui query, fai clic su Impostazioni e seleziona BigQuery.

      Se il pulsante Esegui su BigQuery è disattivato, devi creare un set di dati collegato.

    4. Esegui la query.

      Puoi utilizzare le opzioni della barra degli strumenti per formattare la query, cancellarla e aprire la documentazione di riferimento di BigQuery SQL.

Passaggi successivi