Analizzare il volume dei log con Analisi dei log

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:

    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.

  • Assicurati che sia stato eseguito l'upgrade dei bucket di log per utilizzare Analisi dei log:

    1. Nella console Google Cloud, vai alla pagina Archiviazione dei log:

      Vai ad Archiviazione dei log

      Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

    2. 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:

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:

Grafico di esempio che mostra i risultati delle query sul volume di log per app.

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:

Grafico di esempio che mostra i risultati dell'esecuzione di query sul volume di log in base al nome del log.

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.