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, 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 Panoramica dell'analisi dei log.

Quando è necessario un set di dati collegato

Non è necessario un set di dati BigQuery collegato per eseguire query su una vista log nella pagina Log Analytics. 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 delle voci di log ad altri set di dati BigQuery.
  • Esegui una query sui dati dei log da un altro servizio come il BigQuery Studio o Looker Studio.
  • Migliora le prestazioni delle query eseguite da Analisi dei log eseguendole sui slot riservati 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 prenotati, le tue query sono soggette 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 che utilizzano.

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:

    Puoi limitare un'entità a una visualizzazione del log specifica aggiungendo un'etichetta Condizione IAM alla concessione del ruolo Funzione di accesso a visualizzazione log effettuata in data a livello di progetto o aggiungendo un'associazione IAM dei criteri della vista 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 ed eseguire query su set di dati collegati, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto in cui è archiviato il bucket di log:

    • Per creare e visualizzare i set di dati collegati: Writer configurazione log (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 ruolo seguente. 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 visualizzata la schermata Upgrade, quindi fai clic su Esegui upgrade e completa la .
  • 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, vedi 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 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 l'analisi dei log:

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

    Una volta completato l'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 (Archiviazione log), potrebbero essere necessari diversi minuti prima che BigQuery riconosca il set di dati.

gcloud

crea un set di dati collegato per un bucket di log di cui è stato eseguito l'upgrade per utilizzare Analisi dei log, esegui 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 diversi minuti.

Ad esempio, il seguente comando crea un set di dati collegato per il 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 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 tenti di creare un set di dati collegato per un bucket di log che non è eseguito l'upgrade per utilizzare Analisi dei log, viene segnalato 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. Crea 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 è Operation. Questo oggetto contiene informazioni sull'avanzamento del metodo. Quando , l'oggetto Operation contiene lo stato. Per ulteriori informazioni, consulta Metodi API asincroni.

Il completamento del metodo links.create richiede diversi minuti.

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.

Eseguire query da BigQuery

Quando hai un bucket di log che utilizza Analisi dei log e set di dati collegati, puoi visualizzare ed eseguire query sui set di dati collegati utilizzando 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 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 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, trova la visualizzazione 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. 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 Analisi dei log sugli slot BigQuery prenotati

Se vuoi ridurre al minimo il tempo di esecuzione delle query di Analisi dei log, eseguirle negli slot BigQuery prenotati. 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 ci sono non sono slot disponibili, l'esecuzione della query è in ritardo. 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 Crea 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 sul tuo slot BigQuery prenotati:

    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 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 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 è visualizzato Esegui query: fai clic su Impostazioni e seleziona BigQuery.

      Se il pulsante Esegui su BigQuery è disabilitato, per 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