Crea un set di dati BigQuery collegato a un bucket di log

Per analizzare i dati di log utilizzando i servizi BigQuery, come BigQuery Studio o Data Studio, crea un set di dati BigQuery collegato nel bucket di log. Questo set di dati ti consente di unire i dati di log ad altri set di dati. Puoi anche creare policy di avviso che monitorano i risultati di una query SQL.

Un set di dati BigQuery collegato è un puntatore di sola lettura al bucket di log. Ti consente di utilizzare i servizi BigQuery per eseguire query sui dati di log senza duplicarli o pagare per l'archiviazione separata in BigQuery.

Non puoi creare un set di dati BigQuery collegato per una vista di analisi.

Se non hai familiarità con Observability Analytics, consulta la panoramica di Observability Analytics.

Quando è necessario un set di dati BigQuery collegato

Non hai bisogno di un set di dati BigQuery collegato quando vuoi eseguire query sui dati di log o sui dati di log e di traccia. In questi scenari, puoi utilizzare la pagina Observability Analytics. Puoi anche salvare e condividere le query e salvarle in una dashboard personalizzata. Per informazioni su come eseguire query sui dati di traccia, consulta Eseguire query e analizzare le tracce.

Hai bisogno di un set di dati BigQuery collegato quando 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.

Come i bucket di log e le viste di log vengono mappati agli oggetti BigQuery

Quando crei un set di dati BigQuery collegato per un bucket di log, un nuovo set di dati diventa disponibile per BigQuery. Specifichi il nome del set di dati BigQuery collegato durante la procedura di collegamento. Tutte le viste di log all'interno del bucket di log vengono automaticamente mappate alle viste virtuali nel set di dati. Il nome di una vista virtuale è lo stesso della vista di log corrispondente.

Ad esempio, supponiamo che il progetto my_project abbia un bucket di log denominato example e che questo bucket di log abbia una vista di log denominata _AllLogs. Se crei un set di dati BigQuery collegato per quel bucket di log con il nome my_dataset, la pagina Explorer di BigQuery mostra una voce my_project. Un elemento secondario della voce my_project è un set di dati con il nome my_dataset e questo set di dati elenca una vista virtuale denominata _AllLogs.

Implicazioni del controllo dell'accesso quando si utilizzano set di dati BigQuery collegati

Quando un'entità esegue una query su una vista in un set di dati BigQuery collegato, la query viene eseguita tramite il livello di autorizzazioni BigQuery, non il livello di autorizzazioni Cloud Logging. Pertanto, i ruoli e le autorizzazioni BigQuery concessi all'entità nel set di dati BigQuery collegato determinano se può eseguire query sul set di dati.

Non puoi limitare un'entità a una vista virtuale specifica all'interno di un set di dati collegato. Quando a un'entità è stato concesso l'accesso al set di dati BigQuery collegato, può eseguire query su ogni vista in quel set di dati.

Azioni di sistema che si verificano quando crei un set di dati collegato

Quando crei un link a un set di dati di osservabilità, si verifica quanto segue:

  • Google Cloud Observability potrebbe creare i seguenti account di servizio o modificare le concessioni di ruoli IAM:

  • I log di controllo registrano la richiesta di creazione di un link e la richiesta del gestore dell'agente di servizio di concedere all'account di servizio Monitoring il ruolo IAM di agente di servizio Monitoring. Questi log registrano anche il completamento dell'operazione a lunga esecuzione.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Per ottenere le autorizzazioni necessarie per creare un set di dati collegato, chiedi all'amministratore di concederti il ruolo IAM Scrittore della configurazione dei log (roles/logging.configWriter) nel tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

  7. Assicurati che il bucket di log sia stato sottoposto a upgrade per utilizzare Observability Analytics:

    1. Nella Google Cloud console, 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. Se il bucket di log mostra Esegui upgrade, fai clic su Esegui upgrade e completa la finestra di dialogo.

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

Google Cloud Console

Per creare un link a un set di dati BigQuery per un bucket di log esistente:

  1. Nella Google Cloud console, 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 Observability Analytics disponibile mostri Apri.

    Se questa colonna mostra Esegui upgrade, significa che il bucket di log non è stato sottoposto a upgrade per utilizzare Observability Analytics. Configura Observability 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 su Modifica bucket.

    Viene visualizzata la finestra di dialogo Modifica bucket di 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 Google Cloud progetto. Se inserisci il nome di un set di dati esistente, riceverai il seguente errore: Dataset name must be unique in the selected region. (Il nome del set di dati deve essere univoco nella regione selezionata).

  5. Fai clic su Fine e poi su Aggiorna bucket.

    Dopo che Logging visualizza il nome del set di dati collegato nella pagina Archiviazione dei log, potrebbero essere necessari alcuni minuti prima che BigQuery riconosca il set di dati.

gcloud

Per creare un set di dati collegato per un bucket di log sottoposto a upgrade per utilizzare Observability Analytics, esegui il gcloud logging links create comando:

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

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

Il comando links create è asincrono. Il valore restituito di un metodo asincrono è un Operation oggetto che contiene informazioni sullo stato di avanzamento del metodo. Al termine del metodo, l'oggetto Operation contiene lo stato. Per saperne di più, consulta Metodi API asincroni.

Il comando links create richiede alcuni minuti per essere completato.

Ad esempio, il seguente comando crea un set di dati collegato denominato mylink per il bucket di 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 Google Cloud progetto. Se tenti di creare un set di dati con lo stesso nome di un set di dati esistente, riceverai 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 è stato sottoposto a upgrade per utilizzare Observability Analytics, 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 sottoposto a upgrade per utilizzare Observability Analytics, chiama il metodo asincrono projects.locations.buckets.links.create dell'API Cloud Logging.

Prepara gli argomenti per il metodo nel seguente modo:

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

La risposta ai metodi asincroni è un Operation oggetto. Questo oggetto contiene informazioni sullo stato di avanzamento del metodo. Al termine del metodo, l'oggetto Operation contiene lo stato. Per saperne di più, consulta Metodi API asincroni.

Il metodo links.create richiede alcuni minuti per essere completato.

Il nome del set di dati deve essere univoco per ogni Google Cloud progetto. Se tenti di creare un set di dati con lo stesso nome di un set di dati esistente, riceverai 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 è stato sottoposto a upgrade per utilizzare Observability Analytics, viene segnalato il seguente errore:

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

Passaggi successivi