Esegui una query su un set di dati collegato in BigQuery

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, Creare un set di dati collegato in modo da poter eseguire query su Analisi dei log utilizzando gli slot BigQuery prenotati. 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 inviare query a una vista log nella pagina Analisi dei log. Puoi risparmiare e condividere queste query, dopodiché potrai salvare i risultati in una dashboard personalizzata.

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

  • Unisci i dati voce di log ad altri set di dati BigQuery.
  • Esegui query sui dati dei log di un altro servizio, ad esempio la pagina BigQuery Studio o Looker Studio.
  • Migliora le prestazioni delle query eseguite dall'Analisi dei log eseguendole sul tuo Slot prenotati BigQuery

Un set di dati BigQuery collegato per un bucket di log consente a BigQuery di accedere in lettura ai dati sottostanti.

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 Analisi dei log, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:

    • Per eseguire una 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 dei 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 di criteri della visualizzazione dei log. Per ulteriori informazioni, vedi Controllare l'accesso a una visualizzazione del log.

    Si tratta delle stesse autorizzazioni necessarie per visualizzare le voci di log nella pagina Esplora log. Per informazioni su ruoli aggiuntivi necessari per eseguire query sulle viste sui bucket definiti dall'utente per eseguire query sulla vista _AllLogs di _Default bucket di log, 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 su set di dati collegati utilizzando gli slot BigQuery prenotati:
    • 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 visualizzazione di log su cui vuoi eseguire una query, devi assicurarti che La colonna Analisi dei log disponibile mostra Apri. 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 collegamento a un set di dati BigQuery per un set di dati esistente bucket di log, 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 di log e verifica che lo strumento Analisi dei log disponibile indica Apri.

    Se questa colonna mostra Upgrade, il bucket di log non è stato eseguito l'upgrade per utilizzare l'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 di log, fai clic su Altro, e poi fai clic 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. Quando , l'oggetto Operation contiene lo stato. Per ulteriori informazioni, consulta Metodi API asincroni.

Il completamento del comando links create richiede diversi minuti.

Ad esempio, il comando seguente crea un set di dati collegato per bucket con il nome 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 tenti per creare un set di dati con lo stesso nome di un set di dati esistente, ricevi 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 Analisi dei log, richiama il metodo projects.locations.buckets.links.create dell'API Cloud Logging.

Prepara gli argomenti per il 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 LINK_ID che fornisci viene utilizzato come del set di dati BigQuery e il valore di questo campo deve univoci per il tuo 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 maggiori informazioni consulta i metodi dell'API asincrona.

Il completamento del metodo links.create richiede diversi 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, ricevi 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 di log che ospita il vista del log su cui desideri eseguire una 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 Crea un set di dati BigQuery collegato

  2. 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.

  3. Nell'elenco Visualizzazioni log, individua la vista log e seleziona Query. La 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 oppure Esegui su BigQuery e seleziona Apri in BigQuery.

    Si apre la pagina BigQuery Studio. FROM dell'istruzione di query viene modificata per specificare il percorso della vista log tramite l'API BigQuery Sintassi del percorso della tabella.

    Puoi anche modificare la query visualizzata.

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

Esegui query di Analisi dei log sugli slot BigQuery prenotati

Quando vuoi ridurre al minimo il tempo di esecuzione di Log Analytics, eseguili 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 su una vista log, segui questi passaggi:

  1. Assicurati che esista un set di dati collegato per il bucket di log che ospita il vista del log su cui desideri eseguire una 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 il set di dati collegato a BigQuery visualizza 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 riservati:

    1. Creare una prenotazione con slot dedicati
    2. Creare assegnazioni di prenotazione
  3. Configura Analisi dei log per eseguire le query sul tuo slot BigQuery prenotati:

    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. Nell'elenco Viste log individua la vista, quindi seleziona Query o inserisci una query.

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

    3. Vai alla barra degli strumenti e assicurati che sia presente il pulsante Esegui su BigQuery. .

      Se nella barra degli strumenti è visualizzato 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 apri la documentazione di riferimento su SQL di BigQuery.

Passaggi successivi