Panoramica su routing e archiviazione

Questa pagina spiega in che modo Cloud Logging elabora le voci di log e descrive i componenti chiave del routing e dell'archiviazione di Logging.

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

Figura che illustra come Cloud Logging instrada le voci di log.

Importazione e routing dei log con il router di log

Le sezioni seguenti spiegano come i log vengono importati mediante logging e routing tramite il router dei log tramite sink.

Router dei log

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

Cloud Logging riceve le voci di log tramite l'API Cloud Logging attraverso la quale passano il router dei log. I sink nel router dei log verificano ogni voce di log in base al filtro di inclusione e ai filtri di esclusione esistenti che determinano le destinazioni, inclusi i bucket di Cloud Logging, a cui inviare la voce di log. Puoi utilizzare combinazioni di sink per instradare i log a più destinazioni.

Per instradare in modo affidabile i log, il router dei log archivia anche i log temporaneamente (non rappresentati nell'immagine), buffering contro interruzioni temporanee in qualsiasi sink. Tieni presente che l'archiviazione temporanea del router di log è diversa da quella a lungo termine fornita dai bucket di logging.

Sink

I sink controllano il modo in cui Cloud Logging instrada i log. Utilizzando i sink, puoi eseguire il routing di alcuni o tutti i log in destinazioni supportate. Ecco alcuni dei motivi per cui potresti voler controllare l'instradamento dei tuoi log:

  • Per archiviare i log che è improbabile che vengano letti, ma che devono essere conservati per motivi di conformità.
  • Per organizzare i log in bucket nel formato che ritieni utile.
  • Per utilizzare gli strumenti di analisi dei big data nei log.
  • Per trasmettere in streaming i log ad altre applicazioni, altri repository o terze parti.

I sink appartengono a una determinata risorsa di Google Cloud: progetti Cloud, account di fatturazione, cartelle e organizzazioni. Quando la risorsa riceve una voce di log, esegue il routing della voce di log in base ai sink contenuti dalla risorsa e, se abilitata, ai sink di origine che appartengono alla gerarchia delle risorse. La voce di log viene inviata alla destinazione associata a ogni sink corrispondente.

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

I sink funzionano in modo indipendente l'uno dall'altro. Indipendentemente da come i sink predefiniti elaborano le voci di log, puoi creare sink per indirizzare alcuni o tutti i log a varie destinazioni supportate o escluderli dall'archiviazione in 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ù delle seguenti categorie:

  • Archiviato in Cloud Logging e non indirizzato altrove.

  • Archiviata in Cloud Logging e indirizzata a una destinazione supportata.

  • Non archiviato in Cloud Logging, ma indirizzato a una destinazione supportata.

  • Né archiviati in Cloud Logging né indirizzati altrove.

In genere, crei dei sink a livello di progetto Cloud, ma se vuoi combinare e indirizzare i log dalle risorse contenute in un'organizzazione o 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é il routing avviene man mano che i log passano attraverso l'API Logging e le nuove regole di routing si applicano solo ai log scritti dopo la creazione di tali regole. Se devi instradare le 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 per selezionare 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 i filtri di inclusione utilizzando il linguaggio di query per il logging. I sink possono anche contenere più filtri di esclusione.

Tutte le voci di log ricevute da Logging vengono instradate in base a queste regole di filtro:

  • I filtri di esclusione del sink sostituiscono qualsiasi filtro di inclusione definito. Se un log corrisponde a un filtro di esclusione nel sink, non corrisponde al sink, indipendentemente dai 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 di 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, in modo da escludere che le voci di log corrispondenti vengano indirizzate alla destinazione del sink o che vengano importate da Cloud Logging. Puoi creare filtri di esclusione utilizzando il linguaggio di query per il logging.

I log vengono esclusi dopo che sono stati ricevuti dall'API Logging. Pertanto, l'esclusione dei log non riduce il numero di chiamate API entries.write.

Le voci di log escluse non sono disponibili in Esplora log o Cloud Debugger.

Le voci di log il cui routing non è indirizzato ad almeno un bucket di log, esplicitamente con i filtri di esclusione o perché non corrispondono ad alcun sink con una destinazione di archiviazione dei log, vengono escluse anche da Error Reporting.

Le metriche basate su log definite dall'utente vengono calcolate dalle voci di log sia nei log inclusi sia in quelli esclusi. Per ulteriori informazioni, consulta l'articolo Monitorare i log.

Destinazioni supportate

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

  • Cloud Storage: file JSON archiviati nei bucket Cloud Storage; fornisce spazio di archiviazione economico e a lungo termine.
  • BigQuery: tabelle create in set di dati BigQuery; fornisce funzionalità di analisi dei big data.
  • Pub/Sub: messaggi in formato JSON consegnati a argomenti Pub/Sub; supporta integrazioni di terze parti, come Splunk, con Logging.
  • Cloud Logging: voci di log conservate nei bucket di log; offrono spazio di archiviazione in Cloud Logging con periodi di conservazione personalizzabili.

Per ulteriori informazioni sul routing dei log verso le destinazioni supportate, consulta la sezione Configurare i sink.

Archiviazione, visualizzazione e gestione dei log

La sezione seguente illustra come i log vengono archiviati in Cloud Logging e come possono essere visualizzati e gestiti.

Bucket di log

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

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

Puoi disabilitare il sink di _Default per i log che instradano al bucket di log _Default. Per modificare il comportamento dei sink di _Default creati per qualsiasi nuovo progetto o cartella Cloud creata nella tua organizzazione, puoi configurare le impostazioni predefinite per la tua organizzazione.

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

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

Puoi creare sink per indirizzare tutti i log o solo un sottoinsieme dei log a qualsiasi bucket di log. Questa flessibilità consente di scegliere il progetto Cloud in cui archiviare i log e gli altri log archiviati.

Per ulteriori informazioni, consulta la sezione Configurare i bucket di log.

Bucket di log _Required

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

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

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

Ai prezzi di log archiviati nel bucket di log _Required non si applicano né i prezzi di importazione né i prezzi di archiviazione.

Bucket di log _Default

Le voci di log non importate dal bucket _Required vengono instradate dal sink _Default al bucket _Default, a meno che non disattivi o modifichi in altro modo il sink _Default. Per istruzioni sulla modifica dei sink, consulta la sezione Gestire i sink.

Non puoi eliminare il bucket _Default.

I log conservati nel bucket _Default vengono conservati per 30 giorni, a meno che non configuri la conservazione personalizzata per il bucket.

I prezzi di Cloud Logging si applicano ai dati di log contenuti nel bucket _Default.

Bucket di log definiti dall'utente

Puoi anche creare bucket di log definiti dall'utente in qualsiasi progetto Cloud. Se applichi sink ai bucket di log definiti dall'utente, puoi instradare qualsiasi sottoinsieme dei tuoi log a qualsiasi bucket di log, in modo da scegliere in quale progetto Cloud sono archiviati i tuoi log e in quali altri log.

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

I prezzi di Cloud Logging si applicano ai dati di log contenuti nel bucket, indipendentemente dal tipo di log.

Puoi configurare la conservazione personalizzata per il bucket.

Per informazioni sulla gestione dei bucket di log definiti dall'utente, inclusa l'eliminazione o l'aggiornamento dei relativi bucket, consulta Configurazione e gestione dei bucket di log.

Aree geografiche

I bucket di log sono risorse a livello di area geografica. L'infrastruttura di archiviazione, indicizzazione e ricerca nei log si trova in una posizione geografica specifica. Google gestisce tale infrastruttura in modo che le applicazioni siano disponibili in modo ridondante nelle varie zone all'interno dell'area geografica.

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

Continente Regioni
Asia asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-south2
asia-southeast1
asia-southeast2
Australia australia-southeast1
australia-southeast2
Europa europe-central2
europe-north1
europe-southwest1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
europe-west8
europe-west9
Nord America northamerica-northeast1
northamerica-northeast2
us-central1
us-east1
us-east4
us-west1
us-west2
us-west3
us-west4
Sud America southamerica-east1
southamerica-west1

Oltre a queste aree geografiche, puoi impostare la posizione su global, il che significa che non devi specificare dove sono conservati i tuoi log.

Se vuoi applicare automaticamente una determinata area geografica di archiviazione ai bucket _Default e _Required creati nella tua organizzazione, puoi configurare una località delle risorse predefinita.

Per ulteriori informazioni sulla posizione dei dati dei log, consulta Aree geografiche dati per Cloud Logging.

Criteri dell'organizzazione

Puoi creare un criterio dell'organizzazione per assicurarti che la tua organizzazione soddisfi le tue esigenze normative e di conformità. Tramite un criterio dell'organizzazione puoi specificare le aree geografiche in cui la tua organizzazione può creare nuovi bucket di log. Puoi anche impedire alla tua organizzazione di creare nuovi bucket di log in aree geografiche specifiche.

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

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

Inoltre, puoi configurare una località predefinita della risorsa per scegliere l'area geografica di archiviazione da applicare ai bucket _Default e _Required creati nella tua organizzazione.

Conservazione dei dati

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

Puoi configurare Cloud Logging in modo che conservi i log tra 1 giorno e 3650 giorni. Le regole di conservazione personalizzate si applicano a tutti i log di un bucket, indipendentemente dal tipo di log o dalla copia di tale log da un'altra posizione.

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

Visualizzazioni log

Le visualizzazioni dei log consentono di controllare chi può accedere ai log all'interno dei 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, chiamata _Default. La vista _Default per il bucket _Default mostra tutti i log tranne quelli di accesso ai dati. Le viste _AllLogs e _Default non sono modificabili e non puoi eliminarle.

Le visualizzazioni dei log personalizzate offrono un metodo avanzato e dettagliato per controllare l'accesso ai dati dei log. Ad esempio, considera uno scenario in cui archivia tutti i log dell'organizzazione in un progetto Cloud centrale. Poiché i bucket di log possono contenere log di più progetti Cloud, potresti voler controllare da quali progetti Cloud utenti diversi possono visualizzare i log. Tramite le visualizzazioni personalizzate dei log, puoi concedere a un utente l'accesso ai log solo da un singolo progetto Cloud e a un altro utente l'accesso ai log da tutti i progetti Cloud.

Per informazioni sulla configurazione delle visualizzazioni dei log, consulta Gestione dell'accesso ai bucket di log.

Utilizzo dei log nell'ecosistema Google Cloud

La sezione seguente fornisce informazioni sull'utilizzo dei log in Google Cloud più ampio.

Metriche basate su log

Le metriche basate su log sono metriche di Cloud Monitoring basate sui contenuti delle voci di log. Se Cloud Logging riceve una voce di log per un progetto Cloud che corrisponde ai filtri di una delle metriche del progetto Cloud, la voce di log viene indicata nei dati della metrica.

I filtri di esclusione dei sink si applicano alle metriche utente definite dal sistema, che conteggiano solo i log inclusi per l'importazione dal progetto Cloud.

I filtri di esclusione dei sink non si applicano alle metriche basate su log definite dall'utente. Anche se escludi i log dall'importazione dall'API Cloud Logging e questi non sono archiviati in bucket di logging, potresti visualizzare tali log conteggiati in queste metriche.

Le metriche basate su log si applicano a livello di progetto Cloud. Queste metriche vengono calcolate dal router di log e si applicano solo ai log nel progetto cloud in cui vengono ricevuti.

Per ulteriori informazioni, consulta la 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 sono organizzati nei log, consulta Visualizzare i log nelle destinazioni dei sink.

Casi d'uso comuni

Per risolvere casi d'uso comuni relativi al routing e all'archiviazione dei log, consulta i seguenti documenti e tutorial:

Esigenze di conformità

Per le best practice su come utilizzare il routing per la governance dei dati, consulta i seguenti documenti:

Controllo dell'accesso con IAM

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

Prezzi

Per comprendere i prezzi di importazione e archiviazione, consulta le informazioni sui prezzi di Cloud Logging.

Cloud Logging non addebita alcun costo per instradare i log, ma potrebbero applicarsi costi di destinazione. Per maggiori dettagli, esamina i dettagli dei prezzi del servizio appropriati:

Tieni presente inoltre che, se invii ed escludi i log di flusso Virtual Private Cloud da Cloud Logging, oltre ai costi della destinazione verranno applicati i costi di generazione dei log di flusso VPC.

Passaggi successivi

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