Batch e route dei log in modo retroattivo

In questa pagina viene descritto come copiare manualmente le voci di log già archiviate nei bucket di log di Cloud Logging ai bucket Cloud Storage. Ti consigliamo di copiare le voci di log dai bucket di log a Cloud Storage bucket per i seguenti motivi:

  • Se hai dimenticato di eseguire il routing delle voci di log a Cloud Storage prima del il proprio spazio di 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, anche le voci di log nel bucket di log da cui sono stati copiati.

Le operazioni di copia non sostituiscono sink, che inviano automaticamente tutti le voci di log in entrata in una destinazione di archiviazione supportata preselezionata, tra cui di archiviazione dei bucket Cloud Storage. Usa i sink quando hai la certezza che vuoi per archiviare le voci di log in un bucket Cloud Storage.

Per copiare i log e quindi gestire e monitorare l'operazione, devi utilizzare il metodo 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, le altre destinazioni non sono disponibili.

  • Non puoi copiare i log dai bucket di log che hanno CMEK configurata.

Prima di iniziare

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

  • Per ottenere le autorizzazioni necessarie, 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 sul tuo progetto:

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

Copia delle voci di log

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

Per copiare le voci di log in Cloud Storage, devi conoscere quanto segue 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 sua posizione, utilizza 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, vedi Recupero di informazioni sul bucket Cloud Storage.
  • Un filtro per le voci di log che che si desidera copiare.

Per copiare le voci di log, esegui 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 nel bucket Cloud Storage.
  • Sostituisci LOCATION con la località del bucket di log.
  • (Facoltativo) Sostituisci FILTER con il filtro che definisce i log da visualizzare copiato.

  • Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud. Puoi omettere questo flag quando gcloud CLI è attivo sia 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 operazione a lunga esecuzione eseguire in background e restituisce il nome dell'operazione di copia e percorso del bucket di log:

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

La posizione dell'operazione di copia è uguale a quella del log bucket da cui stai copiando i log.

Visualizza e gestisci le operazioni di copia

Puoi visualizzare e gestire le operazioni di copia utilizzando il gcloud logging operations che 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 il del bucket di log, Visualizza i dettagli di un bucket.

Elencare le operazioni di copia

Puoi elencare le operazioni di copia recenti, come pianificate, in esecuzione, completate non riusciti e le operazioni annullate. Le operazioni di copia recenti vengono visualizzate nei risultati fino a 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 ti trovi copia dei log.
  • Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.

Il comando restituisce informazioni sull'operazione a lunga esecuzione, tra cui: 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 riusciti).
  • 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 è la copia dei 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 in al 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 applicate all'operazione. Come ulteriore esempio, se Il flag --log-filter=FILTER non è stato utilizzato durante l'esecuzione dell'evento gcloud logging copy, i metadati filter non verranno 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 ti trovi copia dei 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 dell'operazione rimangono nel bucket Cloud Storage.

Dopo aver annullato un'operazione di copia, Logging completa tutti i pod in corso prima del completamento dell'annullamento. Ciò potrebbe causare la visualizzazione di ancora in fase di copia in Cloud Storage dopo l'annullamento operativa.

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 ti trovi copia dei 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, consulta Visualizza i log con routing a Cloud Storage.

Quote e limiti

Tutte le operazioni di copia richiedono almeno un'ora, indipendentemente dalla quantità di ai dati in fase di copia.

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

Prezzi

Cloud Logging non addebita alcun costo per il routing dei log a un destinazione supportata; ma la destinazione potrebbe applicare dei costi. Ad eccezione del bucket di log _Required, Cloud Logging addebita un costo per trasferire i log nei bucket di log. per un'archiviazione più lunga del periodo di conservazione predefinito del bucket di log.

Cloud Logging non addebita alcun costo per la copia dei log o per le query eseguite tramite Esplora log o tramite la pagina Analisi dei log.

Per ulteriori informazioni, consulta i seguenti documenti: