Panoramica su routing e archiviazione

Questo documento spiega come Cloud Logging elabora le voci di log e descrive i componenti chiave dell'archiviazione e dell'instradamento dei log. Con routing si indica il processo utilizzato da Cloud Logging per determinare cosa fare con una voce di log appena arrivata. Puoi inoltrare le voci di log a destinazioni come i bucket Logging, che archiviano la voce di log, o a Pub/Sub. Per esportare i log in destinazioni di terze parti, inoltra i log a un argomento Pub/Sub e poi autorizza la destinazione di terze parti a iscriversi all'argomento Pub/Sub.

A grandi linee, Cloud Logging instrada e archivia le voci di log nel seguente modo:

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

Indirizzare i log con il router dei log

Le sezioni seguenti spiegano come il logging instrada i log con Log Router utilizzando i sink.

Router dei log

Viene inviata una voce di log alla risorsa Google Cloud specificata nel campo logName durante la chiamata entries.write.

Cloud Logging riceve le voci di log tramite l'API Cloud Logging che li passa al router di log. I sink nel router dei log controllano ogni voce di log in base al filtro di inclusione e ai filtri di esclusione, quindi determinano le destinazioni, inclusi i bucket Cloud Logging, a cui deve essere inviata la voce di log. Puoi utilizzare combinazioni di sink per instradare una voce di log a più destinazioni.

Il router dei log memorizza temporaneamente la voce di log. Questo comportamento consente di gestire le interruzioni temporanee e le interruzioni del servizio che potrebbero verificarsi quando un sink inoltra una voce di log a una destinazione. Il buffering non protegge dagli errori di configurazione del sink. Se il sink non è configurato correttamente, non instrada le voci di log, viene generato un log di errore e viene inviata un'email di avviso relativa a un errore di configurazione del sink. Quando non è possibile instradare le voci di log, queste vengono eliminate.

Lo spazio di archiviazione temporaneo del router dei log è diverso dall'archiviazione a più lungo termine fornita dai bucket di log.

Le voci del log in arrivo con timestamp precedenti al periodo di conservazione dei log o che sono successive alla data odierna di più di 24 ore vengono eliminate.

Sink

I sink controllano il modo in cui Cloud Logging instrada i log. Utilizzando i sink, puoi inoltrare alcuni o tutti i log a destinazioni supportate. Ecco alcuni motivi per cui potresti voler controllare il modo in cui vengono instradati i 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 in un formato utile per te.
  • Per utilizzare strumenti di analisi dei big data sui 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'area di destinazione per instradare le voci di log a Pub/Sub.

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

Cloud Logging fornisce due destinazioni predefinite per ogni progetto, account di fatturazione, cartella e organizzazione Google Cloud: _Required e _Default. Tutti i log generati in una risorsa vengono elaborati automaticamente tramite questi due sink e poi archiviati nei bucket _Required o _Default con nome corrispondente.

I canali di scarico agiscono in modo indipendente. Indipendentemente dal modo in cui 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.

Le voci di log che vengono instradate da un sink sono controllate configurando il filtro di inclusione e i filtri di esclusione del sink. A seconda della configurazione dell'elemento di destinazione, ogni voce di log ricevuta da Cloud Logging rientra in una o più di queste categorie:

  • Archiviati in Cloud Logging e non instradati altrove.

  • Memorizzati in Cloud Logging e inoltrati a una destinazione supportata.

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

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

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

I sink inoltrano solo le voci di log che arrivano dopo la loro creazione, perché il routing avviene quando i log passano per l'API Logging. Se devi instradare le voci di log in modo retroattivo, consulta Copiare i log.

Filtri di inclusione

Quando un sink non specifica filtri, tutte le voci di log corrispondono e vengono inoltrate alla destinazione del sink. Puoi configurare l'emissario in modo da selezionare voci del log specifiche impostando un filtro di inclusione. Puoi anche impostare uno o più filtri di esclusione per escludere il routing delle voci di log.

Quando configuri un sink, specifichi i relativi filtri utilizzando il linguaggio di query di Logging.

Una voce di log viene indirizzata da un sink in base a queste regole:

  • Se la voce di log non corrisponde al filtro di inclusione, non viene inoltrata. Quando un sink non specifica un filtro di inclusione, ogni voce di log corrisponde a quel filtro.

  • Se la voce di log corrisponde al filtro di inclusione e ad almeno un filtro di esclusione, non viene inoltrata.

  • Se la voce di log corrisponde al filtro di inclusione e non corrisponde a nessun filtro di esclusione, viene indirizzata 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 la destinazione delle voci di log corrispondenti al filtro di inclusione o la loro archiviazione in un bucket di log. Puoi definire i filtri di esclusione utilizzando il linguaggio di query di Logging.

Le voci di log escluse consumano entries.write quota dell'API perché vengono escluse dopo essere state ricevute dall'API Logging. 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 vengono inoltrate ad almeno un bucket di log, esplicitamente con filtri di esclusione o perché non corrispondono a nessun sink con una destinazione di archiviazione dei log, sono escluse da Error Reporting. Pertanto, queste voci di log non sono disponibili per aiutarti a risolvere i problemi. Le metriche basate su log definite dall'utente vengono calcolate dalle voci di log incluse e escluse. Per ulteriori informazioni, consulta Monitorare i log.

Destinazioni supportate

Puoi utilizzare il router del log per inoltrare determinate voci di log a destinazioni supportate in qualsiasi progetto Google Cloud. La registrazione supporta le seguenti destinazioni di destinazione:

  • Bucket Cloud Logging: fornisce spazio di archiviazione in Cloud Logging. Un bucket di log può memorizzare le voci di log ricevute da più progetti Google Cloud. Il bucket dei log può trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto diverso. Per informazioni su come visualizzare le voci di log archiviate nei bucket di log, consulta Panoramica delle query e della visualizzazione dei log e Visualizzare i log inviati ai bucket di Cloud Logging.

    Puoi combinare i dati di Cloud Logging con altri dati eseguendo l'upgrade di un bucket di log per l'utilizzo di Log Analytics e poi creando un set di dati collegato, ovvero un set di dati di sola lettura su cui è possibile eseguire query dalle pagine BigQuery Studio e Looker Studio.

  • Set di dati BigQuery: fornisce lo spazio di archiviazione delle voci di log in un set di dati BigQuery scrivibile. Il set di dati BigQuery può trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto diverso. Puoi utilizzare le funzionalità di analisi dei big data sulle voci di log archiviate. Per informazioni su come visualizzare le voci di log inviate a BigQuery, consulta Visualizzare i log inviati a BigQuery.

  • Bucket Cloud Storage: fornisce lo spazio di archiviazione delle voci di log in Cloud Storage. Il bucket Cloud Storage può trovarsi nello stesso progetto in cui hanno avuto origine le voci di log o in un progetto diverso. Le voci di log vengono archiviate come file JSON. Per informazioni su come visualizzare le voci di log inoltrate a Cloud Storage, consulta Visualizzare i log inoltrati a Cloud Storage.
  • Argomento Pub/Sub: fornisce il supporto per le integrazioni di terze parti. Le voci di log vengono formattate in JSON e poi inoltrate a un argomento Pub/Sub. L'argomento può trovarsi nello stesso progetto in cui hanno avuto origine le voci di log o in un progetto diverso. Per informazioni su come visualizzare le voci di log con routing a Pub/Sub, consulta Visualizzare i log con routing a Pub/Sub.

  • Progetto Google Cloud: inoltra le voci di log a un altro progetto Google Cloud. In questa configurazione, i sink nel progetto di destinazione elaborano le voci di log.

Per ulteriori informazioni, consulta Indirizzare i 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 contenitori nei progetti, negli account di fatturazione, nelle cartelle e nelle organizzazioni Google Cloud per archiviare e organizzare i dati dei log. Le voci di log archiviate in Cloud Logging vengono indicizzate, ottimizzate e inviate per consentirti di analizzarle 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 i sink denominati _Required e _Default che, nella configurazione predefinita, indirizzano le voci di log ai bucket con nome corrispondente.

Puoi disattivare il sink _Default, che inoltra le voci di log al bucket di log _Default. Puoi anche modificare il comportamento dei sink _Default creati per qualsiasi nuovo progetto o nuova cartella Google Cloud. Per ulteriori informazioni, consulta la pagina Configura 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.

Creando i sink, puoi instradare tutte le voci di log o solo un sottoinsieme in qualsiasi secchia di log. Questa flessibilità ti consente di scegliere il progetto Google Cloud in cui vengono archiviate le voci di log e di archiviare le voci di log di più risorse in un'unica posizione.

Per ulteriori informazioni, consulta la pagina sulla configurazione dei bucket dei log.

_Required bucket di log

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

Cloud Logging conserva le voci di 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 indirizza le voci di log al bucket _Required.

_Default bucket di log

Eventuali voce di log non archiviate nel bucket _Required vengono inoltrate dal sink _Default al bucket _Default, a meno che non disattivi o modifichi in altro modo il sink _Default. Per istruzioni su come modificare i canali, consulta Gestire i canali.

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

Cloud Logging conserva le voci di 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. Se applichi i sink ai bucket di log definiti dall'utente, puoi instradare qualsiasi sottoinsieme di voci di log a qualsiasi bucket di log, in modo da scegliere il progetto Google Cloud in cui memorizzare le voci di log e archiviare le voci di log di più risorse in un'unica posizione.

Ad esempio, per qualsiasi log generato nel progetto A, puoi configurare un sink per indirizzare le relative voci di log a un bucket definito dall'utente nel progetto A o a un bucket di log nel progetto A.B

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, 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 esegue ricerche nelle voci dei log si trova in una località geografica specifica. Google Cloud gestice 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 dove archiviare i log.

Le seguenti regioni sono supportate da Cloud Logging:

Globale

Nome regione Descrizione della regione
global

Log archiviati in qualsiasi data center del mondo. I log potrebbero essere spostati in data center diversi. Nessuna garanzia di ridondanza aggiuntiva.

Più regioni: UE e Stati Uniti

Nome regione Descrizione della regione
eu

Log archiviati in qualsiasi data center all'interno dell'Unione Europea. I log potrebbero essere spostati in data center diversi. Nessuna garanzia di ridondanza aggiuntiva.

us

Log archiviati in qualsiasi data center all'interno degli Stati Uniti. I log potrebbero essere spostati in data center diversi. Nessuna garanzia di ridondanza aggiuntiva.

Africa

Nome regione Descrizione della regione
africa-south1 Johannesburg

Americhe

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

Quando imposti la posizione su global, non devi specificare dove vengono archiviate fisicamente le voci del log.

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

Per saperne di più sulla regionalità dei dati e su dove puoi archiviare i dati dei log, consulta Informazioni sulle regioni di dati.

Policy dell'organizzazione

Puoi creare un criterio dell'organizzazione per assicurarti che la tua organizzazione soddisfi le tue esigenze di conformità e normative. Con un criterio dell'organizzazione, puoi specificare in quali regioni la tua 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 di organizzazione basato sulla località, consulta Limitare le località delle risorse.

Inoltre, puoi configurare una posizione 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 posizione in cui possono essere archiviati i dati, devi assicurarti che la posizione di archiviazione predefinita specificata sia coerente con questo vincolo. Per ulteriori informazioni, consulta la pagina Configura 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. Per informazioni sui periodi di conservazione per i diversi tipi di log, consulta Quote e limiti.

Puoi configurare Cloud Logging in modo che i log vengano conservati per un periodo compreso 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 dal fatto che il log sia stato copiato da un'altra posizione.

Per informazioni su come impostare le regole di conservazione per un bucket di log, consulta Configurare la conservazione personalizzata.

Visualizzazioni log

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

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

Le viste dei log personalizzate ti 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 Google Cloud centrale. Poiché i bucket di log possono contenere log di diversi progetti Google Cloud, ti consigliamo di controllare da quali progetti Google Cloud i diversi utenti 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 sezione seguente fornisce informazioni su come utilizzare i log in Google Cloud.

Metriche basate su log

Le metriche basate su log sono metriche di Cloud Monitoring ricavate dal contenuto 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, la voce di log viene conteggiata nei dati delle metriche.

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

Metriche basate su log e filtri di esclusione

I filtri di esclusione del 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 del sink non si applicano alle metriche basate su log definite dall'utente. Anche se escludiamo la memorizzazione dei log in qualsiasi bucket di logging, potremmo vedere questi log 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 vengono ricevute.

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

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

    Con le metriche basate su log a livello di bucket, puoi creare metriche basate su log che possono valutare i log nei seguenti casi:

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

Per ulteriori informazioni, consulta la panoramica delle metriche basate su log.

Trovare i log nelle destinazioni supportate

Per informazioni sul formato delle voci di log instradate e su come i log sono organizzati nelle destinazioni, consulta Visualizza i log nelle destinazioni sink.

Casi d'uso comuni

Per gestire i casi d'uso comuni per il routing e lo stoccaggio dei log, consulta i seguenti documenti ed esercitazioni:

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 addebita alcun costo per il routing dei log a una destinazione supportata. Tuttavia, la destinazione potrebbe applicare dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita lo streaming dei log nei bucket di log e per l'archiviazione per un periodo superiore al periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita alcun costo per la copia dei log, per la definizione degli ambiti dei log o per le query inviate tramite le pagine Esplora log o Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti:

Passaggi successivi

Per aiutarti a indirizzare e archiviare i dati di Cloud Logging, consulta i seguenti documenti:

  • Error Reporting può analizzare le voci dei log e segnalarti gli errori. Per ulteriori informazioni su questo servizio, incluse informazioni su quando è possibile analizzare le voci di log, consulta la Panoramica dei report sugli errori.