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 è il processo utilizzato da Cloud Logging per determinare cosa fare con una voce di log appena visualizzata. Puoi instradare le voci di log a destinazioni come i bucket di Logging, in cui sono archiviate le voce di log, oppure a Pub/Sub. Per esportare i log in destinazioni di terze parti, indirizzali a un argomento Pub/Sub, quindi autorizza la destinazione di terze parti a sottoscrivere l'argomento Pub/Sub.

A livello generale, questo è il modo in cui Cloud Logging instrada e archivia le voci di log:

Figura che mostra come Cloud Logging instrada le voci dei log.

Esegui il routing dei log con il router dei log

Le sezioni seguenti spiegano come Logging instrada i log con il router dei log utilizzando i sink.

Router dei log

Viene inviata una voce di log alla risorsa Google Cloud specificata nel relativo campo logName durante la chiamata 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, inclusi i bucket Cloud Logging, deve essere inviata la voce di log. Puoi utilizzare combinazioni di sink per indirizzare i log a più destinazioni.

Il router dei log memorizza i log temporaneamente. Questo comportamento elimina interruzioni e interruzioni temporanee che potrebbero verificarsi quando un sink instrada i log a una destinazione. Il buffering non protegge dagli errori di configurazione del sink. Se il sink non è configurato correttamente, Logging elimina i log, viene generato un log degli errori e viene inviata un'email che ti informa di un errore di configurazione del sink.

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

Le voci di log in entrata con timestamp superiori al periodo di conservazione dei log in passato o superiori a 24 ore nel futuro vengono ignorate.

Sink

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

  • Archiviare i log che è improbabile che vengano letti, ma che devono essere conservati per motivi di conformità.
  • Organizzare i log in bucket in un formato utile.
  • Per utilizzare strumenti di analisi dei big data sui tuoi log.
  • Per trasmettere i 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, a eventuali sink antenati 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, account di fatturazione, cartella e organizzazione di Google Cloud: _Required e _Default. Tutti i log generati in una risorsa vengono elaborati automaticamente tramite questi due sink e quindi archiviati nei bucket _Required o _Default denominati in modo corrispondente.

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

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

  • Archiviati in Cloud Logging e non con routing altrove.

  • Archiviati in Cloud Logging e con routing a una destinazione supportata.

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

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

In genere, crei 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é il routing avviene quando i log passano attraverso l'API Logging e le nuove regole di routing si applicano solo ai log scritti dopo la loro creazione. 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 i filtri, tutti i log corrispondono e vengono indirizzati 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, crei 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 indirizzata in base a queste regole di filtro:

  • I filtri di esclusione del sink eseguono l'override di 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 viene 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 indirizzata 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 consentono di escludere le voci di log corrispondenti dal routing alla destinazione del sink o dall'archiviazione in un bucket di log. Puoi creare i filtri di esclusione utilizzando il linguaggio di query di Logging.

Le voci di log vengono escluse dopo essere state ricevute dall'API Logging, pertanto queste voci di log consumano quota 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, con 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 dei problemi.

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

Destinazioni supportate

Puoi utilizzare il router dei log per instradare determinati log alle 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, puoi eseguire l'upgrade di un bucket di log per l'utilizzo dell'analisi dei log e poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log archiviate nei bucket di log, consulta Panoramica dei log di query e visualizzazioni e Visualizzare i log con routing ai bucket Cloud Logging.
  • Set di dati BigQuery: fornisce l'archiviazione delle voci di log nei set di dati BigQuery. Puoi usare 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 per utilizzare l'analisi dei log e poi di creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log indirizzate a BigQuery, consulta Visualizzare i log indirizzati a BigQuery.
  • Bucket Cloud Storage: fornisce l'archiviazione delle voci di log in Cloud Storage. Le voci di log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log indirizzate a Cloud Storage, vedi Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce supporto per le integrazioni di terze parti. Le voci di log vengono formattate in JSON e quindi instradate a un argomento Pub/Sub. Per informazioni sulla visualizzazione delle voci di log indirizzate a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.
  • Splunk: fornisce assistenza per Splunk. Devi instradare le voci di log a un argomento Pub/Sub e quindi 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 progetto Google Cloud diverso, 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 progetto diverso. Per informazioni sui percorsi da utilizzare, vedi Formati del percorso di destinazione.

Per ulteriori informazioni, consulta Routing dei log alle destinazioni supportate.

Archiviazione, visualizzazione e gestione dei log

La sezione seguente 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 Google Cloud per archiviare e organizzare i dati dei log. I log archiviati in Cloud Logging vengono indicizzati, ottimizzati e forniti per consentirti di analizzare i log in tempo reale. I bucket Cloud Logging sono entità di archiviazione diverse dai 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 dei sink denominati _Required e _Default che, nella configurazione predefinita, instradano i log ai bucket denominati corrispondenti.

Puoi disabilitare il sink _Default, che instrada i log al bucket di log _Default. Puoi modificare il comportamento dei sink _Default creati per qualsiasi nuovo progetto o cartella di Google Cloud. Per ulteriori informazioni, consulta 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 sink per instradare tutti i log o solo un sottoinsieme a qualsiasi bucket di log. Questa flessibilità ti consente di scegliere il progetto Google Cloud in cui archiviare i log e in quali altri log.

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 è possibile 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 che 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. Con l'applicazione dei 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 Google Cloud archiviare i log e quali altri log archiviare.

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

Puoi configurare la conservazione personalizzata per il bucket.

Per informazioni sulla gestione dei bucket di log definiti dall'utente, incluse 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 tue applicazioni siano disponibili in modo ridondante nelle zone all'interno della 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
africa-south1 Johannesburg

Americhe

Nome regione Descrizione regione
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
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
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
me-central1 Doha
me-central2 Dammam
me-west1 Tel Aviv

Altro

Nome regione Descrizione regione
eu Log archiviati nei data center all'interno dell'Unione Europea; nessuna garanzia di ridondanza aggiuntiva
us Log archiviati nei data center degli Stati Uniti; nessuna garanzia di ridondanza aggiuntiva
global Log archiviati in qualsiasi data center nel mondo; nessuna garanzia di ridondanza aggiuntiva.

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

Puoi applicare automaticamente una determinata regione di archiviazione ai bucket _Default e _Required creati in un'organizzazione o in una cartella. Per ulteriori informazioni, consulta 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 Informazioni sulle 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 regioni specifiche.

Cloud Logging non applica il criterio dell'organizzazione appena creato sui bucket di log esistenti, ma solo sui 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 limita la possibilità di archiviare i dati, devi assicurarti che la località di archiviazione predefinita specificata sia coerente con il vincolo. Per ulteriori informazioni, consulta 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 si trovano.

Puoi configurare Cloud Logging in modo che conservi i log per un periodo compreso tra 1 giorno 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 posizione.

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

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

Visualizzazioni log

Le visualizzazioni dei log consentono di concedere a un utente l'accesso solo a un sottoinsieme dei log archiviati in un bucket di log. Per informazioni su come configurare le visualizzazioni dei log e concedere l'accesso a viste di log specifiche, consulta Configurare le visualizzazioni dei log su 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 denominata _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 la visualizzazione log _Default non può essere eliminata.

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

Utilizzo dei log nell'ecosistema Google Cloud

La sezione seguente fornisce informazioni su come utilizzare i log nella più ampia gamma di servizi 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, questa voce di log viene conteggiata nei dati delle metriche.

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

Metriche basate su log e filtri di esclusione

I filtri di esclusione 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 sink non si applicano alle metriche basate su log definite dall'utente. Anche se escludi i log dall'archiviazione in qualsiasi bucket di Logging, potresti vedere quei log conteggiati in queste metriche.

Ambito delle metriche basate su log

Le metriche definite dal sistema basate su log 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 vengono ricevute.

Le metriche definite dall'utente basate su log 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 vengono ricevute.
  • Le metriche con ambito bucket si applicano ai log nel bucket di log in cui vengono ricevute, indipendentemente dal progetto Google Cloud in cui sono state generate le voci di log.

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

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

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

Individuazione dei log nelle destinazioni supportate

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

Casi d'uso comuni

Per 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 utilizzi 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 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:

Passaggi successivi

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