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, vedi 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, potresti 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, eseguire una query su una vista Analytics equivale a eseguire una query sulle viste dei log che la vista Analytics esegue.
Sia una vista analytics 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 viste 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 località 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 visualizzazione Analytics 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 su cui possono essere eseguite query 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 Utente di Observability Analytics (
roles/observability.analyticsUser
) sul tuo 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 viste Analytics 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 sui ruoli aggiuntivi 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 di Cloud Logging. -
Per eseguire query sui bucket di log
Limitazioni
Alle viste 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 log, uno in
us-east1
e l'altro inasia-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
- Creare ed eseguire query sulle visualizzazioni di Analytics
- Eseguire query e analizzare la panoramica dei log
- Salvare e condividere una query SQL