Crea un grafico dei risultati delle query con Analisi dei log

Questo documento descrive come tracciare in un grafico i risultati delle query di Analisi dei log, in modo da identificare pattern e tendenze nei dati di log. Analisi dei log consente di cercare e aggregare i log per generare insight utili utilizzando query SQL.

Dopo aver eseguito una query, i relativi risultati possono essere visualizzati in una tabella o convertiti in un grafico. Ad esempio, per vedere quali tipi di gravità vengono generati dai log, crea un grafico che mostri i conteggi dei log generati nelle ultime 12 ore e suddivide i log per severity. Il seguente screenshot illustra i punti dati suddivisi in diversi tipi di gravità:

Grafico di esempio che illustra una suddivisione per gravità.

Prima di iniziare

  • Assicurati di avere un bucket di log di cui è stato eseguito l'upgrade per utilizzare Analisi dei log. La pagina Archiviazione dei log elenca i bucket di log e le relative informazioni di configurazione.

    Nella console Google Cloud, vai alla pagina Archiviazione dei log:

    Vai ad Archiviazione dei log

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  • Per ottenere le autorizzazioni necessarie per caricare la pagina Analisi dei log ed eseguire le query, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore log (roles/logging.viewer) su Cloud Logging. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

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

    Le autorizzazioni necessarie per visualizzare le voci di log ed eseguire query nella pagina Analisi dei log sono le stesse necessarie per visualizzare i 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 vista _AllLogs del bucket di log _Default, consulta Ruoli Cloud Logging.

  • Per ottenere le autorizzazioni necessarie per creare e gestire le dashboard utilizzando la console Google Cloud, chiedi all'amministratore di concederti il ruolo IAM Editor Monitoring (roles/monitoring.editor) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

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

Seleziona i dati da rappresentare in un grafico

Per configurare quali dati visualizzare in un grafico, crea una query utilizzando SQL. Quando selezioni la scheda Grafico, Logging genera automaticamente un grafico basato sui risultati della query. Dopo aver eseguito la query e generato il grafico, puoi personalizzare la configurazione del grafico 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:

  1. Nella console Google Cloud, vai alla pagina Analisi dei log:

    Vai ad Analisi dei log

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Nel riquadro Query, inserisci una query e fai clic su Esegui.

  3. Al termine della query, nella scheda Risultati seleziona come vuoi visualizzare i risultati della query:

    • Tabella: visualizza solo una tabella dei risultati della query.

    • Grafico: visualizza solo un grafico dei risultati della query.

    • Entrambe: visualizza una tabella e un grafico uno accanto all'altro.

  4. Se hai selezionato la scheda Grafico o Entrambi, puoi personalizzare la configurazione del grafico modificando il tipo di grafico e personalizzando le righe e le colonne da includere nei grafici. Per ulteriori informazioni sulla configurazione del grafico, consulta Personalizzare la configurazione del grafico.

Personalizzare la configurazione del grafico

Puoi personalizzare la configurazione del grafico modificando il tipo di grafico, selezionando la dimensione e la misura per il grafico e applicando una suddivisione. La Dimensione, che è il valore dell'asse X, viene utilizzata per raggruppare o classificare le righe. La misura, o il valore dell'asse Y, è una serie di dati tracciata in base all'asse Y.

Cambia 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, in cui gli assi di dimensione e misurazione vengono scambiati.

  • Grafico a linee

    Puoi utilizzare i grafici a linee per mostrare le variazioni dei dati nel tempo. Quando utilizzi un grafico a linee, ogni serie temporale viene visualizzata 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 da interpolazione lineare.

  • Grafico ad area Un grafico ad area è basato su un grafico a linee e l'area sotto ogni linea è ombreggiata. Nei grafici ad area, le serie di dati sono in pila. Ad esempio, se hai due serie identiche, queste si sovrappongono in un grafico a linee, ma l'area ombreggiata è sovrapposta in un grafico ad area.

  • Grafico a torta

    Un grafico a torta mostra la correlazione 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 dei cunei nel cerchio per rappresentare le categorie nel set di dati. La dimensione di un supporto inclinato indica in che misura, spesso in percentuale, la categoria contribuisce all'insieme.

Cambia dimensione e misura

Puoi scegliere quali righe e colonne rappresentare nei grafici selezionando i campi dimensione e misura.

  • Dimensioni

    La dimensione deve essere una colonna con timestamp, numeri o stringhe. Per impostazione predefinita, la dimensione è impostata sulla prima colonna basata su timestamp nello schema. Se nella query non è presente alcun timestamp, come dimensione viene selezionata la prima colonna della stringa. Puoi anche personalizzare la dimensione nel riquadro Visualizzazione grafico. Quando selezioni una colonna timestamp come dimensione, il grafico mostra come cambiano i dati nel tempo.

    Per impostazione predefinita, l'intervallo per i timestamp viene impostato automaticamente, ma puoi anche selezionarne uno personalizzato. Gli intervalli automatici modificano i valori in base al selettore dell'intervallo di tempo per mantenere gruppi di dimensioni simili.

    Puoi anche disabilitare l'intervallo, in modo da specificare le aggregazioni e gli 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. Quando l'intervallo di dimensioni è disattivato, sono consentite solo misure numeriche.

  • Misura

    Puoi selezionare più misure nel riquadro Visualizzazione grafico. Quando selezioni una misura, devi selezionare anche la funzione di aggregazione da eseguire sui relativi valori raggruppati, ad esempio count, sum, average e percentile-99. Ad esempio, count-distinct restituisce 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, se imposti le funzioni di aggregazione di una misura su none, l'intervallo viene disabilitato.

Aggiungi una suddivisione

Per suddividere una singola serie di dati in più serie in base a un'altra colonna, aggiungi una suddivisione.

Quando selezioni un'analisi, scegli colonne che contengono un numero ridotto di etichette brevi e significative, come region_name, anziché campi che potrebbero contenere un elevato numero 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à:

Configurazione di grafico di esempio che aggiunge una suddivisione.

Di seguito è riportato un esempio di grafico con una suddivisione aggiunta:

Grafico di esempio che contiene un'analisi per gravità.

Nello screenshot precedente è visualizzata 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 ogni tipo di gravità sono stati generati da una determinata risorsa.

Salvare 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 utilizzando diversi tipi di widget. Ad esempio, puoi creare una dashboard che fornisca dettagli sull'utilizzo dei tuoi bucket Cloud Storage:

Dashboard di esempio che mostra l'utilizzo dei bucket Cloud Storage.

Per salvare il grafico in una dashboard, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Analisi dei log:

    Vai ad Analisi dei log

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Esegui una query per generare un grafico, poi fai clic su Salva grafico nella scheda Grafico.

  3. Nella finestra di dialogo Salva nella dashboard, inserisci un titolo per il grafico e seleziona la dashboard in cui vuoi salvarlo.

  4. (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 dalle query SQL di Analisi dei log, vai al pulsante Salva grafico e fai clic su Menu.

Modificare un grafico salvato in una dashboard personalizzata

Per modificare i grafici generati dalle query SQL di Analisi dei log salvati in una dashboard, consulta Modificare la configurazione di un widget. Nella finestra di dialogo Configura widget, puoi modificare la query utilizzata per generare un grafico oppure personalizzare la configurazione del grafico in modo da visualizzare dati diversi.

Limitazioni

  • Se il progetto Google Cloud si trova in una cartella che utilizza Assured Workloads, i grafici generati non potranno essere visualizzati in una dashboard personalizzata.

  • I filtri a livello di dashboard non si applicano ai grafici generati da una query SQL di Analisi dei log.

Query di esempio

Questa sezione fornisce query SQL di esempio per creare grafici dei risultati delle query. Per ottenere insight più utili dai log, personalizza la configurazione del grafico. Per utilizzare le query di esempio, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Analisi dei log:

    Vai ad Analisi dei log

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Identifica il nome della tabella per una vista log eseguendo la query predefinita:

    Nell'elenco Visualizzazioni log, individua la vista log e seleziona Query. Il riquadro Query viene compilato con una query predefinita, che include il nome della tabella su cui viene eseguita la query. Il formato del nome della tabella è project_ID.region.bucket_ID.view_ID.

    Per ulteriori informazioni su come accedere alla query predefinita, consulta Eseguire query su una visualizzazione log.

  3. Sostituisci TABLE con il nome della tabella corrispondente alla vista su cui vuoi eseguire la query, poi copiala.

  4. Incolla la query nel riquadro Query, quindi fai clic su Esegui query.

Voci di log del grafico per località e gravità

La seguente query seleziona location e severity, con la posizione trasmessa come stringa:

SELECT
  CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
  severity,
FROM
  `TABLE`

La configurazione di un grafico e di un grafico di esempio è simile alla seguente:

Grafico di esempio in cui vengono registrate le voci relative a località e gravità.

Nello screenshot precedente, la configurazione del grafico ha la seguente configurazione:

  • Tipo di grafico: grafico a barre, orizzontale
  • Dimensione: location, con un limite di 10
  • Misura: conteggia le righe
  • Suddivisione: severity, con un limite di cinque

Crea grafici degli audit log di accesso ai dati di BigQuery

I seguenti filtri di query per gli audit log data_access di BigQuery e seleziona determinati campi, come user_email, ip, auth_permission e job_execution_project. Ad esempio, puoi creare un grafico che mostra la frequenza dell'utilizzo dell'API BigQuery di ciascuna 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 `TABLE` 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'

La configurazione di un grafico e di un grafico di esempio è simile alla seguente:

Grafico di esempio per gli audit log di accesso ai dati di BigQuery

Nello screenshot precedente, la configurazione del grafico ha la seguente configurazione:

  • Tipo di grafico: grafico a barre, verticale
  • Dimensione: user_email, con un limite di cinque
  • Misura: conteggia le righe
  • Suddivisione: auth_permission, con un limite di cinque

Limitazioni

  • Le colonne selezionate devono avere almeno una riga con un valore diverso da null.

  • Se salvi una query e personalizzi la configurazione del grafico, la configurazione del grafico personalizzato non viene salvata.

  • Se la query contiene già aggregazioni, il grafico generato potrebbe essere diverso a causa di un'aggregazione aggiuntiva applicata automaticamente da Analisi dei log.

  • I percorsi JSON devono essere trasmessi in stringhe e numeri per poter essere rappresentati in un grafico.

Passaggi successivi