Visualizzare i log inviati a Cloud Storage

Questo documento spiega come trovare le voci di log instradate da Cloud Logging ai bucket Cloud Storage.

Le voci di log vengono salvate nei bucket Cloud Storage in batch orari. Potrebbero trascorrere dalle 2 alle 3 ore prima che inizino a essere visualizzate le prime voci.

Prima di iniziare

Per una discussione concettuale sui sink, vedi Panoramica dei modelli di routing e archiviazione: sink.

Per istruzioni su come instradare i log, consulta Instradare i log verso le destinazioni supportate.

Visualizza i log

Per visualizzare i log indirizzati a Cloud Storage:

  1. Nella console Google Cloud , vai alla pagina Bucket:

    Vai a Bucket

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

  2. Seleziona il bucket Cloud Storage che utilizzi come destinazione di routing.

Organizzazione dei log

Quando esegui il routing dei log a un bucket Cloud Storage, Logging scrive un insieme di file nel bucket.

I file sono organizzati in gerarchie di directory per tipo di log e data. Il tipo di log, indicato come [LOG_ID] nel riferimento LogEntry, può essere un nome semplice come syslog o un nome composto come appengine.googleapis.com/request_log. Se questi log fossero archiviati in un bucket denominato my-gcs-bucket, le directory avrebbero il nome riportato nell'esempio seguente:

my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/

Un singolo bucket Cloud Storage può contenere log di più tipi di risorse. La dimensione massima del file è di 3,5 GiB.

La registrazione non garantisce la deduplicazione delle voci di log dai sink contenenti query identiche o sovrapposte; le voci di log di questi sink potrebbero essere scritte più volte in un bucket Cloud Storage.

Le directory foglia (DD/) contengono più file, ognuno dei quali contiene le voci di log instradate per un periodo di tempo specificato nel nome del file. I file sono suddivisi e i loro nomi terminano con un numero di shard, Sn o An (n=0, 1, 2, ...). Ad esempio, ecco due file che potrebbero essere archiviati nella directory my-gcs-bucket/syslog/2015/01/13/:

08:00:00_08:59:59_S0.json
08:00:00_08:59:59_S1.json

Questi due file insieme contengono le voci di log syslog per tutte le istanze durante l'ora che inizia alle 08:00:00 UTC e termina alle 08:59:59 UTC. I timestamp voce di logg sono espressi in UTC (Coordinated Universal Time).

Le voci di log che arrivano con un receiveTimestamp entro la finestra allineata di 60 minuti del relativo timestamp vengono scritte nei file dello shard principale. Ad esempio, una voce di log con un timestamp di 08:00:00 e un receiveTimestamp di 08:10:00 viene archiviata nel file di shard principale.

Questi file includono uno shard principale numerato nel suffisso: _Sn.json.

Le voci di log che arrivano con un timestamp in una finestra allineata di 60 minuti diversa dal relativo receiveTimestamp vengono scritte nei file shard di addendum. Ad esempio, una voce di log con un timestamp di 08:00:00 e un receiveTimestamp di 09:10:00 viene archiviata in un file shard di addendum.

Questi file includono uno shard di addendum numerato con il suffisso: _An:Unix_timestamp.json.

Ad esempio, una voce di log con un timestamp tra le 08:00:00 e le 08:59:59, ma un receiveTimestamp in un'altra finestra allineata di 60 minuti, viene scritta in un file con il suffisso _An:Unix_timestamp.json, dove il timestamp Unix identifica l'ora in cui il file è stato indirizzato a Cloud Storage. Se una voce di log aveva un timestamp di 08:50:00 e un receiveTimestamp di 09:10:00 ed è stata instradata alle 09:15:00 del 25 marzo 2021, il file di addendum verrà scritto nel seguente modo:

08:00:00_08:59:59_A0:1616681700.json

Per ottenere tutte le voci di log, devi leggere tutti gli shard per ogni periodo di tempo. In questo caso, gli shard dei file 0 e 1. Il numero di shard di file scritti può variare per ogni periodo di tempo.

All'interno dei singoli file suddivisi, le voci di log vengono archiviate come elenco di oggetti LogEntry. Per un esempio di voce syslog, vedi Organizzazione delle voci di log.

Tieni presente che l'ordine di ordinamento delle voci di log all'interno dei file non è uniforme né garantito in altro modo.

Voci di log arrivate in ritardo

Le voci di log con routing vengono salvate nei bucket Cloud Storage in batch orari. Potrebbero essere necessarie da 2 a 3 ore prima che inizino a essere visualizzate le prime voci. Gli shard dei file di log instradati con il suffisso An ("Append") contengono le voci di log arrivate in ritardo.

Se la destinazione subisce un'interruzione, Cloud Logging memorizza i dati nel buffer fino al termine dell'interruzione.

Se non sono presenti log nella destinazione del sink, controlla le metriche di sistema di esportazione. Le metriche di sistema di esportazione indicano quante voci di log vengono indirizzate e quante vengono eliminate a causa di errori. Se le metriche di sistema di esportazione indicano che non sono state indirizzate voci di log alla destinazione, controlla il [filtro][export-query] per verificare che le voci di log corrispondenti al filtro siano arrivate di recente in Logging.

Nella console Google Cloud , vai alla pagina Router dei log:

Vai a Router dei log

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

Voci di log di App Engine

App Engine combina più voci secondarie di tipo google.appengine.logging.v1.LogLine (chiamate anche AppLog o AppLogLine) in una voce di log principale di tipo google.appengine.logging.v1.RequestLog per la richiesta che causa l'attività di log. Ogni riga del log ha un "ID richiesta" che identifica la voce principale. Esplora log mostra le righe di log con la voce di log delle richieste. I tentativi di logging inseriscono tutte le righe di log nel batch con la richiesta originale, anche se i timestamp le inserirebbero nel batch successivo. Se ciò non è possibile, la voce di log delle richieste potrebbe non contenere alcune righe di log e potrebbero esserci righe di log "orfane" senza una richiesta nel batch successivo. Se questa possibilità è importante per te, preparati a ricollegare le parti della richiesta quando elabori i log.

Risoluzione dei problemi

Se i log sembrano mancare dalla destinazione del sink o se sospetti che il sink non stia instradando correttamente i log, consulta l'articolo Risolvere i problemi relativi all'instradamento dei log.

Prezzi

Cloud Logging non addebita costi per il routing dei log a una destinazione supportata, ma la destinazione potrebbe applicare costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita lo streaming dei log nei bucket di log e l'archiviazione per un periodo più lungo del periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita costi per la copia dei log, per la creazione di ambiti dei log o visualizzazioni di analisi o per le query emesse tramite le pagine Esplora log o Analisi dei log.

Per saperne di più, consulta i seguenti documenti: