Observability Analytics ti consente di visualizzare i risultati delle query SQL sotto forma di grafici per identificare pattern e tendenze nei dati di log. Dopo aver eseguito una query per cercare e aggregare i log, puoi visualizzare i risultati in una tabella, convertirli in un grafico e salvare la visualizzazione in una dashboard.
Ad esempio, il seguente grafico mostra il conteggio delle voci di log in un periodo di 12 ore, suddivise per severity:
Prima di iniziare
Questa sezione descrive i passaggi da completare prima di poter utilizzare Observability Analytics.
Configura i bucket di log
Assicurati che sia stato eseguito l'upgrade dei bucket di log per utilizzare Observability Analytics:
-
Nella console Google Cloud , vai alla pagina Archiviazione dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Per ogni bucket di log che ha una visualizzazione dei log su cui vuoi eseguire query, assicurati che nella colonna Observability Analytics disponibile sia visualizzato Apri. Se viene visualizzato Esegui l'upgrade, fai clic su Esegui l'upgrade e completa la finestra di dialogo.
Configura ruoli e autorizzazioni IAM
Questa sezione descrive i ruoli o le autorizzazioni IAM necessari per utilizzare Observability Analytics:
-
Per ottenere le autorizzazioni necessarie per utilizzare Observability Analytics ed eseguire query sulle visualizzazioni dei log, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
-
Per eseguire query sui bucket di log
_Requirede_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 log specifica aggiungendo una condizione IAM alla concessione del ruolo Visualizzatore log effettuata a livello di progetto o aggiungendo un'associazione IAM al file della policy della visualizzazione log. Per saperne di più, consulta Controlla l'accesso a una visualizzazione log.
Queste sono le stesse autorizzazioni necessarie per visualizzare le voci di log nella pagina Esplora log. Per informazioni sui ruoli aggiuntivi necessari per eseguire query sulle visualizzazioni sui bucket definiti dall'utente o per eseguire query sulla visualizzazione
_AllLogsdel bucket di log_Default, consulta Ruoli di Cloud Logging. -
Per eseguire query sui bucket di log
-
Per ottenere le autorizzazioni necessarie per eseguire query sulle viste di analisi, chiedi all'amministratore di concederti il ruolo IAM Utente Observability Analytics (
roles/observability.analyticsUser) nel progetto. -
Per ottenere le autorizzazioni necessarie per creare grafici, chiedi all'amministratore di concederti il ruolo IAM Monitoring Editor (
roles/monitoring.editor) nel progetto.
Seleziona i dati da rappresentare nel grafico
Per configurare i dati da visualizzare in un grafico, crea una query utilizzando SQL. Quando selezioni la scheda Grafico, un grafico mostra i risultati della query. Dopo aver eseguito la query e generato un grafico, puoi personalizzarlo modificando il tipo di grafico e selezionando le colonne per visualizzare dati diversi.
Per visualizzare i risultati della query sotto forma di grafico, esegui una query nel seguente modo:
-
Nella console Google Cloud , vai alla pagina manage_search Observability Analytics:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Nel riquadro Query, inserisci una query e poi fai clic su Esegui.
Al termine della query, nella scheda Risultati, seleziona come vuoi visualizzare i risultati della query:
Tabella: solo formato tabulare.
Grafico: solo formato grafico.
Entrambi: formato grafico e tabulare.
Dopo aver selezionato la modalità di visualizzazione dei risultati della query, puoi configurare i campi per la visualizzazione selezionata, quindi salvare la query e i risultati in una dashboard personalizzata. Il formato salvato è tabulare se hai selezionato l'opzione Tabella. In caso contrario, il formato è un grafico.
Per i grafici, le opzioni di visualizzazione ti consentono di selezionare il tipo di grafico e le righe e le colonne da inserire nel grafico. Per saperne di più sulla configurazione del grafico, consulta Personalizza la configurazione del grafico.
Personalizza la configurazione del grafico
Puoi personalizzare la configurazione del grafico modificando il tipo di grafico, selezionando la dimensione e la misura da rappresentare nel grafico e applicando una suddivisione. La dimensione viene utilizzata per raggruppare o classificare le righe ed è il valore dell'asse X. La misura, o il valore dell'asse Y, è una serie di dati tracciata rispetto all'asse Y.
Modifica tipo di grafico
Puoi scegliere tra i seguenti tipi di grafici, a seconda del tipo di righe e colonne che hai selezionato come dimensione e misura e di come vuoi che i dati vengano visualizzati.
Grafico a barre (predefinito): i grafici a barre tracciano i dati su due assi. Se il grafico utilizza una categoria o una stringa come dimensione, puoi impostare la configurazione del grafico a barre su orizzontale o verticale, dove gli assi delle dimensioni e delle misure vengono scambiati.
Grafico a linee: i grafici a linee possono essere utilizzati per mostrare le variazioni dei dati nel tempo. Quando utilizzi un grafico a linee, ogni serie temporale viene mostrata con una linea diversa che corrisponde alle misure selezionate.
Se l'asse X è basato sul tempo, ogni punto dati viene posizionato all'inizio di un intervallo di tempo. Ogni punto dati è collegato tramite interpolazione lineare.
Grafico ad area in pila: Un grafico ad area si basa su un grafico a linee e l'area sotto ogni linea è ombreggiata. Nei grafici ad area, le serie di dati sono impilate. Ad esempio, se hai due serie identiche, queste si sovrappongono in un grafico a linee, ma l'area ombreggiata è in pila in un grafico ad area.
Grafico a torta o ad anello: un grafico a torta mostra la relazione tra le categorie di un set di dati e l'intero set di dati, utilizzando un cerchio per rappresentare l'intero set di dati e spicchi nel cerchio per rappresentare le categorie nel set di dati. La dimensione di uno spicchio indica quanto, spesso in percentuale, la categoria contribuisce al totale.
Tabella: una tabella mostra una riga per ogni riga nel risultato della query. Le colonne della tabella sono definite dalla clausola
SELECT. Se prevedi di visualizzare i dati in forma tabulare su una dashboard, utilizza una clausolaLIMITper limitare il numero di righe nel risultato a meno di qualche centinaio.Misuratore o prospetto: i misuratori e i prospetti forniscono il valore più recente insieme a un'indicazione verde, ambra o rossa in base al confronto di questo valore con un insieme di soglie. A differenza dei contatori, che mostrano solo informazioni sul valore più recente, i prospetti possono includere anche informazioni sui valori passati.
I misuratori e i prospetti possono visualizzare il risultato della query solo quando questo contiene almeno una riga e questa riga contiene una colonna con un timestamp e una colonna con dati numerici. Il risultato della query può contenere più righe e più di due colonne.
Se vuoi eseguire l'aggregazione basata sul tempo come parte della query, procedi nel seguente modo:
Configura la query per aggregare i dati in un intervallo di tempo, per ordinare i risultati in base ai timestamp decrescenti e per limitare il numero di righe nei risultati. Puoi utilizzare la clausola
LIMITo il selettore dell'intervallo di tempo per limitare il numero di righe nel risultato della query.Ad esempio, la seguente query esegue una query su una visualizzazione log e aggrega i dati per ora, applica un limite e ordina i risultati:
SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID` WHERE severity IS NOT NULL AND severity = "DEFAULT" GROUP BY hour,severity ORDER BY hour DESC LIMIT 10
Di seguito è riportato il significato dei campi nell'espressione precedente:
- PROJECT_ID: l'identificatore del progetto.
- LOCATION: la posizione della visualizzazione log o della vista di analisi.
- BUCKET_ID: il nome o l'ID del bucket di log.
- LOG_VIEW_ID: l'identificatore della visualizzazione dei log, che è limitato a 100 caratteri e può includere solo lettere, cifre, trattini bassi e trattini.
Imposta la Dimensione in modo che corrisponda alla colonna che indica l'unità di tempo. Ad esempio, se la query aggrega i dati per un'ora e crea una colonna denominata
hour, imposta il menu Dimensione suhour.Seleziona Disattiva intervallo perché la query specifica già l'intervallo di aggregazione. Nell'esempio, questo intervallo è di un'ora.
Imposta Misura sulla colonna numerica e la funzione su Nessuna.
Se vuoi affidarti a Observability Analytics per eseguire l'aggregazione basata sul tempo, segui questi passaggi:
- Configura il selettore dell'intervallo di tempo, che influisce sul numero di righe nel risultato della query.
- Imposta la Dimensione in modo che corrisponda alla colonna che indica l'unità di tempo.
Ad esempio, potresti impostare questo menu su
timestamp. - Imposta il menu Intervallo su un intervallo di aggregazione specifico.
Ad esempio, imposta il valore di questo campo su
1 hour. Non selezionare Intervallo automatico. - Imposta la misura sulla colonna numerica e seleziona una funzione come sum.
Modifica dimensione e misura
Puoi scegliere quali righe e colonne vengono inserite nel grafico selezionando i campi delle dimensioni e delle misurazioni.
Dimensioni
La dimensione deve essere una colonna di tipo timestamp, numerico o stringa. Per impostazione predefinita, la dimensione è impostata sulla prima colonna basata su timestamp nello schema. Se nella query non è presente alcun timestamp, la prima colonna di stringhe viene selezionata come dimensione. Puoi anche personalizzare la dimensione nel riquadro Visualizzazione grafico. Quando viene selezionata una colonna di timestamp come dimensione, il grafico mostra come cambiano i dati nel tempo. Quando una colonna di stringhe viene selezionata come dimensione per un grafico a barre, puoi ordinare i dati in ordine crescente o decrescente, il che ordina la dimensione in ordine lessicale. Puoi anche mantenere l'ordinamento "default", che ordina la dimensione in base ai valori della misura corrispondente in ordine decrescente.
Per impostazione predefinita, l'intervallo per i timestamp viene impostato automaticamente, ma puoi anche selezionare un intervallo personalizzato. Gli intervalli automatici modificano i valori in base al selettore dell'intervallo di tempo per mantenere gruppi di dimensioni simili.
Puoi anche disattivare l'intervallo, il che ti consente di specificare le tue aggregazioni e i tuoi intervalli di tempo all'interno della query per un'analisi più complessa. La disattivazione dell'intervallo imposta la funzione di aggregazione delle misure su
none. Sono consentite solo misure numeriche quando l'intervallo di dimensioni è disattivato.Misura
Puoi selezionare più misure nel riquadro Visualizzazione grafico. Quando selezioni una misura, devi anche selezionare la funzione di aggregazione da eseguire sui relativi valori raggruppati, ad esempio
count,sum,averageepercentile-99. Ad esempio,count-distinctrestituisce il numero di valori univoci in una determinata colonna.Se selezioni la casella di controllo Disattiva intervallo per la dimensione, l'opzione della funzione di aggregazione
noneè disponibile. Se la dimensione è un valore stringa, la casella di controllo Disattiva intervallo non viene visualizzata. Tuttavia, l'impostazione delle funzioni di aggregazione di una misura sunonedisattiva anche l'intervallo.
Aggiungi una suddivisione
Per suddividere una singola serie di dati in più serie di dati in base a un'altra colonna, aggiungi una suddivisione.
Quando selezioni una suddivisione, scegli colonne che contengono un numero ridotto di etichette brevi e significative, come region_name. Non selezionare campi che potrebbero contenere un numero elevato di stringhe o stringhe lunghe, come textPayload.
Ad esempio, vedi la seguente configurazione del grafico, in cui il campo Dimensione è impostato su tipo, il campo Misura è impostato su Conteggio righe e il campo Suddivisione è impostato su gravità:

Nello screenshot precedente, vedi una serie di dati in pila, in cui il tipo di risorsa k8s_container è suddiviso in diversi tipi di severity. In questo modo puoi identificare quanti log di ciascun tipo di gravità sono stati generati da una determinata risorsa.
Salva un grafico in una dashboard personalizzata
Dopo aver generato un grafico dalla query, puoi salvarlo in una dashboard personalizzata. Le dashboard personalizzate ti consentono di visualizzare e organizzare le informazioni utili per te utilizzando una serie di tipi di widget. Queste dashboard consentono anche di definire variabili, ovvero filtri a livello di dashboard che si applicano solo a widget specifici. Per applicare una variabile a un widget, devi modificare la query. Per saperne di più, consulta Applica una variabile a un widget.
Una dashboard visualizza un messaggio di avviso per un widget che contiene una query SQL quando la query viene eseguita sul motore BigQuery e le risorse interrogate non si trovano nello stesso confine di proprietà. I confini della proprietà sono determinati da diversi fattori, uno dei quali è la gerarchia delle risorse utilizzate dalla query. Per evitare questi avvisi, configura un perimetro di servizio.
Per salvare il grafico in una dashboard:
-
Nella console Google Cloud , vai alla pagina manage_search Observability Analytics:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Esegui una query per generare un grafico, quindi fai clic su Salva nella dashboard.
Nella finestra di dialogo Salva nella dashboard, inserisci un titolo per il grafico e seleziona la dashboard in cui vuoi salvarlo.
(Facoltativo) Per visualizzare la dashboard personalizzata, fai clic su Visualizza dashboard nel messaggio popup.
Per visualizzare un elenco di dashboard personalizzate che contengono grafici generati da query SQL, vai al pulsante Salva nella dashboard e fai clic su arrow_drop_down Menu.
Modifica un grafico salvato in una dashboard personalizzata
Puoi modificare un grafico dopo averlo salvato in una dashboard. Per saperne di più, consulta Modifica la configurazione di un widget. Nella finestra di dialogo Configura widget, puoi:
- Modificare i dati su cui esegui query.
- Modifica la query utilizzata per generare un grafico.
- Personalizza la configurazione del grafico per visualizzare dati diversi.
Limitazioni
Se il tuo progetto Google Cloud si trova in una cartella che utilizza Assured Workloads, i grafici che generi non possono essere visualizzati in una dashboard personalizzata.
I filtri a livello di dashboard non si applicano ai grafici generati da una query SQL.
Le colonne selezionate devono avere almeno una riga con un valore non nullo.
Se salvi una query e personalizzi la configurazione del grafico, la configurazione personalizzata del grafico non viene salvata.
Se la query contiene già aggregazioni, il grafico generato potrebbe essere diverso a causa dell'aggregazione aggiuntiva applicata automaticamente da Observability Analytics.
I percorsi JSON devono essere convertiti in stringhe o numeri per poter essere rappresentati in un grafico.
Query di esempio
Questa sezione fornisce esempi di query SQL per creare grafici dei risultati delle query. Per ottenere informazioni più utili dai log, personalizza la configurazione del grafico. Per utilizzare le query di esempio, segui questi passaggi:
-
Nella console Google Cloud , vai alla pagina manage_search Observability Analytics:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Identifica il nome della tabella per la visualizzazione log su cui vuoi eseguire la query.
Per identificare questo nome, vai all'elenco Visualizzazioni log, individua la visualizzazione log e seleziona Query. Il riquadro Query viene compilato con una query predefinita, che include il nome della tabella della visualizzazione log su cui viene eseguita la query. Il nome della tabella ha il formato
project_ID.region.bucket_ID.view_ID.Per saperne di più su come accedere alla query predefinita, consulta Esegui query su una visualizzazione log.
Sostituisci VIEW con il nome della tabella per la visualizzazione log su cui vuoi eseguire la query, quindi copia la query.
Incolla la query nel riquadro Query, quindi fai clic su Esegui query.
Crea un grafico delle voci di log in base alla località e alla gravità
La seguente query seleziona location e severity, con la località
trasformata in una stringa:
SELECT
CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
severity,
FROM
`VIEW`
WHERE resource.labels.location IS NOT NULL
Un grafico di esempio e la relativa configurazione sono simili ai seguenti:
Nello screenshot precedente, la configurazione del grafico è la seguente:
- Tipo di grafico: grafico a barre, orizzontale
- Dimensione:
location, con un limite di 10 - Misura: Conteggio righe
- Suddivisione:
severity, con un limite di cinque
Crea un grafico dei log di controllo dell'accesso ai dati di BigQuery
La seguente query filtra gli audit log di BigQuery data_access e seleziona determinati campi, come user_email, ip, auth_permission e job_execution_project. Ad esempio, puoi creare un grafico che visualizza la frequenza di utilizzo dell'API BigQuery da parte di ogni entità nel tempo.
SELECT
timestamp,
proto_payload.audit_log.authentication_info.principal_email as user_email,
proto_payload.audit_log.request_metadata.caller_ip as ip,
auth.permission as auth_permission,
auth.granted as auth_granted,
JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `VIEW` as data_access,
UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
log_id="cloudaudit.googleapis.com/data_access"
AND data_access.resource.type = 'bigquery_dataset'
Un grafico di esempio e la relativa configurazione sono simili ai seguenti:
Nello screenshot precedente, la configurazione del grafico è la seguente:
- Tipo di grafico: grafico a barre, verticale
- Dimensione:
user_email, con un limite di cinque - Misura: Conteggio righe
- Suddivisione:
auth_permission, con un limite di cinque
Passaggi successivi
Per una panoramica di Observability Analytics, consulta Panoramica delle query e dell'analisi dei log.
Per query di esempio, consulta Query SQL di esempio.
Per scoprire come analizzare gli audit log utilizzando Observability Analytics, consulta Query SQL per insight sulla sicurezza.