Informazioni sulle viste di analisi

Questo documento descrive le viste di Analytics e i casi in cui potresti volerle creare. Descrive inoltre le differenze tra le visualizzazioni di analisi e i concetti che potresti conoscere, come le visualizzazioni dei log e le query salvate.

Per scoprire come creare, eseguire query e gestire le viste di analisi, consulta Creare ed eseguire query sulle viste di analisi.

Panoramica

Una vista Analytics รจ una risorsa su cui รจ possibile eseguire query. Questa risorsa contiene una query SQL che esegue query su una o piรน viste dei log.

Una visualizzazione di log in un bucket di log controlla quali voci di log nel bucket di log puoi visualizzare. Puoi eseguire query sulla visualizzazione dei log con le pagine Esplora log e Analisi dei log. In entrambi i casi, il formato dei dati sottoposti a query รจ determinato dalla struttura dei dati LogEntry.

La query SQL contenuta in una vista di analisi consente di trasformare i dati di log in una o piรน viste dei log in un formato personalizzato. ovvero puoi filtrare le voci di log nella visualizzazione dei log che contribuiscono al risultato della query e definire le colonne del risultato. Ad esempio, puoi eliminare colonne, spostare i dati da un campo JSON nidificato a una colonna o aggiungere colonne.

Le viste Analytics non sono viste materializzate. Una vista Analytics non รจ una vista precalcolata che memorizza periodicamente nella cache i risultati delle query. Pertanto, l'esecuzione di una query su una vista Analytics equivale all'esecuzione di una query sulle viste dei log eseguite dalla vista Analytics.

Sia una vista di analisi sia una query salvata contengono una query SQL. Tuttavia, una vista Analytics รจ una risorsa su cui รจ possibile eseguire query. Puoi eseguire di nuovo una query salvata, ma non puoi eseguire query sul risultato di una query salvata.

Tipi di viste Analytics

Esistono due tipi di visualizzazioni di Analytics: definite dall'utente e definite dal sistema:

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

  • Le visualizzazioni di analisi definite dal sistema sono visualizzazioni di analisi create dai serviziGoogle Cloud . Puoi eseguire query sulle viste di analisi definite dal sistema. Tuttavia, non puoi modificarli o eliminarli.

Per informazioni sull'elenco delle viste Analytics nel tuo progettoGoogle Cloud , vedi Elencare le viste Analytics.

Posizione delle viste Analytics

La posizione di una vista Analytics รจ determinata dalla posizione delle risorse che interroga. Ad esempio, se una vista Analytics esegue query su una vista log che si trova nella localitร  global, anche la localitร  della vista Analytics deve essere global. Quando utilizzi la console Google Cloud per creare una vista Analytics, la posizione viene impostata automaticamente.

Vantaggi delle visualizzazioni di Analytics

Il vantaggio principale di una vista Analytics รจ che puoi trasformare i dati di log e creare uno schema coerente per altre query. Tuttavia, potresti anche scoprire che la creazione di una vista Analytics puรฒ ridurre l'impegno che dedichi alla scrittura di query o migliorare la struttura delle query. Poichรฉ le viste di analisi non sono viste materializzate, il loro utilizzo non riduce necessariamente il tempo di esecuzione delle query.

Esempio: trasformazione dei dati

Supponiamo che tu stia analizzando le prestazioni di rete utilizzando i log di flusso VPC. Devi analizzare le prestazioni complessive della rete e anche essere in grado di identificare reti, indirizzi IP o host specifici. Purtroppo, le informazioni che ti servono sono contenute in campi nidificati nel campo json_payload di una voce di log.

Per estrarre queste informazioni dalle voci di log, scrivi la seguente query e poi salvala come vista di analisi denominata network_details:

SELECT
  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 `TABLE_NAME_OF_LOG_VIEW`
WHERE
    log_id = "compute.googleapis.com/vpc_flows"
    AND SEARCH(json_payload.reporter, "SRC")

Quando vuoi analizzare il rendimento della rete, ora puoi eseguire query sulla visualizzazione Analytics. 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

Esempio: query di base per l'analisi della latenza API

Supponi di dover valutare e riepilogare la latenza delle richieste per intervalli di una settimana. Altri team utilizzeranno i dati settimanali dell'analisi del rendimento come base per altre analisi.

La visualizzazione Analytics che crei e che puรฒ essere interrogata da altri team riporta la latenza minima, massima e media delle richieste completate come registrata dalle voci di log in una visualizzazione log specifica:

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 `TABLE_NAME_OF_LOG_VIEW`
  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

Ruoli e autorizzazioni IAM richiesti

Poichรฉ le viste Analytics eseguono query sulle viste dei log, per creare ed eseguire query sulle viste Analytics, i tuoi ruoli IAM devono anche consentirti di eseguire query sulle viste dei log e utilizzare Analisi dei log. Questa sezione elenca i ruoli IAM necessari per creare viste di analisi e quelli necessari per eseguire query sulle viste dei log e utilizzare Log Analytics:

  • Per ottenere le autorizzazioni necessarie per creare, gestire e utilizzare le visualizzazioni di analisi, chiedi all'amministratore di concederti il ruolo IAM Observability Analytics User (roles/observability.analyticsUser) sul progetto.

    Questo ruolo predefinito contiene le autorizzazioni necessarie per creare, gestire e utilizzare le visualizzazioni di analisi. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

    Autorizzazioni obbligatorie

    Per creare, gestire e utilizzare le visualizzazioni di analisi sono necessarie le seguenti autorizzazioni:

    • observability.analyticsViews.get
    • observability.analyticsViews.list
    • observability.analyticsViews.create
    • observability.analyticsViews.update
    • observability.analyticsViews.delete
  • Per ottenere le autorizzazioni necessarie per eseguire query su una visualizzazione log e utilizzare Log Analytics, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

    • Per eseguire 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)

    Puoi limitare un'entitร  a una visualizzazione di log specifica aggiungendo una condizione IAM alla concessione del ruolo Accessore visualizzazione log effettuata a livello di progetto oppure aggiungendo un binding IAM al file delle norme della visualizzazione di log. Per ulteriori informazioni, vedi Controllare l'accesso a una visualizzazione dei log.

    Per informazioni su altri ruoli necessari per eseguire query sulle visualizzazioni nei bucket definiti dall'utente o per eseguire query sulla visualizzazione _AllLogs del bucket di log _Default, consulta Ruoli Cloud Logging.

Limitazioni

Alle visualizzazioni di Analytics si applicano le seguenti limitazioni:

  • Una vista Analytics non puรฒ eseguire query su un'altra vista Analytics.
  • Una vista di analisi puรฒ eseguire query su piรน viste dei log. Tuttavia, i bucket di log che ospitano le visualizzazioni dei log sottoposte a query devono trovarsi in un'unica posizione. Ad esempio, supponiamo di avere due bucket di log, uno in us-east1 e l'altro in asia-east1. Non puoi creare una vista Analytics che esegue query sulle visualizzazioni dei log in questi bucket di log.
  • La risorsa padre di una vista Analytics deve essere un progetto Google Cloud . Non puoi creare una vista Analytics in cartelle o organizzazioni.
  • I set di dati collegati non sono supportati per le viste Analytics. Pertanto, puoi eseguire query sulle viste Analytics solo utilizzando la pagina Analisi dei log. Inoltre, devi eseguire queste query sul servizio Cloud Logging predefinito.
  • Non รจ disponibile il supporto API per la creazione o la gestione delle viste Analytics.
  • Alle viste di Analytics si applicano i seguenti limiti:

    • Numero massimo di viste Analytics per Google Cloud progetto: 100
    • Per progetto Google Cloud , il numero massimo di viste Analytics per regione: 50
    • Per progetto Google Cloud , il numero massimo di regioni che possono archiviare le viste Analytics: 10

Passaggi successivi