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 2-3 ore prima che inizino a comparire 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 Routing dei log alle destinazioni supportate.

visualizza i log

Per visualizzare i log con routing 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 sottotitolo Cloud Storage.

  2. Seleziona il bucket Cloud Storage che stai utilizzando come destinazione di 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 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 verranno denominate come 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 è 3,5 GiB.

Il logging 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 file. I file sono 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 directorymy-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 contengono le voci di log syslog per tutte le istanze all'ora che inizia dalle 08:00:00 UTC alle 08:59:59 UTC. I timestamp voce di log sono espressi nel formato UTC (Coordinated Universal Time).

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

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 rispetto a quella del rispettivo receiveTimestamp vengono scritte nei file addendum shard. Ad esempio, una voce di log con timestamp pari a 08:00:00 e un receiveTimestamp pari a 09:10:00 viene archiviata in un file di shard dell'addendum.

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

Ad esempio, una voce di log con timestamp compresa tra 08:00:00 e 08:59:59, ma receiveTimestamp in una diversa finestra allineata di 60 minuti, viene scritta in un file con suffisso _An:Unix_timestamp.json, dove il timestamp Unix identifica l'ora in cui il file è stato instradato a Cloud Storage. Se una voce di log aveva un valore timestamp 08:50:00 e un receiveTimestamp pari a 09:10:00 ed è stata inoltrata alle 09:15:00 il 25 marzo 2021, il file addendum verrebbe scritto come segue:

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 del file 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 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 arrivo

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 visualizzare le prime voci. Gli shard del file di log instradati con il suffisso An ("Aggiungi") contengono le voci di log arrivate in ritardo.

Se si verifica un'interruzione nella destinazione, Cloud Logging esegue il buffer dei dati fino al termine dell'interruzione.

Se non sono presenti 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 non sono state instradate voci di log alla destinazione, controlla il filtro per verificare che le voci di log corrispondenti al filtro siano di recente arrivate in Logging.

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

Vai a Router dei log

Se usi 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. Ciascuna riga di log ha un "ID richiesta" che identifica la voce principale. Esplora log visualizza le righe di log con la voce di log della richiesta. Logging tenta di inserire tutte le righe di log nel batch con la richiesta originale, anche se i relativi timestamp le posizionano nel batch successivo. Se ciò non è possibile, nella voce di log della richiesta potrebbero mancare 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 riconnettere le parti della richiesta quando elabori i log.

Risoluzione dei problemi

Se sembra che i log non siano presenti nella destinazione del sink o se sospetti che il sink non stia eseguendo correttamente il routing dei log, consulta Risolvere i problemi relativi ai log di routing.

Prezzi

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

Cloud Logging non addebita alcun costo per la copia dei log o per le query emesse tramite la pagina Esplora log o Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti: