Panoramica su routing e archiviazione

Questo documento spiega in che modo Cloud Logging elabora le voci di log e descrive i componenti chiave del routing e dell'archiviazione di Logging. Il routing si riferisce al processo utilizzato da Cloud Logging per determinare cosa fare con una voce di log ottenuta di recente. Puoi instradare le voci di log a destinazioni come i bucket di Logging, che archiviano le voce di log, o su Pub/Sub. Per esportare i log in destinazioni di terze parti, instrada i log a un argomento Pub/Sub, quindi autorizza la destinazione di terze parti a sottoscrivere l'argomento Pub/Sub.

A livello generale, ecco come Cloud Logging instrada e archivia le voci di log:

Figura che illustra il modo in cui Cloud Logging esegue il routing delle voci di log.

Esegui il routing dei log con il router dei log

Le sezioni seguenti spiegano in che modo Logging esegue il routing dei log con il router dei log utilizzando i sink.

Router dei log

Una voce di log viene inviata alla risorsa Google Cloud specificata nel campo logName durante la chiamata a entries.write.

Cloud Logging riceve le voci di log con l'API Cloud Logging dove passano attraverso il router dei log. I sink nel router dei log controllano ogni voce di log in base al filtro di inclusione e ai filtri di esclusione esistenti che determinano a quali destinazioni, compresi i bucket Cloud Logging, deve essere inviata la voce di log. Puoi utilizzare combinazioni di sink per eseguire il routing dei log su più destinazioni.

Il router dei log archivia temporaneamente i log. Questo comportamento esegue il buffering in caso di interruzioni e interruzioni temporanee che potrebbero verificarsi quando un sink indirizza i log a una destinazione. Il buffering non protegge dagli errori di configurazione del sink. Se il sink non è configurato correttamente, Logging ignora i log, viene generato un log degli errori e viene inviata un'email di notifica in caso di un errore di configurazione del sink.

Tieni presente che l'archiviazione temporanea del router dei log è distinta da quella a più lungo termine fornita dai bucket di Logging.

Le voci di log in entrata con timestamp che superano il periodo di conservazione dei log nel passato o che sono più di 24 ore nel futuro vengono ignorate.

Sink

I sink controllano il modo in cui Cloud Logging instrada i log. Con i sink, puoi eseguire il routing di alcuni o di tutti i log verso destinazioni supportate. Ecco alcuni dei motivi per cui potresti voler controllare le modalità di routing dei log:

  • Per archiviare log che è improbabile vengano letti, ma che devono essere conservati per scopi di conformità.
  • Per organizzare i log in bucket in un formato utile.
  • Per utilizzare gli strumenti di analisi dei big data nei tuoi log.
  • Per trasmettere i flussi di log ad altre applicazioni, altri repository o terze parti. Ad esempio, se vuoi esportare i log da Google Cloud in modo da poterli visualizzare su una piattaforma di terze parti, configura un sink per instradare le voci di log a Pub/Sub.

I sink appartengono a una determinata risorsa Google Cloud: progetti Google Cloud, account di fatturazione, cartelle e organizzazioni. Quando la risorsa riceve una voce di log, la instrada in base ai sink contenuti dalla risorsa e, se abilitati, agli eventuali sink ancestrali appartenenti alla gerarchia delle risorse. La voce di log viene inviata alla destinazione associata a ciascun sink corrispondente.

Cloud Logging offre due sink predefiniti per ogni progetto, account di fatturazione, cartella e organizzazione Google Cloud: _Required e _Default. Tutti i log generati in una risorsa vengono elaborati automaticamente attraverso questi due sink e quindi archiviati nei bucket _Required o _Default denominati corrispondenti.

I sink agiscono in modo indipendente l'uno dall'altro. Indipendentemente da come i sink predefiniti elaborano le voci di log, puoi creare i tuoi sink per instradare alcuni o tutti i log a varie destinazioni supportate o per escluderli dall'archiviazione da parte di Cloud Logging.

Il comportamento di routing per ogni sink è controllato configurando il filtro di inclusione e i filtri di esclusione per quel sink. A seconda della configurazione del sink, ogni voce di log ricevuta da Cloud Logging rientra in una o più di queste categorie:

  • Archiviati in Cloud Logging e non instradati altrove.

  • Archiviati in Cloud Logging e instradati verso una destinazione supportata.

  • Non sono archiviati in Cloud Logging, ma instradati a una destinazione supportata.

  • Né archiviato in Cloud Logging né instradato altrove.

In genere si creano i sink a livello di progetto Google Cloud, ma se vuoi combinare e instradare i log delle risorse contenute in un'organizzazione o una cartella Google Cloud, puoi creare sink aggregati.

Non puoi eseguire il routing delle voci di log ricevute da Logging prima della creazione del sink perché avviene quando i log passano attraverso l'API Logging. Le nuove regole di routing si applicano solo ai log scritti dopo la creazione di queste regole. Se devi eseguire il routing delle voci di log in modo retroattivo, consulta Copiare i log.

Filtri di inclusione

Per ogni nuovo sink, se non specifichi filtri, tutti i log corrispondono e vengono instradati alla destinazione del sink. Puoi configurare il sink in modo che selezioni log specifici impostando un filtro di inclusione. Puoi anche impostare uno o più filtri di esclusione per escludere i log dalla destinazione del sink.

Quando configuri i sink, puoi creare filtri di inclusione utilizzando il linguaggio di query di Logging. I sink possono anche contenere più filtri di esclusione.

Ogni voce di log ricevuta da Logging viene instradata in base a queste regole di filtro:

  • I filtri di esclusione del sink sostituiscono eventuali filtri di inclusione definiti. Se un log corrisponde a un filtro di esclusione nel sink, non corrisponde al sink, indipendentemente dagli eventuali filtri di inclusione definiti. La voce di log non è instradata alla destinazione del sink.

  • Se il sink non contiene un filtro di inclusione, si verifica quanto segue:

    • Se la voce di log corrisponde a un filtro di esclusione, non viene instradata alla destinazione del sink.
    • Se la voce di log non corrisponde ad alcun filtro di esclusione, viene instradata alla destinazione del sink. Un filtro di inclusione vuoto seleziona tutti i log.
  • Se il sink contiene un filtro di inclusione, si verifica quanto segue:

    • Se la voce di log corrisponde al filtro di inclusione, viene instradata alla destinazione del sink.
    • Se la voce di log non corrisponde al filtro di inclusione, non viene instradata alla destinazione del sink.

Filtri di esclusione

Quando crei un sink, puoi impostare più filtri di esclusione. I filtri di esclusione ti consentono di escludere le voci di log corrispondenti dal routing alla destinazione del sink o dall'archiviazione in un bucket di log. I filtri di esclusione possono essere creati utilizzando il linguaggio di query di Logging.

Le voci di log vengono escluse dopo essere state ricevute dall'API Logging e, di conseguenza, utilizzano la quota dell'API entries.write. Non puoi ridurre il numero di chiamate API entries.write escludendo le voci di log.

Le voci di log escluse non sono disponibili in Esplora log.

Anche le voci di log che non sono instradate ad almeno un bucket di log, esplicitamente con i filtri di esclusione o perché non corrispondono a nessun sink con una destinazione di archiviazione di Logging, vengono escluse da Error Reporting. Pertanto, questi log non sono disponibili per la risoluzione degli errori.

Le metriche basate su log definite dall'utente vengono calcolate dalle voci di log sia nei log inclusi che esclusi. Per maggiori informazioni, consulta Monitorare i log.

Destinazioni supportate

Puoi utilizzare il router dei log per instradare determinati log verso destinazioni supportate in qualsiasi progetto Google Cloud. Logging supporta le seguenti destinazioni sink:

  • Bucket Cloud Logging: fornisce spazio di archiviazione in Cloud Logging. Un bucket di log può archiviare le voci di log ricevute da più progetti Google Cloud. Per combinare i dati di Cloud Logging con altri dati, esegui l'upgrade di un bucket di log in modo da utilizzare Analisi dei log, per poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log archiviate nei bucket di log, consulta Eseguire query e visualizzare la panoramica dei log e Visualizzare i log con routing a bucket Cloud Logging.
  • Set di dati BigQuery: fornisce l'archiviazione delle voci di log nei set di dati BigQuery. Puoi utilizzare le funzionalità di analisi dei big data nelle voci di log archiviate. Per combinare i dati di Cloud Logging con altre origini dati, ti consigliamo di eseguire l'upgrade dei bucket di log in modo da utilizzare l'analisi dei log, per poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log instradate a BigQuery, consulta Visualizzare i log con routing a BigQuery.
  • Bucket Cloud Storage: fornisce l'archiviazione delle voci di log in Cloud Storage. Le voci dei log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log instradate a Cloud Storage, consulta Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce assistenza per le integrazioni di terze parti. Le voci dei log vengono formattate in JSON e quindi instradate a un argomento Pub/Sub. Per informazioni sulla visualizzazione delle voci di log instradate a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.
  • Splunk: fornisce il supporto per Splunk. Devi eseguire il routing delle voci di log a un argomento Pub/Sub e poi sottoscrivere l'argomento utilizzando Splunk.
  • Progetto Google Cloud: esegui il routing delle voci di log a un altro progetto Google Cloud. Quando esegui il routing delle voci di log a un altro progetto Google Cloud, il router dei log del progetto di destinazione riceve le voci di log e le elabora. I sink nel progetto di destinazione determinano il modo in cui vengono instradate le voci di log ricevute. Error Reporting può analizzare le voci di log quando il progetto di destinazione le instrada a un bucket di log di proprietà del progetto di destinazione.
  • Altre risorse: instrada le voci di log a una destinazione supportata che si trova in un altro progetto. Per informazioni sui percorsi da utilizzare, consulta Formati del percorso di destinazione.

Per maggiori informazioni, consulta Eseguire il routing dei log alle destinazioni supportate.

Archiviazione, visualizzazione e gestione dei log

La seguente sezione descrive in dettaglio come vengono archiviati i log in Cloud Logging e come puoi visualizzarli e gestirli.

Bucket di log

Cloud Logging utilizza i bucket di log come container nei progetti, negli account di fatturazione, nelle cartelle e nelle organizzazioni di Google Cloud per archiviare e organizzare i dati dei log. I log archiviati in Cloud Logging vengono indicizzati, ottimizzati e inviati per consentirti di analizzarli in tempo reale. I bucket Cloud Logging sono entità di archiviazione diverse rispetto ai bucket Cloud Storage con nomi simili.

Per ogni progetto, account di fatturazione, cartella e organizzazione Google Cloud, Logging crea automaticamente due bucket di log: _Required e _Default. Logging crea automaticamente i sink denominati _Required e _Default che, nella configurazione predefinita, instradano i log ai bucket con nome corrispondente.

Puoi disabilitare il sink _Default, che instrada i log al bucket di log _Default. Puoi modificare il comportamento dei sink _Default creati per qualsiasi nuova cartella o progetto Google Cloud. Per ulteriori informazioni, consulta la pagina Configurare le impostazioni predefinite per organizzazioni e cartelle.

Non puoi modificare le regole di routing per il bucket _Required.

Inoltre, puoi creare bucket definiti dall'utente per qualsiasi progetto Google Cloud.

Puoi creare i sink per eseguire il routing di tutti i log o solo di un sottoinsieme su qualsiasi bucket di log. Questa flessibilità ti consente di scegliere il progetto Google Cloud in cui archiviare i log e quali altri log vengono archiviati al loro interno.

Per ulteriori informazioni, consulta Configurare i bucket di log.

_Required bucket di log

Cloud Logging instrada automaticamente i seguenti tipi di log al bucket _Required:

Cloud Logging conserva i log nel bucket _Required per 400 giorni; non puoi modificare questo periodo di conservazione.

Non puoi modificare o eliminare il bucket _Required. Non puoi disabilitare il sink _Required, che instrada i log al bucket _Required.

_Default bucket di log

Qualsiasi voce di log non archiviata nel bucket _Required viene instradata dal sink _Default al bucket _Default, a meno che non disabiliti o modifichi in altro modo il sink _Default. Per istruzioni sulla modifica dei sink, consulta Gestire i sink.

Ad esempio, Cloud Logging instrada automaticamente i seguenti tipi di log al bucket _Default:

Cloud Logging conserva i log nel bucket _Default per 30 giorni, a meno che non configuri la conservazione personalizzata per il bucket.

Non puoi eliminare il bucket _Default.

Bucket di log definiti dall'utente

Puoi anche creare bucket di log definiti dall'utente in qualsiasi progetto Google Cloud. Applicando i sink ai bucket di log definiti dall'utente, puoi instradare qualsiasi sottoinsieme dei tuoi log a qualsiasi bucket di log, scegliendo in quale progetto Google Cloud archiviare i log e quali altri log verranno archiviati al loro interno.

Ad esempio, per qualsiasi log generato nel progetto A, puoi configurare un sink per instradare il log ai bucket definiti dall'utente nel progetto A o nel progetto B.

Puoi configurare la conservazione personalizzata per il bucket.

Per informazioni sulla gestione dei bucket di log definiti dall'utente, tra cui l'eliminazione o l'aggiornamento, consulta Configurare e gestire i bucket di log.

Aree geografiche

I bucket di log sono risorse a livello di regione. L'infrastruttura che archivia, indicizza e cerca i log si trova in una posizione geografica specifica. Google gestisce l'infrastruttura in modo che le applicazioni siano disponibili in modo ridondante nelle zone all'interno di quella regione.

Quando crei un bucket di log o imposti un criterio regionale a livello di organizzazione, puoi scegliere di archiviare i log in una delle seguenti regioni:

Africa

Nome regione Descrizione regione Assistenza per l'analisi dei log
africa-south1 Johannesburg

Americhe

Nome regione Descrizione regione Assistenza per l'analisi dei log
northamerica-northeast1 Montréal
northamerica-northeast2 Toronto
southamerica-east1 San Paolo
southamerica-west1 Santiago
us-central1 Iowa
us-east1 Carolina del Sud
us-east4 Virginia del Nord
us-east5 Columbus
us-south1 Dallas
us-west1 Oregon
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Asia Pacifico

Nome regione Descrizione regione Assistenza per l'analisi dei log
asia-east1 Taiwan
asia-east2 Hong Kong
asia-northeast1 Tokyo
asia-northeast2 Osaka
asia-northeast3 Seul
asia-south1 Mumbai
asia-south2 Delhi
asia-southeast1 Singapore
asia-southeast2 Giacarta
australia-southeast1 Sydney
australia-southeast2 Melbourne

Europa

Nome regione Descrizione regione Assistenza per l'analisi dei log
europe-central2 Varsavia
europe-north1 Finlandia
europe-southwest1 Madrid
europe-west1 Belgio
europe-west2 Londra
europe-west3 Francoforte
europe-west4 Paesi Bassi
europe-west6 Zurigo
europe-west8 Milano
europe-west9 Parigi
europe-west10 Berlino
europe-west12 Torino

Medio Oriente

Nome regione Descrizione regione Assistenza per l'analisi dei log
me-central1 Doha
me-central2 Dammam
me-west1 Tel Aviv

Altro

Nome regione Descrizione regione Assistenza per l'analisi dei log
eu Log archiviati in data center all'interno dell'Unione Europea; nessuna garanzia di ridondanza aggiuntiva
us Log archiviati in data center negli Stati Uniti; nessuna garanzia di ridondanza aggiuntiva
global Log archiviati in qualsiasi data center nel mondo; nessuna ridondanza aggiuntiva garantita

Oltre a queste regioni, puoi impostare la località su global, il che significa che non è necessario specificare dove vengono archiviati fisicamente i log.

Puoi applicare automaticamente una determinata regione di archiviazione ai bucket _Default e _Required creati in un'organizzazione o cartella. Per ulteriori informazioni, consulta la pagina Configurare le impostazioni predefinite per organizzazioni e cartelle.

Per saperne di più sulla regione dei dati e su dove puoi archiviare i dati dei log, consulta Comprendere le regioni di dati.

Criteri dell'organizzazione

Puoi creare un criterio dell'organizzazione per assicurarti che la tua organizzazione soddisfi le tue esigenze di conformità e normative. Utilizzando un criterio dell'organizzazione, puoi specificare in quali regioni l'organizzazione può creare nuovi bucket di log. Puoi anche impedire alla tua organizzazione di creare nuovi bucket di log in determinate regioni.

Cloud Logging non applica il criterio dell'organizzazione appena creato sui bucket di log esistenti, ma solo ai nuovi bucket di log.

Per informazioni sulla creazione di un criterio dell'organizzazione basato sulla località, consulta Limitare le località delle risorse.

Inoltre, puoi configurare una località di archiviazione predefinita per i bucket _Default e _Required in un'organizzazione o in una cartella. Se configuri un criterio dell'organizzazione che vincola la posizione di archiviazione dei dati, devi assicurarti che la località di archiviazione predefinita specificata sia coerente con il vincolo. Per ulteriori informazioni, consulta la pagina Configurare le impostazioni predefinite per organizzazioni e cartelle.

Conservazione

Cloud Logging conserva i log in base alle regole di conservazione che si applicano al tipo di bucket di log in cui sono conservati i log.

Puoi configurare Cloud Logging in modo da conservare i log per un periodo compreso tra 1 e 3650 giorni. Le regole di conservazione personalizzate si applicano a tutti i log in un bucket, indipendentemente dal tipo di log o dal fatto che il log sia stato copiato da un'altra località.

Per informazioni sull'impostazione delle regole di conservazione per un bucket di log, consulta Configurare la conservazione personalizzata.

Per informazioni sui periodi di conservazione di diversi tipi di log, consulta Quote e limiti.

Visualizzazioni log

Le viste log consentono di concedere a un utente l'accesso solo a un sottoinsieme di log archiviati in un bucket di log. Per informazioni su come configurare le viste dei log e su come concedere l'accesso a visualizzazioni specifiche dei log, consulta Configurare le viste dei log in un bucket di log.

Per ogni bucket di log, Cloud Logging crea automaticamente la vista _AllLogs, che mostra tutti i log archiviati nel bucket. Cloud Logging crea anche una vista per il bucket _Default denominato _Default. La vista _Default per il bucket _Default mostra tutti i log, ad eccezione degli audit log di accesso ai dati. Le viste _AllLogs e _Default non sono modificabili e non puoi eliminare la visualizzazione del log di _Default.

Le viste dei log personalizzate offrono un modo avanzato e granulare per controllare l'accesso ai dati dei log. Ad esempio, prendi in considerazione uno scenario in cui archivi tutti i log della tua organizzazione in un progetto Google Cloud centrale. Poiché i bucket di log possono contenere log di più progetti Google Cloud, ti consigliamo di controllare da quali progetti Google Cloud utenti diversi possono visualizzare i log. Utilizzando le visualizzazioni dei log personalizzate, puoi concedere a un utente l'accesso ai log solo di un singolo progetto Google Cloud, mentre a un altro utente puoi concedere l'accesso ai log di tutti i progetti Google Cloud.

Utilizzo dei log nell'ecosistema Google Cloud

La seguente sezione fornisce informazioni su come utilizzare i log nella versione più ampia di Google Cloud.

Metriche basate su log

Le metriche basate su log sono metriche di Cloud Monitoring derivate dai contenuti delle voci di log. Ad esempio, se Cloud Logging riceve una voce di log per un progetto Google Cloud che corrisponde ai filtri di una delle metriche del progetto Google Cloud, quella voce di log viene conteggiata nei dati della metrica.

Le metriche basate su log interagiscono con il routing in modo diverso, a seconda che siano definite dal sistema o da te. Queste differenze sono descritte nelle seguenti sezioni.

Metriche basate su log e filtri di esclusione

I filtri di esclusione dei sink si applicano alle metriche basate su log definite dal sistema, che conteggiano solo i log archiviati nei bucket di log.

I filtri di esclusione dei sink non vengono applicati alle metriche basate su log definite dall'utente. Anche se escludi l'archiviazione dei log in qualsiasi bucket di Logging, potresti notare che tali log vengono conteggiati in queste metriche.

Ambito delle metriche basate su log

Le metriche basate su log definite dal sistema si applicano a livello di progetto Google Cloud. Queste metriche vengono calcolate dal router dei log e si applicano ai log solo nel progetto Google Cloud in cui sono state ricevute.

Le metriche basate su log definite dall'utente possono essere applicate a livello di progetto Google Cloud o di un bucket di log specifico:

  • Le metriche a livello di progetto vengono calcolate come metriche basate su log definite dal sistema; queste metriche basate su log definite dall'utente si applicano solo ai log del progetto Google Cloud in cui sono stati ricevuti.
  • Le metriche con ambito bucket si applicano ai log del bucket di log in cui vengono ricevute, indipendentemente dal progetto Google Cloud in cui hanno avuto origine le voci di log.

    Con le metriche basate su log con ambito di bucket, puoi creare metriche basate su log in grado di valutare i log nei seguenti casi:

    • Log instradati da un progetto a un bucket in un altro progetto.
    • Log con routing a un bucket tramite un sink aggregato.

Per saperne di più, consulta Panoramica delle metriche basate su log.

Ricerca dei log nelle destinazioni supportate

Per informazioni sul formato delle voci di log con routing e su come i log sono organizzati nelle destinazioni, consulta Visualizzare i log nelle destinazioni dei sink.

Casi d'uso comuni

Per risolvere casi d'uso comuni per il routing e l'archiviazione dei log, consulta i seguenti documenti e tutorial:

Esigenze di conformità

Per le best practice sull'utilizzo del routing per la governance dei dati, consulta i seguenti documenti:

Controllo dell'accesso con IAM

Per informazioni su come utilizzare i ruoli e le autorizzazioni di Identity and Access Management (IAM) per controllare l'accesso ai dati di Cloud Logging, consulta Controllo dell'accesso con IAM.

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:

Passaggi successivi

Per eseguire il routing e l'archiviazione dei dati di Cloud Logging, consulta i seguenti documenti: