Visualizza i log con routing 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 essere necessarie da 2 a 3 ore prima che inizino a essere visualizzate le prime voci.

Prima di iniziare

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

Per istruzioni su come eseguire il routing dei log, consulta Eseguire il routing dei log alle destinazioni supportate.

Visualizza i log

Per visualizzare i log con routing a Cloud Storage:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Cloud Storage e fai clic su Bucket:

    Vai a Bucket

  2. Seleziona il bucket Cloud Storage che stai utilizzando come destinazione del routing.

Organizzazione dei log

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

I file sono organizzati in gerarchie di directory per data e tipo di log. 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 venissero archiviati in un bucket denominato my-gcs-bucket, le directory verrebbero denominate nel seguente esempio:

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 è 3,5 GiB.

Logging non garantisce la deduplicazione delle voci di log da 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 file. I file sono con sharding 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 nell'ora che inizia dalle 08:00:00 UTC alle 08:59:59 UTC. I timestamp delle voci di log sono espressi nel fuso orario UTC (Coordinated Universal Time).

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

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

Le voci di log ricevute con un oggetto timestamp in una finestra allineata di 60 minuti diversa rispetto alla finestra receiveTimestamp vengono scritte nei file shard addendum. Ad esempio, una voce di log con timestamp pari a 08:00:00 e receiveTimestamp con 09:10:00 viene archiviata in un file shard addendum.

Questi file includono uno shard dell'appendice numerato con il suffisso: _An:Unix_timestamp.json.

Ad esempio, una voce di log con un valore timestamp compreso tra 08:00:00 e 08:59:59 e 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 di routing del file a Cloud Storage. Se una voce di log aveva un valore 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 sarà scritto come segue:

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

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

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

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

Voci di log in ritardo

Le voci di log instradate 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 di file di log instradati con il suffisso An ("Aggiungi") contengono voci di log arrivate in ritardo.

In caso di interruzione della destinazione, Cloud Logging esegue il buffer dei dati fino al termine dell'interruzione.

Se non ci sono log nella destinazione del sink, controlla le metriche di sistema di esportazione. Le metriche del sistema di esportazione indicano quante voci di log vengono instradate e quante vengono eliminate a causa di errori. Se le metriche di sistema di esportazione indicano che nessuna voce di log è stata instradata alla destinazione, controlla il filtro per verificare che le voci di log corrispondenti al filtro siano arrivate di recente in Logging.

Nel pannello di navigazione della console Google Cloud, seleziona Logging, quindi Router dei log:

Vai a Router dei log

Voci di log di App Engine

App Engine combina più sottovoci di tipo google.appengine.logging.v1.LogLine (chiamato anche AppLog o AppLogLine) in una voce di log principale di tipo google.appengine.logging.v1.RequestLog per la richiesta che causa l'attività dei log. Ciascuna riga del log ha un "ID richiesta" che identifica la voce principale. Esplora log visualizza le righe di log con la voce di log delle richieste. Logging tenta di inserire tutte le righe di log nel batch con la richiesta originale, anche se i relativi timestamp le inseriranno nel batch successivo. Se ciò non è possibile, nella voce del log delle richieste potrebbero mancare alcune righe di log, mentre nel batch successivo potrebbero essere presenti righe di log "orfane". Se questa possibilità è importante per te, preparati a ricollegare le parti della richiesta quando elabori i log.

Risoluzione dei problemi

Se i log sembrano non essere presenti nella destinazione del sink o se sospetti che il sink non esegua correttamente il routing dei log, consulta Risolvere i problemi di routing dei log.

Prezzi

Cloud Logging non prevede addebiti per instradare i log a una destinazione supportata, ma per la destinazione potrebbero essere applicati dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita un costo per trasmettere i log nei bucket di log e per un'archiviazione più lunga rispetto al periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita costi per la copia dei log o per le query eseguite tramite la pagina Esplora log o la pagina Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti: