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
segnalato al fatturazione Cloud, è disponibile tramite il campo storage_bytes
.
Nelle query, puoi utilizzare il campo storage_bytes
allo stesso modo
di utilizzare qualsiasi campo dello schema con 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
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 aiutino a determinare quali applicazioni scrivono il maggior numero di voci di log. Per scoprire come mettere in relazione il volume fatturabile Consulta il riepilogo dei prezzi di Cloud Logging e i prezzi di Cloud Logging.
Il volume fatturabile di una voce di log non corrisponde alle dimensioni del LogEntry
inviato all'API Cloud Logging. Il volume fatturabile include
byte richiesti per la serializzazione e i metadati.
Prima di iniziare
Prima di utilizzare Analisi dei log:
-
Per ottenere le autorizzazioni necessarie per utilizzare Analisi dei log, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:
-
Per eseguire query sui bucket di log
_Required
e_Default
: Visualizzatore log (roles/logging.viewer
) -
Per eseguire una query su tutte le visualizzazioni dei log di un progetto:
Funzione di accesso alla visualizzazione dei log (
roles/logging.viewAccessor
)
Puoi limitare un'entità a una visualizzazione dei log specifica aggiungendo una condizione IAM alla concessione del ruolo Accesso alla visualizzazione dei log effettuata a livello di progetto oppure aggiungendo un'associazione IAM al file di criteri della visualizzazione dei log. Per ulteriori informazioni, vedi Controllare l'accesso a una visualizzazione del log.
Si tratta delle stesse autorizzazioni necessarie per visualizzare le voci di log nella pagina Esplora log. Per informazioni su ruoli aggiuntivi necessari per eseguire query sulle viste sui bucket definiti dall'utente per eseguire query sulla vista
_AllLogs
di_Default
bucket di log, consulta Ruoli di Cloud Logging. -
Per eseguire query sui 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 visualizzazione di log su cui vuoi eseguire una query, devi assicurarti che La colonna Analisi dei log disponibile mostra Apri. Se Viene visualizzata la schermata Upgrade, quindi fai clic su Esegui upgrade e completa la .
-
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 il metodo Analisi dei log o in qualsiasi punto in cui puoi eseguire query su set di dati BigQuery, che include le pagine BigQuery Studio e Looker Studio e strumento a riga di comando bq.
Per utilizzare le query di esempio, segui questi passaggi:
Pagina Analisi dei log: sostituisci TABLE_NAME_OF_LOG_VIEW con il nome della visualizzazione 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 su 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 di log:
Query sul volume di log per nome log
per elencare il numero di byte archiviati e il nome log di ciascuno voce di log che ha un payload JSON e che è stata scritta su un nella risorsa Google Kubernetes Engine, usa 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 è presente una riga per ogni voce di log e la riga contiene un nome log e il numero byte archiviati. Se crei un grafico di questi dati, puoi visualizzare la parte così come scritti 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 che esegui tramite
BigQuery Studio oppure utilizzando
strumento a riga di comando bq.
La seguente query riporta il nome 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 del 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 il 1° gennaio 2024 o in una data successiva.