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, indirizzali 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:
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 si protegge da interruzioni e interruzioni temporanee che potrebbero verificarsi quando un sink instrada una voce di log a una destinazione. Il buffering non protegge dagli errori di configurazione del sink. Se il sink non è configurato correttamente, non inoltra 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 da quello a più lungo termine fornito dai bucket di logging.
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 i log vengono instradati:
- 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 canali 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 nella risorsa 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'elemento di destinazione in modo da selezionare voci di 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 inoltrata 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:
- Audit log delle attività di amministrazione
- Audit log degli eventi di sistema
- Audit log di amministrazione di Google Workspace
- Log di controllo di Groups Enterprise
- Log di controllo degli accessi
- Log di Access Transparency. Per informazioni su come attivare i log di Access Transparency, consulta la documentazione sui log di Access Transparency.
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
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 di archiviare le voci di log in una delle seguenti regioni:
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.
Criteri 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 ai bucket dei log esistenti, ma solo ai nuovi bucket dei 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:
Dati dei log: una guida passo passo per superare le comuni sfide di conformità
Governance dei dati: principi per la protezione e la gestione degli log
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:
- Riepilogo dei prezzi di Cloud Logging
Costi di destinazione:
- I costi di generazione dei log di flusso VPC si applicano quando invii e poi escludi i log di flusso Virtual Private Cloud da Cloud Logging.
Passaggi successivi
Per aiutarti a indirizzare e archiviare i dati di Cloud Logging, consulta i seguenti documenti:
Per creare sink per instradare le voci di log alle destinazioni supportate, consulta Instradare i log alle destinazioni supportate.
Per scoprire come creare sink aggregati che possono instradare le voci di log dalle risorse nelle cartelle o nelle organizzazioni, consulta Raccogliere e instradare i log a livello di organizzazione e cartella verso le destinazioni supportate.
Per scoprire come concedere l'accesso a un sottoinsieme di voci di log archiviate in un bucket di log, consulta Configurare le visualizzazioni dei log in un bucket di log.
- 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.