Questo documento descrive come utilizzare Log Analytics per stimare il volume fatturabile delle voci di log. Puoi scrivere query che registrano e aggregano il volume fatturato in base a dimensioni diverse, come il tipo di risorsa o il nome dell'applicazione, quindi creare grafici e visualizzare i risultati delle query.
Come eseguire query sul volume fatturabile
Il volume fatturabile di una voce di log, ovvero le dimensioni riportate al 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 di cui il tipo di dati è INTEGER
.
Ad esempio, puoi includerlo nelle clausole SELECT
, nelle istruzioni CASE
e nelle espressioni di tabelle comuni.
Per ulteriori informazioni 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 stanno scrivendo il maggior numero di voci di log. Per scoprire come correlare il volume fatturato al costo, consulta la sezione Riepilogo dei prezzi di Cloud Logging e Prezzi di Cloud Logging.
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 Log Analytics.
Configura i bucket di log
Assicurati che sia stato eseguito l'upgrade dei bucket di log per utilizzare Analisi dei log:
-
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 con una vista log per cui vuoi eseguire una query, assicurati che la colonna Log Analytics disponibile mostri Aperto. Se viene visualizzato Esegui l'upgrade, fai clic su Esegui l'upgrade e completa la finestra di dialogo.
Configura i ruoli e le autorizzazioni IAM
Questa sezione descrive i ruoli o le autorizzazioni IAM obbligatori per utilizzare Log Analytics:
-
Per ottenere le autorizzazioni necessarie per utilizzare Log Analytics ed eseguire query sulle visualizzazioni log, chiedi all'amministratore di concederti i seguenti ruoli IAM nel 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 Accesso alla visualizzazione dei log effettuata a livello di progetto o aggiungendo un'associazione IAM al file di criteri della visualizzazione di log. Per ulteriori informazioni, consulta Controllare l'accesso a una visualizzazione dei log.
Si tratta delle stesse autorizzazioni necessarie per visualizzare le voci di log nella pagina Esplora log. Per informazioni sui ruoli aggiuntivi necessari per eseguire query sulle visualizzazioni dei 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
Query di esempio
Questa sezione fornisce query di esempio che analizzano i dati di una singola visualizzazione dei log.
Se memorizzi i dati in più visualizzazioni dei log e vuoi calcolare i valori aggregati per i dati memorizzati in queste visualizzazioni, devi utilizzare l'istruzione UNION
.
Puoi eseguire query sulla voce di log utilizzando la pagina Log Analytics o qualsiasi posizione in cui puoi eseguire query sui set di dati BigQuery, tra cui le pagine BigQuery Studio e Looker Studio e lo strumento a riga di comando bq.
Per utilizzare le query di esempio:
Pagina Log Analytics: sostituisci TABLE_NAME_OF_LOG_VIEW con il nome della visualizzazione dei log. Il formato è
project_ID.region.bucket_ID.view_ID
.Set di dati BigQuery: sostituisci TABLE_NAME_OF_LOG_VIEW con il percorso alla tabella nel set di dati collegato.
Esegui query sul volume dei log per app
Per calcolare i byte totali al giorno, per app, per le voci di log che sono state scritte in base a una risorsa Google Kubernetes Engine e che hanno 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
`TABLE_NAME_OF_LOG_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 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 dei log:
Esegui una query per il volume dei log in base al nome
Per elencare il numero di byte memorizzati e il nome del log per ogni voce di log che ha un payload JSON e che è stata scritta in base a una risorsa Google Kubernetes Engine, utilizza la seguente query:
SELECT
log_id AS log_name,
storage_bytes
FROM
`TABLE_NAME_OF_LOG_VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
La query precedente non aggrega i risultati, ma contiene una riga per ogni voce di log, che contiene il nome del log e il numero di byte memorizzati. Se li rappresenti in un grafico, puoi visualizzare la parte dei dati dei log scritta in log diversi:
Il grafico precedente mostra che la maggior parte dei dati dei 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
Puoi includere il campo storage_bytes
nelle query eseguite tramite la pagina
BigQuery Studio o utilizzando lo
strumento a riga di comando bq.
La seguente query riporta 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 `TABLE_NAME_OF_LOG_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 le seguenti condizioni sono vere:
- Viene eseguito l'upgrade del bucket di log per l'utilizzo di Analisi dei log.
La query viene eseguita nella pagina Log Analytics o in qualsiasi punto in cui puoi 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 a partire dal 1° gennaio 2024.