Regionalizzare i log

Questo documento descrive come utilizzare l'emissario _Default per instradare le voci di log a un bucket Cloud Logging in una regione specifica. Per un elenco delle regioni supportate, consulta Località.

Puoi anche impostare una località di archiviazione predefinita per i nuovi bucket _Default e _Required configurando le impostazioni predefinite per l'organizzazione o la cartella. Per maggiori informazioni, consulta Impostare la posizione di archiviazione predefinita.

Questa guida illustra questa procedura utilizzando l'esempio del reindirizzamento di tutti i log a una regione. Questa procedura prevede i seguenti passaggi:

  1. Crea un bucket di log nella regione designata per l'archiviazione dei log.

  2. Reindirizza l'obiettivo _Default per instradare i log al nuovo bucket dei log.

  3. Cerca i log in Esplora log.

Panoramica

In Logging, i bucket di log sono risorse regionali: l'infrastruttura che archivia, indicizza e esegue ricerche tra i log si trova in una località geografica specifica. Google Cloud gestisce l'infrastruttura in modo che le tue applicazioni siano disponibili in modo ridondante tra le zone all'interno della regione.

Alla tua organizzazione potrebbe essere richiesto di archiviare i dati dei log in regioni specifiche. I fattori principali per la selezione della regione in cui vengono archiviati i log includono la soddisfazione dei requisiti di latenza, disponibilità o conformità della tua organizzazione. Quando selezioni una regione per l'archiviazione dei log, prendi in considerazione le sedi degli altri prodotti e servizi Google Cloud utilizzati dalla tua applicazione.

Concetti fondamentali

I seguenti concetti chiave si applicano alla regionalità dei dati per Logging.

Posizioni del router dei log

Il router di log elabora tutte le voci di log scritte nell'API Cloud Logging. Controlla ogni voce di log in base alle regole esistenti per determinare quali voci di log archiviare nei bucket di Logging e quali instradare alle destinazioni supportate utilizzando i sink. Per instradare i log in modo affidabile, il router dei log li memorizza anche temporaneamente, in modo da creare un buffer contro le interruzioni temporanee in qualsiasi destinazione.

Il router dei log elabora i log nella regione in cui vengono ricevuti. Log Router potrebbe inviare i log a una regione diversa in base alla definizione di un'area di destinazione o se hai scelto di condividere i dati dei log con un altro servizio Google Cloud, ad esempio il rilevamento delle minacce di Security Command Center. I sink si applicano ai log in modo uguale e indipendentemente dalla regione.

Località dei bucket di log

I bucket di log sono i contenitori nel progetto, nell'account di fatturazione, nella cartella e nell'organizzazione Google Cloud che archiviano e organizzano i dati dei log.

Per ogni progetto, account di fatturazione, cartella e organizzazione Google Cloud, Logging crea automaticamente due bucket di log: _Required e _Default, che si trovano nella posizione global. Non puoi modificare la posizione dei bucket esistenti. Tuttavia, la tua organizzazione può creare un criterio che imposta una posizione predefinita diversa per questi bucket. Per ulteriori informazioni, consulta la pagina Configura le impostazioni predefinite per organizzazioni e cartelle.

Puoi anche creare bucket di log definiti dall'utente per qualsiasi progetto Google Cloud. Quando crei un bucket di log definito dall'utente, puoi specificare la relativa posizione. Dopo aver creato il bucket di log, la posizione non può essere modificata, ma puoi creare un nuovo bucket e indirizzare le voci di log al nuovo bucket utilizzando i canali. Per scoprire come impostare la posizione dei bucket, consulta Eseguire la regionalizzazione dei log.

La registrazione supporta l'esecuzione di query sui log di più regioni contemporaneamente. In questo caso, le query vengono elaborate nelle stesse posizioni dei bucket su cui vengono eseguite e poi aggregate nella regione da cui è stata ricevuta la query per restituire i risultati.

La regione di un bucket di log viene mostrata nella pagina Archiviazione log e in alcune finestre di dialogo. Ad esempio, quando apri la pagina Esplora log e utilizzi il selettore Perfeziona ambito per elencare le visualizzazioni di log, vengono visualizzate anche le informazioni sulle regioni. Per questo selettore, quando la regione è global, sia la regione sia la posizione di archiviazione corrente vengono visualizzate in un formato simile a GLOBAL (US-WEST4).

Prima di iniziare

Per completare i passaggi descritti in questa guida:

  1. Identifica il progetto Google Cloud che memorizzerà le voci di log.
  2. Identifica il nome e la posizione del bucket dei log che memorizzerà le voci del log.
  3. Determina le voci di log che vuoi inoltrare al bucket dei log. In questa guida sono inclusi tutti i log inoltrati dal sink _Default.

Aree geografiche supportate

Quando crei il bucket dei log, puoi scegliere dove archiviare i log. Per un elenco delle regioni supportate, consulta Località.

Crea il bucket di log

I bucket di log memorizzano le voci di log. I progetti, le cartelle e le organizzazioni contengono sink dei log che indirizzano le voci di log ai bucket di log o ad altre destinazioni. Quando la destinazione di uno sink è un bucket di log, questo può trovarsi nella stessa risorsa dello sink di log o in una risorsa diversa. Per ulteriori informazioni, consulta Configurare i bucket dei log.

Per creare il bucket nel progetto Google Cloud in cui vuoi archiviare i log, completa i seguenti passaggi:

  1. Vai alla console Google Cloud:

    Vai alla console Google Cloud

  2. Nella barra degli strumenti, fai clic su  Attiva Cloud Shell.

  3. Per creare un bucket di log, esegui il comando gcloud logging buckets create in Cloud Shell. Prima di eseguire il comando di esempio, effettua le seguenti sostituzioni:

    • BUCKET_ID: il nome o l'ID del bucket dei log.
    • LOCATION: la posizione del bucket di log.
    • PROJECT_ID: l'identificatore del progetto.

    Comando di esempio:

    gcloud logging buckets create BUCKET_ID \
      --location=LOCATION \
      --project=PROJECT_ID
    
  4. Verifica che il bucket sia stato creato:

    gcloud logging buckets list --project=PROJECT_ID
    

Dopo aver creato il bucket di log, puoi modificare alcune proprietà, come la descrizione e il periodo di conservazione dei dati. Per apportare queste modifiche, utilizza il comando gcloud logging buckets update.

Reindirizza il sink dei log _Default

Esegui il routing dei log in un bucket di log creando un sink. Un sink include un filtro, che seleziona le voci di log da esportare tramite il sink, e una destinazione. In questa guida aggiorniamo l'emissario _Default esistente per instradare le voci di log al bucket dei log creato nel passaggio precedente.

Per aggiornare un sink, esegui il comando gcloud logging sinks update. Prima di eseguire il comando di esempio, apporta le seguenti sostituzioni:

  • _Default: questo esempio aggiorna la destinazione per la destinazione indicata come _Default. Se vuoi aggiornare un altro sink, modifica il nome di questa variabile.
  • BUCKET_ID: il nome o l'ID del bucket dei log.
  • LOCATION: la posizione del bucket di log.
  • PROJECT_ID: l'identificatore del progetto.

Comando di esempio:

gcloud logging sinks update _Default \
  logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID \
  --log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT
    LOG_ID("externalaudit.googleapis.com/activity") AND NOT
    LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT
    LOG_ID("externalaudit.googleapis.com/system_event") AND NOT
    LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT
    LOG_ID("externalaudit.googleapis.com/access_transparency")' \
  --description="Updated the _Default sink to route logs to the LOCATION region"

Crea una voce di log per testare il sink

Per verificare di aver aggiornato correttamente l'accumulo, completa i seguenti passaggi:

  1. Invia un messaggio di log di test al bucket regionalizzato utilizzando il comando gcloud logging write. Prima di eseguire il comando di esempio, effettua le seguenti sostituzioni:

    • LOG_NAME: il nome del log.
    • BUCKET_ID: il nome o l'ID del bucket dei log.
    • PROJECT_ID: l'identificatore del progetto.

    Comando di esempio:

    gcloud logging write LOG_NAME "Test to route logs to BUCKET_ID" \
    --project=PROJECT_ID
    
  2. Visualizza la voce di log:

    1. Nella console Google Cloud, vai alla pagina Esplora log:

      Vai a Esplora log

      Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

    2. Nella barra degli strumenti, fai clic su Perfeziona ambito e poi seleziona Progetto corrente.

      Lo strumento Esplora log è configurato per visualizzare le voci di log che hanno avuto origine nel tuo progetto.

    3. Nel riquadro Campo log, seleziona il tipo di risorsa Globale.

    4. La voce di log del test viene visualizzata nel riquadro Risultati query.

Cercare i log nella console Google Cloud

Per visualizzare le voci di log nel bucket dei log, vai alla console Google Cloud e completa i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Esplora log:

    Vai a Esplora log

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Seleziona Perfeziona ambito.

  3. Nel riquadro Perfeziona ambito, seleziona Visualizzazione log.

  4. Seleziona la vista _AllLogs associata al tuo BUCKET_NAME.

  5. Fai clic su Applica.

    Esplora log viene aggiornato per mostrare i log del bucket.

    Per informazioni sull'utilizzo di Esplora log, consulta Visualizza i log utilizzando Esplora log.

Passaggi successivi