Importare i log da Cloud Storage a Cloud Logging

Last reviewed 2025-02-19 UTC

Questa architettura di riferimento descrive come importare di nuovo in Cloud Logging i log esportati in precedenza in Cloud Storage.

Questa architettura di riferimento è destinata a ingegneri e sviluppatori, inclusi DevOps, Site Reliability Engineer (SRE) e investigatori della sicurezza, che vogliono configurare ed eseguire il job di importazione dei log. Questo documento presuppone che tu abbia familiarità con l'esecuzione dei job Cloud Run e con l'utilizzo di Cloud Storage e Cloud Logging.

Architettura

Il seguente diagramma mostra come Google Cloud vengono utilizzati i servizi in questa architettura di riferimento:

Diagramma del flusso di lavoro dell'importazione dei log da Cloud Storage a Cloud Logging.

Questo flusso di lavoro include i seguenti componenti:

Caso d'uso

Potresti scegliere di eseguire il deployment di questa architettura se la tua organizzazione richiede un'analisi dei log aggiuntiva per le indagini sugli incidenti o altri audit degli eventi passati. Ad esempio, potresti voler analizzare le connessioni ai database per il primo trimestre dell'anno scorso, nell'ambito di un audit di accesso al database.

Alternative di progettazione

Questa sezione descrive le alternative alla progettazione predefinita mostrata in questo documento dell'architettura di riferimento.

Periodo di conservazione e log importati

Cloud Logging richiede che le voci di log in entrata abbiano timestamp che non superino un periodo di conservazione di 30 giorni . Le voci di log importate con timestamp precedenti a 30 giorni dall'ora di importazione non vengono archiviate.

Questa architettura convalida l'intervallo di date impostato nel job Cloud Run per evitare di importare log precedenti a 29 giorni, lasciando un margine di sicurezza di un giorno.

Per importare log precedenti a 29 giorni, devi apportare le seguenti modifiche al codice di implementazione, quindi creare una nuova immagine container da utilizzare nella configurazione del job Cloud Run.

  • Rimuovi la convalida di 30 giorni dell'intervallo di date
  • Aggiungi il timestamp originale come etichetta utente alla voce di log
  • Reimposta l'etichetta del timestamp della voce di log per consentirne l'importazione con il timestamp corrente

Quando utilizzi questa modifica, devi utilizzare il labels campo anziché il timestamp campo nelle query di Observability Analytics. Per saperne di più sulle query e sugli esempi di Observability Analytics, consulta Esempi di query SQL.

Note sul layout

Le seguenti linee guida possono aiutarti a sviluppare un'architettura che soddisfi i requisiti della tua organizzazione.

Ottimizzazione dei costi

Il costo per l'importazione dei log utilizzando questa architettura di riferimento ha diversi fattori che contribuiscono.

Utilizzi i seguenti componenti fatturabili di Google Cloud:

Tieni presente i seguenti fattori che potrebbero aumentare i costi:

  • Duplicazione dei log: per evitare costi di archiviazione dei log aggiuntivi, non eseguire il job di importazione con la stessa configurazione più volte.
  • Archiviazione in destinazioni aggiuntive: per evitare costi di archiviazione dei log aggiuntivi, disattiva i criteri di routing nel progetto di destinazione per impedire l'archiviazione dei log in località aggiuntive o l'inoltro dei log ad altre destinazioni come Pub/Sub o BigQuery.
  • CPU e memoria aggiuntive: se il job di importazione va in timeout, potrebbe essere necessario aumentare la CPU e la memoria del job di importazione nella configurazione del job di importazione. L'aumento di questi valori potrebbe aumentare i costi di Cloud Run sostenuti.
  • Attività aggiuntive: se il numero previsto di log da importare ogni giorno nell'intervallo di tempo è elevato, potrebbe essere necessario aumentare il numero di attività nella configurazione del job di importazione. Il job suddivide l'intervallo di tempo in parti uguali tra le attività, in modo che ogni attività elabori contemporaneamente un numero simile di giorni dell'intervallo. L'aumento del numero di attività potrebbe aumentare i costi di Cloud Run sostenuti.
  • Classe di archiviazione: se la classe di archiviazione del bucket Cloud Storage è diversa da Standard, ad esempio Nearline, Durable Reduced Availability (DRA) o Coldline, potresti incorrere in addebiti aggiuntivi.
  • Traffico di dati tra località diverse: configura il job di importazione in modo che venga eseguito nella stessa località del bucket Cloud Storage da cui importi i log. In caso contrario, potrebbero essere addebitati costi per il traffico di rete in uscita.

Per generare una stima dei costi in base all'utilizzo previsto, inclusi i job Cloud Run, utilizza il calcolatore prezzi.

Efficienza operativa

Questa sezione descrive le considerazioni per la gestione delle query analitiche dopo il deployment della soluzione.

Nomi e query dei log

I log vengono archiviati nel progetto definito nel logName campo della voce di log. Per importare i log nel progetto selezionato, questa architettura modifica il campo logName di ogni log importato. I log di importazione vengono archiviati nel bucket di log predefinito del progetto selezionato con l'ID log imported_logs (a meno che il progetto non abbia un criterio di routing dei log che modifichi la destinazione di archiviazione). Il valore originale del campo logName viene conservato nel campo labels con la chiave original_logName.

Quando esegui query sui log importati, devi tenere conto della posizione del valore logName originale. Per saperne di più sulle query e sugli esempi di Observability Analytics, consulta Esempi di query SQL.

Ottimizzazione delle prestazioni

Se il volume di log che stai importando supera i limiti di capacità di Cloud Run, il job potrebbe andare in timeout prima del completamento dell'importazione. Per evitare un'importazione incompleta dei dati, valuta la possibilità di aumentare il valore tasks nel job di importazione. L'aumento delle risorse CPU e memoria può anche contribuire a migliorare le prestazioni delle attività quando aumenti il numero di attività.

Deployment

Per eseguire il deployment di questa architettura, consulta Eseguire il deployment di un job per importare i log da Cloud Storage a Cloud Logging.

Passaggi successivi

Collaboratori

Autore: Leonid Yankulin | Developer Relations Engineer

Altri collaboratori: