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:
- Unire i dati voce di log ad altri set di dati BigQuery.
- Eseguire query sui dati di log da un altro servizio come BigQuery Studio o Data Studio.
- Creare una policy di avviso che monitora il risultato di una query SQL. Per saperne di più, consulta Monitorare i risultati delle query SQL con una policy di avviso.
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:
Account di servizio Monitoring: necessario per creare un link a un set di dati BigQuery collegato. L'API Cloud Monitoring deve essere abilitata per consentire a Google Cloud Observability di creare questo account di servizio.
Account di servizio Cloud Observability: necessario per creare un link a un set di dati di osservabilità.
Account di servizio Cloud Logging: necessario per creare un link a un bucket di log.
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
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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.
Assicurati che il bucket di log sia stato sottoposto a upgrade per utilizzare Observability Analytics:
-
Nella Google Cloud console, vai alla pagina Archiviazione dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Se il bucket di log mostra Esegui upgrade, fai clic su Esegui upgrade e completa la finestra di dialogo.
-
Crea un set di dati BigQuery collegato
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:
-
Nella Google Cloud console, vai alla pagina Archiviazione dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
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:
- Fai clic su Esegui upgrade.
- Fai clic su Conferma nella finestra di dialogo.
Al termine dell'upgrade, vai al passaggio successivo.
Nel bucket di log, fai clic su Altromore_vert, e poi su Modifica bucket.
Viene visualizzata la finestra di dialogo Modifica bucket di log.
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).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:
- Crea il corpo della richiesta per il comando
create. Il corpo della richiesta è formattato come unLinkoggetto. - 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.