Tracciare un grafico dei risultati delle query con Analisi dei log

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

Dopo aver eseguito una query, i risultati della query 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 visualizzi i conteggi dei log generati nelle ultime 12 ore e suddivide i log in base a severity. Il seguente screenshot illustra i punti dati suddivisi in diversi tipi di gravità:

Grafico di esempio che mostra 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. Nella pagina Archiviazione dei log sono elencati i bucket di log e le relative informazioni di configurazione.

    Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Archiviazione dei log:

    Vai ad Archiviazione dei log

  • 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 essere in grado di 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 di cui hai bisogno per eseguire query sulle viste dei bucket definiti dall'utente o per eseguire query sulla vista _AllLogs del bucket di log _Default, consulta Ruoli di 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 essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Seleziona i dati da tracciare

Per configurare quali dati visualizzare in un grafico, crea una query utilizzando SQL. Quando selezioni la scheda Grafico, Logging genera automaticamente un grafico in base ai risultati delle query. Dopo aver eseguito la query e generato un 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. Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Analisi dei log:

    Vai ad Analisi dei log

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

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

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

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

    • Entrambi: visualizza una tabella e un grafico affiancati.

  4. Se hai selezionato la scheda Grafico o Entrambe, puoi personalizzare la configurazione del grafico modificando il tipo di grafico e personalizzando le righe e le colonne a cui fare riferimento. Per ulteriori informazioni sulla configurazione dei grafici, consulta Personalizzare la configurazione dei grafici.

Personalizza 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 viene utilizzata per raggruppare o classificare le righe e rappresenta il valore dell'asse X. La misura, o il valore dell'asse Y, è una serie di dati tracciata rispetto all'asse Y.

Modificare il tipo di grafico

Puoi scegliere tra i seguenti tipi di grafico, a seconda del tipo di righe e colonne selezionate come dimensione e misura e di come vuoi che vengano visualizzati i dati.

  • 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 misurazioni vengono scambiati.

  • Grafico a linee

    I grafici a linee possono essere utilizzati per mostrare le modifiche ai dati nel tempo. Quando utilizzi un grafico a linee, ogni serie temporale è mostrata da 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 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 in pila. Ad esempio, se disponi di due serie identiche, queste si sovrappongono in un grafico a linee, mentre l'area ombreggiata viene impilata in un grafico ad area.

  • Grafico a torta

    Un grafico a torta mostra la correlazione tra le categorie in un set di dati e l'intero set di dati utilizzando un cerchio per rappresentare l'intero set di dati e i cunei nel cerchio per rappresentare le categorie nel set di dati. La dimensione di un supporto inclinato indica in che misura la categoria contribuisce, spesso in percentuale, all'insieme.

Modifica dimensione e misura

Puoi scegliere quali righe e colonne vengono rappresentate in un grafico selezionando i campi di dimensione e misura.

  • Dimensioni

    La dimensione deve essere una colonna di tipo timestamp, numerica o stringa. Per impostazione predefinita, la dimensione è impostata sulla prima colonna basata sul timestamp nello schema. Se non è presente alcun timestamp nella query, viene selezionata la prima colonna stringa come dimensione. Puoi anche personalizzare la dimensione nel riquadro Visualizzazione grafico. Quando viene selezionata una colonna timestamp come dimensione, il grafico mostra in che modo i dati cambiano nel tempo.

    Per impostazione predefinita, l'intervallo per i timestamp viene impostato automaticamente, ma puoi anche selezionarne uno personalizzato. Gli intervalli automatici cambiano 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 tue aggregazioni e gli intervalli di tempo all'interno della query per eseguire analisi più complesse. Se disabiliti l'intervallo, la funzione di aggregazione delle misure viene impostata 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, sarà disponibile l'opzione della funzione di aggregazione none. 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 su none comporta anche la disattivazione dell'intervallo.

Aggiungere 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, anziché campi che potrebbero contenere un numero elevato di stringhe o stringhe lunghe come textPayload.

Ad esempio, consulta 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à:

Esempio di configurazione di grafico che aggiunge una suddivisione.

Il seguente grafico è un esempio di grafico con una suddivisione aggiuntiva:

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

Nello screenshot precedente puoi vedere una serie di dati in pila, in cui il tipo di risorsa k8s_container è suddiviso in diversi tipi di severity. Ciò consente di identificare il numero di log di ogni tipo di gravità 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 che ritieni utili utilizzando diversi tipi di widget. Ad esempio, puoi creare una dashboard che fornisca dettagli sull'utilizzo dei bucket Cloud Storage:

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

Per salvare il grafico in una dashboard:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Analisi dei log:

    Vai ad Analisi dei log

  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 toast.

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 per visualizzare dati diversi.

Limitazioni

  • Se il progetto Google Cloud si trova in una cartella che utilizza Assured Workloads, i grafici generati non possono 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 tracciare i risultati delle query. Per ottenere insight più utili dai log, personalizza la configurazione del grafico. Per utilizzare le query di esempio:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Analisi dei log:

    Vai ad Analisi dei log

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

    Nell'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 su cui viene eseguita la query. Il nome della tabella ha il formato 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, quindi copia la query.

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

Grafico delle voci di log per località e gravità

La seguente query seleziona location e severity, con il cast della località come stringa:

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

Un esempio di configurazione di grafico e grafico è simile alla seguente:

Grafico di esempio che mostra le voci di log in base alla località e alla gravità.

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

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

Tracciare un grafico degli audit log di accesso ai dati BigQuery

I seguenti filtri di query per gli audit log data_access di BigQuery e selezionano campi specifici, come user_email, ip, auth_permission e job_execution_project. Ad esempio, puoi creare un grafico che mostri la frequenza di utilizzo nel tempo dell'API BigQuery di ogni entità.

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'

Un esempio di configurazione di grafico e grafico è simile alla seguente:

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

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: conta righe
  • Suddivisione: auth_permission, con un limite di cinque

Limitazioni

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

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

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

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

Passaggi successivi