Questa pagina descrive come copiare manualmente le voci di log già archiviate nei bucket di log di Cloud Logging nei bucket Cloud Storage. Potresti voler copiare le voci di log dai bucket log ai bucket Cloud Storage per i seguenti motivi:
- Se hai dimenticato di eseguire il routing delle voci di log a Cloud Storage prima del del loro spazio di archiviazione in Logging.
- Per condividere le voci di log con revisori esterni a Logging.
- Per 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. Utilizza i sink quando sai che vuoi memorizzare le voci di log in un bucket Cloud Storage.
Per copiare i log e gestire e monitorare l'operazione, devi utilizzare Google Cloud CLI.
Limitazioni
Quando copi 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 in cui è configurata la chiave CMEK.
Prima di iniziare
Prima di iniziare a copiare i log, svolgi i seguenti passaggi:
- Verifica di utilizzare l'ultima versione del gcloud CLI. Per istruzioni su come installare o aggiornare gcloud CLI, consulta Gestire i componenti di Google Cloud CLI.
-
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:
-
Amministratore di Log (
roles/logging.admin
) -
Creatore oggetti Storage (
roles/storage.objectCreator
)
-
Amministratore di Log (
-
Per ottenere le autorizzazioni necessarie per visualizzare e gestire lo stato di un'operazione di copia, chiedi all'amministratore di concederti il ruolo IAM Logs Configuration Writer (
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. 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 quanto segue informazioni:
- L'ID e la posizione del bucket dei log da cui stai copiando.
Per recuperare l'ID del bucket dei log e la relativa posizione, utilizza il comando gcloud CLI
gcloud logging buckets list
. - Il nome del bucket Cloud Storage in cui stai copiando. 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 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 bucket dei log.
- Sostituisci CLOUD_STORAGE_BUCKET_NAME con il nome del tuo bucket Cloud Storage.
- Sostituisci LOCATION con la posizione del bucket dei log.
(Facoltativo) Sostituisci FILTER con il filtro che definisce i log da visualizzare copiato.
Se ometti il flag
--log-filter
, verranno aggiunte tutte le voci di log nel vengono copiati nel bucket Cloud Storage.Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud. Puoi omettere questo flag quando la configurazione dell'interfaccia a riga di comando gcloud attiva è 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 > "2024-07-18T10:00:00.0Z"' \
--project=my-project
Questo comando crea un'operazione a lungo termine da eseguire in background e restituisce il nome dell'operazione di copia e la posizione del bucket dei log:
name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
La posizione dell'operazione di copia corrisponde 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 posizione del bucket di log. Per informazioni su come trovare il del bucket di log, Visualizza i dettagli di un bucket.
Elenca le operazioni di copia
Puoi elencare le operazioni di copia recenti, tra cui quelle pianificate, in esecuzione, completate, non riuscite e 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 il comando seguente:
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 l'operazione copia 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 correttamente 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 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 informazioni su un'operazione di copia, esegui il seguente 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 posizione del bucket dei 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, di seguito è riportato 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: `2024-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, la registrazione completa tutte le operazioni in corso prima di completare l'annullamento. Ciò potrebbe comportare che alcune voci di log vengano comunque copiate in Cloud Storage dopo l'annullamento dell'operazione.
Per annullare un'operazione di copia, esegui il seguente 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 posizione del bucket dei 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, consulta Visualizzare i log inviati a Cloud Storage.
Quote e limiti
Il completamento di tutte le operazioni di copia richiede almeno un'ora, indipendentemente dalla quantità di dati che vengono copiati.
Per copiare un volume elevato, ad esempio petabyte, suddividi la copia su più operazioni utilizzando il campo timestamp
nel flag --filter
.
Il comando di copia non può copiare le voci di log la cui conservazione è scaduta.
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 di tempo 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.