Informazioni sulle viste Analytics

Questo documento descrive le viste di analisi e i casi in cui potresti volerle creare. Descrive inoltre le differenze tra le viste di analisi e le query salvate.

Panoramica

Una vista di analisi è una risorsa su cui puoi eseguire query. Ciò significa che, dopo aver definito una vista di analisi, puoi scrivere query in cui la specifichi nella clausola FROM.

Il vantaggio principale dell'utilizzo delle viste di analisi è che non sei vincolato a eseguire query sui dati nel formato definito da un'API o da un sistema. Una vista di analisi ti consente di definire uno schema, semplificando le query o riducendo il tempo necessario per scriverle. La query in una vista di analisi può, ad esempio, conservare solo campi specifici, rinominare i campi, spostare i campi nidificati in una colonna di primo livello ed eseguire raggruppamenti e aggregazioni.

Le viste di analisi non sono viste materializzate. Una vista di analisi non è una vista precalcolata che memorizza periodicamente nella cache i risultati delle query. Pertanto, l'esecuzione di query su una vista di analisi equivale all'esecuzione di query sulle viste elencate nella query della vista di analisi.

Le viste di analisi sono più potenti delle query salvate, ovvero le query che esegui nella pagina Observability Analytics e poi salvi. Puoi eseguire di nuovo una query salvata, ma non puoi eseguire query sui risultati di una query salvata.

Tipi di viste di analisi

Esistono due tipi di viste di analisi: definite dall'utente e definite dal sistema:

  • Le viste di analisi definite dall'utente sono tutte le viste di analisi che crei. Puoi eseguire query, modificare ed eliminare le viste di analisi definite dall'utente.

  • Le viste di analisi definite dal sistema sono viste di analisi create da Google Cloud servizi. Puoi eseguire query sulle viste di analisi definite dal sistema. Tuttavia, non puoi modificarle o eliminarle.

Per informazioni su come elencare le viste di analisi nel tuo Google Cloud progetto, consulta Elencare le viste di analisi.

Posizione delle viste di analisi

La posizione di una vista di analisi è determinata dalla posizione delle risorse su cui esegue query. Ad esempio, se una vista di analisi esegue query su una vista di log nella località global, anche la posizione della vista di analisi deve essere global. Quando utilizzi la Google Cloud console per creare una vista di analisi, la posizione viene impostata automaticamente.

Esempi di casi d'uso

Il vantaggio principale di una vista di analisi è che non sei vincolato a eseguire query sui dati nel formato definito dal sistema. Una vista di analisi ti consente di definire uno schema, semplificando le query o riducendo il tempo necessario per scriverle.

Eseguire query per i dettagli di rete

Vuoi analizzare il rendimento della rete utilizzando i log di flusso VPC. Devi analizzare il rendimento complessivo della rete e identificare reti, indirizzi IP e host specifici. Queste informazioni sono memorizzate all'interno di campi nidificati nel campo json_payload di una voce di log.

Per semplificare le query di analisi, crea la seguente vista di analisi e chiamala network_details:

SELECT
  -- Create a column for each network field.
  JSON_VALUE(resource.labels.subnetwork_name) subnetwork_name,
  JSON_VALUE(json_payload.src_instance.vm_name) vm_name,
  JSON_VALUE(json_payload.connection.src_ip) as src_ip,
  JSON_VALUE(json_payload.connection.src_port) as src_port,
  JSON_VALUE(json_payload.connection.dest_ip) as dest_ip,
  JSON_VALUE(json_payload.connection.dest_port) as dest_port,
  CAST(JSON_VALUE(json_payload.bytes_sent) as INT64) as bytes_sent,
  CAST(JSON_VALUE(json_payload.packets_sent) as INT64) as packets_sent
FROM
  -- Query one log view.
  `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
WHERE
  -- Only query the VPC Flow Logs log.
  log_id = "compute.googleapis.com/vpc_flows"
  AND SEARCH(json_payload.reporter, "SRC")

Prima di utilizzare la query, imposta i valori delle seguenti variabili:

  • PROJECT_ID: l'identificatore del progetto.
  • LOCATION: la località della vista di log.
  • BUCKET_ID: il nome o l'ID del bucket di log.
  • LOG_VIEW_ID: l'identificatore della vista di log, che è limitato a 100 caratteri e può includere solo lettere, cifre, trattini bassi e trattini.

Quando vuoi analizzare il rendimento della rete, esegui query sulla vista di analisi. Ad esempio, se ti interessa solo il nome dell'istanza e la quantità di dati inviati, puoi scrivere la seguente query:

SELECT vm_name, bytes_sent, packets_sent,
FROM `analytics_view.my_project.global.network_details`
ORDER BY bytes_sent DESC
LIMIT 100

Query di base per l'analisi della latenza delle API

Diversi team hanno bisogno di dati sul rendimento settimanale per completare l'analisi. Anziché generare i dati settimanali per ogni team, puoi creare una vista di analisi che estrae i dati settimanali. Gli altri team possono eseguire query sulla vista di analisi ed eseguire la propria analisi.

La seguente query illustra come utilizzare SQL per calcolare la latenza minima, massima e media delle richieste:

SELECT week, MIN(took_ms) as min, MAX(took_ms) AS max, AVG(took_ms) AS avg
FROM (
  SELECT TIMESTAMP_TRUNC(timestamp, WEEK) AS week,
  CAST( JSON_VALUE(json_payload, '$."http.resp.took_ms"') AS INT64) as took_ms
  FROM
    -- Query one log view.
    `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
  WHERE json_payload IS NOT NULL
    AND SEARCH(labels,"frontend")
    AND JSON_VALUE(json_payload.message) = "request complete"
  ORDER BY took_ms DESC, timestamp ASC
)
GROUP BY week ORDER BY week

Limitazioni

Alle viste di analisi si applicano le seguenti limitazioni:

  • Una vista di analisi può eseguire query solo sulle viste di log.
  • La risorsa padre di una vista di analisi deve essere un Google Cloud progetto.
  • Puoi eseguire query su una vista di analisi solo utilizzando la pagina Observability Analytics e solo quando utilizzi il motore di query Observability Analytics (predefinito).
  • Tutte le viste su cui esegue query una vista di analisi devono trovarsi nella stessa località.
  • Per creare o gestire le viste di analisi, devi utilizzare la Google Cloud console.
  • Puoi creare al massimo 100 viste di analisi per Google Cloud progetto.
  • Puoi creare al massimo 50 viste di analisi per regione.
  • Per Google Cloud progetto, al massimo 10 regioni possono contenere una vista di analisi.

Passaggi successivi