Grafico dei risultati della query SQL

Questo documento descrive come creare grafici dei risultati delle query di Analisi dei log, che inviano query SQL. L'analisi dei dati di log e traccia con SQL consente di identificare pattern e tendenze. Puoi visualizzare i risultati della query come tabella o visualizzarli creando un grafico. Puoi anche salvare un grafico in una dashboard personalizzata.

Lo screenshot seguente mostra i risultati della query di esempio di traccia, che viene mostrata più avanti in questo documento. Lo screenshot mostra lo stato segnalato dagli intervalli, dopo l'aggregazione delle risposte per ora e per service_name:

Grafico di esempio che illustra una suddivisione per nome del servizio.

Prima di iniziare

  1. Accedi al tuo account Google Cloud . 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 workload.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Abilita l'API Observability.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Abilita l'API Observability.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

  8. Per ottenere le autorizzazioni necessarie per caricare la pagina Log Analytics, scrivere ed eseguire query sui dati di log e traccia e salvare i grafici nelle dashboard personalizzate, chiedi all'amministratore di concederti i seguenti ruoli IAM:

    • Editor Monitoring (roles/monitoring.editor) sul tuo progetto
    • Observability View Accessor (roles/observability.viewAccessor) sulle visualizzazioni di osservabilità che vuoi interrogare. Questo ruolo supporta le condizioni IAM, che ti consentono di limitare la concessione a una visualizzazione specifica. Se non colleghi una condizione alla concessione del ruolo, l'entità può accedere a tutte le visualizzazioni di osservabilità. Le visualizzazioni di osservabilità sono in Anteprima pubblica.
    • Visualizzatore log (roles/logging.viewer) sul tuo progetto
    • Logs View Accessor (roles/logging.viewAccessor) sul progetto che memorizza le visualizzazioni log su cui vuoi eseguire query.

    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.

Seleziona i dati da visualizzare nel grafico

Per configurare i dati da visualizzare in un grafico, crea una query utilizzando SQL. Quando selezioni la scheda Grafico, viene visualizzato un grafico con i risultati della query. Dopo l'esecuzione della query e la generazione di 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 come grafico, esegui una query procedendo nel seguente modo:

  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. Nel riquadro Query, inserisci una query e poi fai clic su Esegui.

  3. Al termine della query, nella scheda Risultati, seleziona la modalità di visualizzazione dei risultati della query:

    • Tabella: solo formato tabellare.

    • Grafico: solo formato del grafico

    • Entrambi: formato grafico e tabellare.

      Dopo aver selezionato la modalità di visualizzazione dei risultati della query, puoi configurare i campi per la visualizzazione selezionata e poi salvare la query e i risultati in una dashboard personalizzata. Il formato salvato è tabellare quando hai selezionato l'opzione Tabella. In caso contrario, il formato è un grafico.

      Per i grafici, le opzioni di visualizzazione consentono di selezionare il tipo di grafico e le righe e le colonne da rappresentare nel grafico. Per saperne di più 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 da rappresentare nel grafico e applicando una distribuzione. 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.

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 (impostazione predefinita): 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 in modo che sia orizzontale o verticale, in cui gli assi delle dimensioni e delle misure sono 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 che hai selezionato.

    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 una sezione indica il contributo della categoria al totale, spesso espresso in percentuale.

  • 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 formato tabellare in una dashboard, utilizza una clausola LIMIT per limitare il numero di righe nel risultato a meno di 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 tra questo valore e un insieme di soglie. A differenza dei grafici a barre, 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 quando 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 basata sul tempo come parte della query, procedi nel seguente modo:

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

      Dati di log

      Ad esempio, la seguente query esegue una query su una visualizzazione log, 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 è descritto il significato dei campi nell'espressione precedente:

      • PROJECT_ID: l'identificatore del progetto.
      • LOCATION: la posizione della visualizzazione dei log o della visualizzazione 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.

      Dati di Trace

      Ad esempio, la seguente query esegue una query sui dati di traccia e aggrega i dati in intervalli di un'ora, applica un limite e ordina i risultati:

      SELECT TIMESTAMP_TRUNC(start_time, HOUR) AS hour,
         COALESCE(
            JSON_VALUE(resource.attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."g.co/gae/app/module"')) AS service_name,
         status.code AS status,
         COUNT(*) AS count
      FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
      GROUP BY hour, service_name, status
      ORDER BY hour DESC
      LIMIT 1000
      

      Di seguito è descritto il significato dei campi nell'espressione precedente:

      La query precedente è stata utilizzata per generare la figura mostrata all'inizio di questo documento. Questa figura mostra anche la configurazione del grafico.

    • Imposta la 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, 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 nessuna.

    Se vuoi affidarti ad Analisi dei log per eseguire l'aggregazione basata sul tempo per te, procedi nel seguente modo:

    • 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 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 la misurazione sulla colonna numerica e seleziona una funzione come somma.

Modificare la dimensione e la metrica

Puoi scegliere le righe e le colonne da rappresentare nel grafico selezionando i campi dimensione e misura.

  • Dimensioni

    La dimensione deve essere una colonna timestamp, numerica o stringa. Per impostazione predefinita, la dimensione è impostata sulla prima colonna basata sul timestamp nello schema. Se nella query non è presente alcun timestamp, la prima colonna di stringa viene selezionata come dimensione. Puoi anche personalizzare la dimensione nel pannello Visualizzazione grafico. Quando una colonna timestamp viene selezionata 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'ordine di ordinamento "predefinito", 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, che ti consente di specificare le tue aggregazioni e intervalli di tempo all'interno della query per un'analisi più complessa. Se disattivi l'intervallo, la funzione di aggregazione delle misure viene impostata 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 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 none per la funzione di aggregazione è 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, disattivi anche l'intervallo.

Aggiungere una suddivisione

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

Quando selezioni una distribuzione, scegli colonne che contengono un numero ridotto di etichette brevi e significative, ad esempio region_name, anziché campi che potrebbero contenere un numero elevato di stringhe o stringhe lunghe, ad esempio textPayload.

Dati di log

Ad esempio, vedi la seguente configurazione del grafico, in cui il campo Dimensione è impostato su type, il campo Misura è impostato su Conteggio righe e il campo Distribuzione è impostato su severity:

Grafico di esempio che contiene una suddivisione per gravità.

Nello screenshot precedente, vedi una serie di dati in pila, in cui il tipo di risorsa k8s_container è suddiviso in diversi tipi severity. In questo modo puoi identificare quanti log di ogni tipo di gravità sono stati generati da una determinata risorsa.

Dati di Trace

Ad esempio, il seguente grafico mostra il numero di span creati da ogni servizio, insieme ai dati suddivisi per nome dello span:

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

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 una serie di tipi di widget. Queste dashboard ti 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 Applicare una variabile a un widget.

Una dashboard mostra 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 limite di proprietà. I limiti di 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:

  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, 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 salvare il grafico.

  4. (Facoltativo) Per visualizzare la dashboard personalizzata, fai clic su Visualizza dashboard nel messaggio di notifica.

Per visualizzare un elenco di dashboard personalizzate che contengono grafici generati da query SQL, vai al pulsante Salva grafico e fai clic su Menu.

Modificare un grafico salvato in una dashboard personalizzata

Puoi modificare un grafico dopo averlo salvato in una dashboard. Per saperne di più, consulta Modificare la configurazione di un widget. Nella finestra di dialogo Configura widget, puoi:

  • Modifica i dati che interroghi.
  • 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 vengono applicati 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 Analisi dei log.

  • I percorsi JSON devono essere convertiti in stringhe o numeri per essere rappresentati in un grafico.

Passaggi successivi