Batch e route dei log in modo retroattivo

Questa pagina descrive come copiare manualmente le voci di log già archiviate nei bucket di log di Cloud Logging nei bucket Cloud Storage. Ti consigliamo di copiare le voci di log dai bucket di log ai bucket Cloud Storage per i seguenti motivi:

  • Se hai dimenticato di eseguire il routing delle voci di log a Cloud Storage prima della relativa archiviazione in Logging.
  • Per condividere le voci di log con revisori esterni a Logging.
  • Analizzare le voci di log con script in Cloud Storage.

Quando copi le voci di log in Cloud Storage, queste rimangono anche nel bucket di log da cui sono state copiate.

Le operazioni di copia non sostituiscono i sink, che inviano automaticamente tutte le voci di log in arrivo a una destinazione di archiviazione supportata preselezionata, inclusi i bucket Cloud Storage. Usa i sink se vuoi archiviare le voci di log in un bucket Cloud Storage.

Per copiare i log e poi gestire e monitorare l'operazione, devi utilizzare Google Cloud CLI.

Limitazioni

Quando si copiano le voci di log, si applicano le seguenti limitazioni:

  • Puoi copiare i log solo nei bucket Cloud Storage; non sono disponibili altre destinazioni.

  • Non puoi copiare i log dai bucket di log in cui è configurata CMEK.

Prima di iniziare

Prima di iniziare a copiare i log, segui questi passaggi:

  • Per ottenere le autorizzazioni necessarie per copiare le voci di log da Logging e poi scrivere le voci di log in Cloud Storage, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:

  • Per ottenere le autorizzazioni necessarie per visualizzare e gestire lo stato di un'operazione di copia, chiedi all'amministratore di concederti il ruolo IAM Writer configurazione log (roles/logging.configWriter) per il tuo progetto.

Copia delle voci di log

Logging copia solo le voci di log archiviate nel bucket di log all'avvio dell'operazione di copia. Le voci di log archiviate nei bucket di log dopo l'avvio dell'operazione di copia non vengono copiate in Cloud Storage.

Per copiare le voci di log in Cloud Storage, devi conoscere le seguenti informazioni:

  • L'ID e la località del bucket di log da cui stai eseguendo la copia. Per recuperare l'ID bucket di log e la relativa posizione, utilizza il comando gcloud CLI gcloud logging buckets list.
  • Il nome del bucket Cloud Storage in cui stai eseguendo la copia. Per informazioni su come recuperare il nome del bucket Cloud Storage, consulta Ottenere informazioni sul bucket Cloud Storage.
  • Un filtro per le voci di log da copiare.

Per copiare le voci di log, esegui il comando gcloud logging copy:

gcloud logging copy BUCKET_ID storage.googleapis.com/CLOUD_STORAGE_BUCKET_NAME \
--location=LOCATION --log-filter='FILTER' --project=PROJECT_ID

Prima di eseguire il comando precedente, segui questi passaggi:

  • Sostituisci BUCKET_ID con il nome del tuo bucket di log.
  • Sostituisci CLOUD_STORAGE_BUCKET_NAME con il nome del tuo bucket Cloud Storage.
  • Sostituisci LOCATION con la località del bucket di log.
  • (Facoltativo) Sostituisci FILTER con il filtro che definisce i log da copiare.

  • Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud. Puoi omettere questo flag quando la configurazione attiva di gcloud CLI è impostata sul progetto Google Cloud corretto.

Comando di esempio:

gcloud logging copy my-log-bucket storage.googleapis.com/my-gcs-bucket \
--location=global --log-filter='timestamp > "2021-03-18T10:00:00.0Z"' \
--project=my-project

Questo comando crea un'operazione a lunga esecuzione da eseguire in background e restituisce il nome dell'operazione di copia e la posizione del bucket di log:

name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

La località dell'operazione di copia è la stessa del bucket di log da cui stai copiando i log.

Visualizza e gestisci le operazioni di copia

Puoi visualizzare e gestire le operazioni di copia utilizzando i comandi gcloud logging operations, che ti consentono di elencare, visualizzare e annullare le operazioni.

I seguenti comandi richiedono di specificare la posizione dell'operazione. Utilizza la località del bucket di log. Per informazioni su come trovare la località del bucket di log, consulta Visualizzare i dettagli di un bucket.

Elencare le operazioni di copia

Puoi elencare le operazioni di copia recenti, incluse le operazioni pianificate, in esecuzione, completate, non riuscite e annullate. Le operazioni di copia recenti appaiono nei risultati per un massimo di 30 giorni dopo l'ora di fine.

Per elencare le operazioni di copia, esegui questo comando:

gcloud logging operations list --location=LOCATION \
--operation-filter=request_type=CopyLogEntries \
--project=PROJECT_ID

Prima di eseguire il comando precedente, segui questi passaggi:

  • Sostituisci LOCATION con la località del bucket di log da cui stai copiando i log.
  • Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

Il comando restituisce informazioni sull'operazione a lunga esecuzione, incluso l'ID operazione:

projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Visualizzare lo stato di un'operazione di copia

Puoi recuperare lo stato e altri metadati sulle operazioni di copia, tra cui:

  • startTime: il timestamp che indica la creazione dell'operazione.
  • endTime: il timestamp che indica il completamento dell'operazione.
  • state: lo stato dell'operazione (pianificata, in esecuzione, annullata, non riuscita o riuscita).
  • cancellation: indica se l'utente ha richiesto di annullare l'operazione.
  • progress: avanzamento stimato dell'operazione (0-100%).
  • destination: il nome del bucket Cloud Storage in cui l'operazione sta copiando i log.
  • filter: il filtro che specifica le voci di log da copiare.
  • name: il nome del bucket di log da cui l'operazione copia i log.
  • logEntriesCopiedCount: il numero di voci di log copiate nel bucket Cloud Storage dall'operazione.

Tieni presente che non tutti i campi dei metadati elencati si applicano a ogni operazione di copia. Ad esempio, se un'operazione di copia è ancora in esecuzione, i metadati endtime non verranno applicati all'operazione. Per fare un altro esempio, se il flag --log-filter=FILTER non è stato utilizzato durante l'esecuzione del comando gcloud logging copy, i metadati filter non vengono applicati all'operazione.

Per recuperare le informazioni su un'operazione di copia, esegui questo comando:

gcloud logging operations describe OPERATION_ID \
--location=LOCATION --project=PROJECT_ID

Prima di eseguire il comando precedente, segui questi passaggi:

  • Sostituisci OPERATION_ID con l'ID dell'operazione.
  • Sostituisci LOCATION con la località del bucket di log da cui stai copiando i log.
  • Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

Il comando restituisce i metadati sull'operazione di copia. Ad esempio, ecco un output per un'operazione in corso:

done: false
metadata:
  `@type`: type.googleapis.com/google.logging.v2.CopyLogEntriesMetadata
  progress: 75
  destination: storage.googleapis.com/my-storage-bucket-1
  source: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
  verb: copy
  startTime: `2023-05-23T10:52:40.039751Z`
  state: OPERATION_STATE_RUNNING
name: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
   </pre>

Annullare un'operazione di copia

Puoi annullare un'operazione di copia in corso. Se annulli un'operazione di copia, tutte le voci di log copiate prima dell'annullamento rimangono nel bucket Cloud Storage.

Dopo aver annullato un'operazione di copia, Logging completa tutti i processi in corso prima di completare l'annullamento. Ciò potrebbe comportare la copia di alcune voci di log in Cloud Storage dopo l'annullamento dell'operazione.

Per annullare un'operazione di copia, esegui questo comando:

gcloud logging operations cancel OPERATION_ID \
--location=LOCATION --project=PROJECT_ID

Prima di eseguire il comando precedente, segui questi passaggi:

  • Sostituisci OPERATION_ID con l'ID dell'operazione.
  • Sostituisci LOCATION con la località del bucket di log da cui stai copiando i log.
  • Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

Visualizza i log in Cloud Storage

Per visualizzare e comprendere i log che hai copiato in Cloud Storage, vedi Visualizzare i log con routing a Cloud Storage.

Quote e limiti

Tutte le operazioni di copia richiedono almeno un'ora, indipendentemente dalla quantità di dati che vengono copiati.

Per copiare un volume di grandi dimensioni, ad esempio petabyte, suddividi la copia in più operazioni di copia utilizzando il campo timestamp nel flag --filter.

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: