Crea un grafico dei risultati delle query con Analisi dei log

Questo documento descrive come creare grafici dei risultati delle query di Log Analytics, il che consente di identificare schemi e tendenze nei dati dei log. Analisi dei log consente di cercare e aggregare i log per generare insight utili utilizzando SQL query.

Dopo aver eseguito una query, i relativi risultati possono essere visualizzati in una tabella o convertiti in un grafico e la query e la sua visualizzazione possono essere salvate in una dashboard. Ad esempio, per vedere quali tipi di gravità vengono generati dai log, crea un grafico che mostri il numero di log generati nelle ultime 12 ore e suddividi i log per severity. Le seguenti screenshot mostra i punti dati suddivisi in diversi tipi di gravità:

Grafico di esempio che illustra una suddivisione per gravità.

Prima di iniziare

  1. Per ottenere le autorizzazioni necessarie per utilizzare Analisi dei log, chiedi all'amministratore di concederti i seguenti ruoli IAM sui bucket di log o sulle visualizzazioni dei log:

    • Per eseguire una query sui bucket di log _Required e _Default: Visualizzatore log (roles/logging.viewer).
    • Per eseguire query su tutte le visualizzazioni dei log in un progetto: Logs View Accessor (roles/logging.viewAccessor).
    • Per eseguire query sui log in una vista log specifica: Crea un criterio IAM per la visualizzazione dei log o limita il ruolo Funzione di accesso visualizzazione log (roles/logging.viewAccessor) a una determinata visualizzazione del log. Per ulteriori informazioni, vedi Controllare l'accesso a una visualizzazione dei log.

  2. Per ottenere le autorizzazioni necessarie per creare i grafici, chiedi all'amministratore di concederti il ruolo IAM Editor monitoraggio (roles/monitoring.editor) nel progetto.

  3. Per le viste dei log su cui vuoi eseguire una query, vai alla pagina Archiviazione dei log e verifica che venga eseguito l'upgrade dei bucket di log in cui sono archiviate le visualizzazioni Analisi dei log. Se necessario, esegui l'upgrade del bucket di log.

    Vai ad Archiviazione dei log

  4. (Facoltativo) Se vuoi eseguire query sui dati dei log utilizzando un set di dati BigQuery, ad esempio se prevedi di utilizzare la pagina BigQuery Studio, crea un set di dati BigQuery collegato.

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 sulla query che consentono di analizzare i dati e visualizzare i risultati. Dopo aver eseguito la query e generato un grafico, puoi personalizzare la relativa configurazione 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 Log Analytics:

    Vai ad Analisi dei log

    Se utilizzi 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 visualizzare i risultati della query:

    • Tabella: solo formato tabulare.

    • Grafico: solo formato del grafico

    • Entrambi: formato grafico e tabulare.

      Dopo aver selezionato come visualizzare i risultati della query, puoi configurare campi relativi alla visualizzazione selezionata, quindi salva la query e i risultati in una dashboard personalizzata. Se selezioni questa opzione, il formato salvato sarà tabulare 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 includere. Per ulteriori informazioni vedi 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 al grafico e applicando una suddivisione. La La dimensione, che è il valore dell'asse X, viene utilizzata per raggruppare o classificare le righe. La Misura, o valore dell'asse Y, è una serie di dati tracciata in base al Asse Y.

Modificare il tipo di grafico

Puoi scegliere tra i seguenti tipi di grafici, a seconda del tipo di righe e colonne selezionate come dimensione e misura e di come vuoi visualizzare 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 di un grafico a barre su orizzontale o verticale, in cui gli assi di dimensione e misura sono scambiati.

  • Grafico a linee: Puoi utilizzare i grafici a linee per mostrare le variazioni dei dati nel tempo. Quando utilizzi una linea grafico, ogni serie temporale viene visualizzata da una linea diversa che corrisponde le misure che hai selezionato.

    Se l'asse X è basato sul tempo, ogni punto dati è posizionato all'inizio un intervallo di tempo. Ogni punto dati è collegato da 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 in pila. Ad esempio, se hai due serie identiche, le serie si sovrappongono in un grafico a linee, ma l'area ombreggiata è in pila in un grafico ad area.

  • Grafico a torta o a ciambella: 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. Le dimensioni di un supporto inclinato indica in che misura, spesso in percentuale, la categoria contribuisce a il tutto.

  • Tabella: una tabella mostra una riga per ogni riga del risultato della query. Le colonne della tabella sono definite dalla clausola SELECT. Se prevedi di visualizzare dati sotto forma di tabella su una dashboard, quindi usa una clausola LIMIT per limitare di righe nel risultato è inferiore a qualche centinaio.

  • Indicatore o prospetto: gli indicatori e i prospetti forniscono il valore più recente insieme a un'indicazione verde, ambra o rossa in base al confronto del valore con un insieme di soglie. A differenza degli indicatori, che mostrano solo informazioni sul valore più recente, i prospetti possono includere anche informazioni sui valori passati.

    Gli indicatori e i prospetti possono visualizzare il risultato della query solo se il risultato della query 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 in base al tempo all'interno della query:

    • Configura la query in modo da aggregare i dati in un intervallo di tempo e ordinare i risultati per timestamp in ordine decrescente e per limitare il numero di righe nei risultati. Puoi utilizzare la clausola LIMIT o utilizzare selettore dell'intervallo di tempo per limitare il numero di righe nel risultato della query.

      Ad esempio, la seguente query aggrega i dati per ora, applica un limite e ordina i risultati:

      SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count
      FROM `TABLE_NAME_OF_LOG_VIEW`
      WHERE severity IS NOT NULL AND severity = "DEFAULT"
      GROUP BY hour,severity
      ORDER BY hour DESC
      LIMIT 10
      
    • Imposta Dimensione in modo che corrisponda alla colonna che riporta l'unità di tempo. Ad esempio, se la query aggrega i dati per un'ora e crea una colonna denominata hour, quindi imposta il menu Dimensione su hour.

    • 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 imposta la funzione su none.

    Se vuoi fare affidamento su Analisi dei log per eseguire l'aggregazione basata sul tempo per quindi procedi nel seguente modo:

    • Configura il selettore dell'intervallo di tempo, che influisce sulle di righe nel risultato della query.
    • Imposta Dimensione in modo che corrisponda alla colonna che riporta l'unità di tempo. Ad esempio, potresti impostare questo menu su timestamp.
    • Imposta il menu Intervallo sull'intervallo di aggregazione su un intervallo specifico. Ad esempio, imposta il valore di questo campo su 1 hour. Non selezionare Intervallo automatico.
    • Imposta Misura sulla colonna numerica e seleziona una funzione come somma.

Modificare la dimensione e la misura

Puoi scegliere quali righe e colonne inserire nel grafico selezionando i campi delle dimensioni e delle misurazioni.

  • 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, viene selezionata come dimensione la prima colonna. Puoi anche personalizzare la dimensione nel riquadro Visualizzazione del grafico. Quando una colonna del timestamp è selezionata 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 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, in modo da specificare le tue aggregazioni e intervalli di tempo all'interno della query per analisi più complesse. La disattivazione dell'intervallo imposta la funzione di aggregazione delle misure su none. Sono consentite solo misure numeriche quando l'intervallo di dimensioni è disabilitata.

  • Misura

    Puoi selezionare più misure nel riquadro Visualizzazione del grafico. Quando selezioni una misura, deve anche selezionare la funzione di aggregazione affinché venga eseguita sui relativi valori raggruppati, 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, la colonna L'opzione della funzione di aggregazione none è disponibile. Se la dimensione è un valore di stringa, la casella di controllo Disattiva intervallo non viene visualizzata. Tuttavia, L'impostazione delle funzioni di aggregazione di una misura su none disattiva anche la intervallo di tempo.

Aggiungi una suddivisione

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

Quando selezioni una suddivisione, scegli colonne che contengono una piccola numero di etichette brevi e significative, come region_name, al posto dei campi che possono contenere un grande numero di stringhe o stringhe lunghe, textPayload.

Ad esempio, vedi la seguente configurazione del grafico, in cui il campo Dimensione il campo è impostato su type, 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 una suddivisione in base alla gravità.

Nello screenshot precedente è visualizzata una serie di dati in pila, in cui la risorsa il tipo k8s_container è suddiviso in diversi tipi di severity. Questo consente di 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 tua query, puoi salvarlo in un 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 bucket Cloud Storage:

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

Per salvare il grafico in una dashboard:

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

    Vai ad Analisi dei log

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

  2. Esegui una query per generare un grafico, quindi 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, nel messaggio popup Fai clic su Visualizza dashboard.

Per visualizzare un elenco di dashboard personalizzate contenenti 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 salvate in un consulta Modificare la configurazione di un widget. Nella finestra di dialogo Configura widget, puoi modificare la query utilizzata per generare un grafico oppure personalizzarne la configurazione 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 vengono applicati ai grafici generati da una query SQL di Log Analytics.

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 Log Analytics:

    Vai ad Analisi dei log

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

  2. Identifica il nome della tabella per la visualizzazione dei log su cui vuoi eseguire una query.

    Per identificare questo nome, vai all'elenco Visualizzazioni log, locate la visualizzazione log e seleziona Query. Il riquadro Query viene compilato con una query predefinita, che include il nome della tabella della visualizzazione del log oggetto della 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 dei log.

  3. Sostituisci TABLE_NAME_OF_LOG_VIEW con il nome della tabella della vista di log su cui vuoi eseguire una query, quindi copia la query.

  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 trasmetti come stringa:

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

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 è la seguente:

  • 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

Grafico degli audit log BigQuery per l'accesso ai dati

I seguenti filtri di query per il controllo data_access di BigQuery log e seleziona determinati campi, ad esempio user_email, ip, auth_permission, e job_execution_project. Ad esempio, puoi creare un grafico che mostri la frequenza di 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_NAME_OF_LOG_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'

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 è la seguente:

  • 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 diversa a causa di un'aggregazione aggiuntiva applicata automaticamente da Analisi dei log.

  • I percorsi JSON devono essere convertiti in stringhe e numeri per poter essere visualizzati in un grafico.

Passaggi successivi