Observability Analytics ti consente di stimare il volume fatturabile delle voci di log in modo da poter comprendere e gestire i costi di logging. Puoi scrivere query SQL per aggregare il volume dei log in base a dimensioni come il tipo di risorsa o il nome dell'applicazione, quindi visualizzare o tracciare i risultati.
Come eseguire query per il volume fatturabile
Il volume fatturabile di una voce di log, ovvero la dimensione segnalata alla fatturazione Cloud, è disponibile tramite il campo storage_bytes.
Nelle query, puoi utilizzare il campo storage_bytes nello stesso modo in cui utilizzi qualsiasi campo dello schema il cui tipo di dati è INTEGER.
Ad esempio, puoi includerla nelle clausole SELECT, nelle istruzioni CASE e nelle espressioni di tabella comuni.
Per saperne di più su come eseguire query sui log, consulta i seguenti documenti:
Poiché la fatturazione Cloud utilizza il volume fatturabile per determinare i costi, puoi scrivere query che ti aiutano a comprendere le origini dei costi. Ad esempio, puoi scrivere query che ti aiutano a determinare quali applicazioni scrivono il maggior numero di voci di log. Per scoprire come correlare il volume fatturabile al costo, consulta le sezioni di Cloud Logging della pagina Prezzi di Google Cloud Observability.
Il volume fatturabile di una voce di log non corrisponde alle dimensioni dell'oggetto LogEntry inviato all'API Cloud Logging. Il volume fatturabile include i byte necessari per la serializzazione e i metadati.
Prima di iniziare
Questa sezione descrive i passaggi da completare prima di poter utilizzare Observability Analytics.
Configura i bucket di log
Assicurati che sia stato eseguito l'upgrade dei bucket di log per utilizzare Observability Analytics:
-
Nella console Google Cloud , vai alla pagina Archiviazione dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Per ogni bucket di log che ha una visualizzazione dei log su cui vuoi eseguire query, assicurati che nella colonna Observability Analytics disponibile sia visualizzato Apri. Se viene visualizzato Esegui l'upgrade, fai clic su Esegui l'upgrade e completa la finestra di dialogo.
Configura ruoli e autorizzazioni IAM
Questa sezione descrive i ruoli o le autorizzazioni IAM necessari per utilizzare Observability Analytics:
-
Per ottenere le autorizzazioni necessarie per utilizzare Observability Analytics ed eseguire query sulle visualizzazioni dei log, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
-
Per eseguire query sui bucket di log
_Requirede_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 log specifica aggiungendo una condizione IAM alla concessione del ruolo Visualizzatore log effettuata a livello di progetto o aggiungendo un'associazione IAM al file della policy della visualizzazione log. Per saperne di più, consulta Controlla l'accesso a una visualizzazione log.
Queste sono le stesse autorizzazioni necessarie per visualizzare le voci di log nella pagina Esplora log. Per informazioni sui ruoli aggiuntivi necessari per eseguire query sulle visualizzazioni sui bucket definiti dall'utente o per eseguire query sulla visualizzazione
_AllLogsdel bucket di log_Default, consulta Ruoli di Cloud Logging. -
Per eseguire query sui bucket di log
-
Per ottenere le autorizzazioni necessarie per eseguire query sulle viste di analisi, chiedi all'amministratore di concederti il ruolo IAM Utente Observability Analytics (
roles/observability.analyticsUser) nel progetto.
Query di esempio
Questa sezione fornisce query di esempio che analizzano i dati di una singola visualizzazione log.
Se archivi i dati in più visualizzazioni log e vuoi calcolare i valori aggregati per i dati archiviati in queste visualizzazioni, devi utilizzare l'istruzione UNION.
Puoi eseguire query sulle voci di log utilizzando la pagina Observability Analytics o ovunque tu possa eseguire query sui set di dati BigQuery, incluse le pagine BigQuery Studio e Looker Studio e lo strumento a riga di comando bq.
Per utilizzare le query di esempio, segui questi passaggi:
Pagina Observability Analytics: sostituisci VIEW con il nome della visualizzazione log. Il formato è
project_ID.region.bucket_ID.view_ID.Set di dati BigQuery: sostituisci VIEW con il percorso della tabella nel set di dati BigQuery collegato.
Query per volume di log per app
Per calcolare i byte totali al giorno, per app, per le voci di log scritte in una risorsa Google Kubernetes Engine e con un payload JSON, utilizza la seguente query:
SELECT
timestamp_trunc(timestamp,DAY) as day,
JSON_VALUE(labels["k8s-pod/app"]) as app_id,
SUM(storage_bytes) as total_bytes
FROM
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
GROUP BY ALL
Per visualizzare i dati, puoi creare un grafico.
Nell'esempio seguente, i dati vengono visualizzati come un grafico a barre in pila. Ogni barra del grafico mostra il numero totale di byte archiviati, organizzati per app. In questo esempio, l'app frontend genera la maggior parte dei dati di log:
Esegui query sul volume dei log in base al nome del log
Per elencare il numero di byte archiviati e il nome del log per ogni voce di log con un payload JSON e scritta in una risorsa Google Kubernetes Engine, utilizza la seguente query:
SELECT
log_id AS log_name,
storage_bytes
FROM
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
La query precedente non aggrega i risultati, ma restituisce una riga per ogni voce di log, che contiene un nome di log e il numero di byte archiviati. Se crei un grafico di questi dati, puoi visualizzare la parte dei dati di log scritti in log diversi:
Il grafico precedente mostra che la maggior parte dei dati di log viene scritta nel log denominato stdout.
Utilizza lo strumento a riga di comando bq per eseguire query sul volume dei log in base al nome del log
Puoi includere il campo storage_bytes nelle query che esegui tramite la pagina BigQuery Studio o utilizzando lo strumento a riga di comando bq.
La seguente query genera un report con il nome del log e il numero di byte archiviati per ogni voce di log:
bq query --use_legacy_sql=false 'SELECT log_id as log_name,
storage_bytes FROM `VIEW`'
Il risultato di questa query è simile al seguente:
+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout | 716 |
| stdout | 699 |
| stdout | 917 |
| stdout | 704 |
Ogni riga corrisponde a una voce di log. Il valore della colonna storage_bytes è il volume fatturabile per la voce di log.
Limitazioni
Il campo storage_bytes è disponibile solo se sono soddisfatte le seguenti condizioni:
- Viene eseguito l'upgrade del bucket di log per utilizzare Observability Analytics.
La query viene eseguita nella pagina Observability Analytics o ovunque tu possa eseguire query sui set di dati BigQuery, incluse le pagine BigQuery Studio e Looker Studio e lo strumento a riga di comando bq.
La voce di log è stata scritta il 1° gennaio 2024 o in una data successiva.