Controlla l'importazione dei log di Dataflow

I filtri di esclusione ti consentono di controllare il volume dei log di Dataflow importati da Cloud Logging, rendendo al contempo disponibile il logging dettagliato per il debug. Puoi utilizzare i filtri di esclusione per escludere le voci di log corrispondenti dall'importazione da parte di Cloud Logging o dal routing alla destinazione del sink. Crea filtri di esclusione utilizzando il linguaggio delle query di Logging. Il linguaggio di query di Logging consente di specificare un sottoinsieme di tutte le voci di log nella risorsa Google Cloud selezionata, ad esempio un progetto o una cartella.

Utilizzando i filtri di esclusione, puoi ridurre i costi di Cloud Logging sostenuti dall'importazione dei log di Dataflow. Per ulteriori informazioni sui prezzi dell'importazione dei log per Cloud Logging, consulta il riepilogo dei prezzi di Cloud Logging. Per ulteriori dettagli sul funzionamento dei filtri di esclusione e sulle rispettive limitazioni, consulta Filtri di esclusione nella documentazione di Cloud Logging.

I job Dataflow emettono più tipi di log. Questa pagina mostra come filtrare i log dei job e i log dei worker di Dataflow.

Creare filtri di esclusione dei log

Questo esempio crea un filtro di esclusione sul _Default sink di Cloud Logging. Il filtro esclude tutti i log Dataflow con gravità DEFAULT, DEBUG, INFO e NOTICE dall'importazione in Cloud Logging. I log relativi alla gravità di WARNING, ERROR, CRITICAL, ALERT e EMERGENCY vengono comunque acquisiti. Per ulteriori informazioni sui livelli di log supportati, consulta LogSeverity.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

Autorizzazioni

Quando inizi, assicurati di quanto segue:

  • Hai un progetto Google Cloud con log che puoi visualizzare in Esplora log.

  • Disponi di uno dei seguenti ruoli IAM per il progetto Google Cloud di origine da cui esegui il routing dei log.

    • Proprietario (roles/owner)
    • Amministratore Logging (roles/logging.admin)
    • Writer configurazione log (roles/logging.configWriter)

    Le autorizzazioni contenute in questi ruoli consentono di creare, eliminare o modificare i sink. Per informazioni sull'impostazione dei ruoli IAM, consulta la guida al controllo dell'accesso di Logging.

  • Hai una risorsa in una destinazione supportata o puoi crearne una.

    Devi creare la destinazione di routing prima del sink, tramite Google Cloud CLI, la console Google Cloud o le API Google Cloud. Puoi creare la destinazione in qualsiasi progetto Google Cloud in qualsiasi organizzazione. Prima di creare la destinazione, assicurati che l'account di servizio del sink abbia le autorizzazioni per scrivere nella destinazione.

Aggiungere un filtro di esclusione

I passaggi seguenti mostrano come aggiungere un filtro di esclusione di Cloud Logging ai log di Dataflow. Questo filtro di esclusione seleziona tutte le voci di log Dataflow con la gravità DEFAULT, DEBUG, INFO e NOTICE dai job con un nome job Dataflow che non termina con la stringa debug. Il filtro esclude questi log dall'importazione nel bucket Cloud Logging Default.

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

    Vai al router dei log

  2. Trova la riga con il sink _Default, espandi l'opzione Azioni e fai clic su Modifica sink.

  3. In Scegli i log da escludere dal sink, per Crea un filtro di esclusione, fai clic su Aggiungi esclusione.

  4. Inserisci un nome per il filtro di esclusione.

  5. Nella sezione Crea un filtro di esclusione, incolla il seguente testo nella casella:

    resource.type="dataflow_step" AND
    labels."dataflow.googleapis.com/job_name"!~".*debug" AND
    severity=(DEFAULT OR DEBUG OR INFO OR NOTICE)
    
    • La prima riga seleziona tutte le voci di log generate dal servizio Dataflow.
    • La seconda riga seleziona tutte le voci di log in cui il campo job_name non termina con la stringa debug.
    • La terza riga seleziona tutte le voci di log con gravità DEFAULT, DEBUG, INFO o NOTICE.
  6. Fai clic su Aggiorna sink.

Testare il filtro di esclusione

Per verificare che il filtro funzioni correttamente, esegui un job Dataflow di esempio e visualizza i log.

Dopo l'esecuzione del job, per visualizzare i log del job completa i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Job di Dataflow.

    Vai a Job

    Viene visualizzato un elenco di job Dataflow con il relativo stato.

  2. Seleziona un lavoro.

  3. Nella pagina Dettagli job, nel riquadro Log, fai clic su Mostra.

  4. Verifica che nessun log venga visualizzato nel riquadro Log del job e che nessun log DEFAULT, DEBUG, INFO o NOTICE venga visualizzato nel riquadro Log worker.

Ignora il filtro di esclusione

Il nome del job Dataflow (job_name) viene utilizzato per fornire un meccanismo di bypass per gli scenari in cui è necessario acquisire i log Dataflow generati. Puoi utilizzare questo bypass per eseguire nuovamente un job non riuscito e acquisire tutte le informazioni di log.

Il filtro creato in questo scenario conserva tutte le voci di log quando il campo job_name termina con la stringa debug. Se vuoi ignorare il filtro di esclusione e visualizzare tutti i log per un job Dataflow, aggiungi debug al nome del job. Ad esempio, per ignorare il filtro di esclusione, puoi utilizzare il nome job dataflow-job-debug.

Confrontare i conteggi dei log

Se vuoi confrontare il volume dei log importati con e senza il filtro di esclusione, esegui un job con debug aggiunto al nome del job e uno senza. Utilizza la metrica Byte di log, definita dal sistema e basata su log per visualizzare e confrontare i dati di importazione. Per saperne di più sulla visualizzazione dei dati sull'importazione, consulta Visualizzare i dati di importazione in Metrics Explorer.

Crea una destinazione esterna

Facoltativamente, dopo aver creato il filtro di esclusione, puoi creare un sink di Cloud Logging aggiuntivo. Utilizza questo sink per reindirizzare il set completo di log Dataflow a una destinazione esterna supportata, come BigQuery, Pub/Sub o Splunk.

In questo scenario, i log esterni non vengono archiviati in Esplora log, ma sono disponibili nella destinazione esterna. L'utilizzo di una destinazione esterna offre un maggiore controllo sui costi sostenuti per l'archiviazione dei log in Esplora log.

Per la procedura dettagliata su come controllare in che modo Cloud Logging esegue il routing dei log, consulta Configurare e gestire i sink. Per acquisire tutti i log di Dataflow in una destinazione esterna, nel riquadro Scegli i log da includere nel sink nel campo Crea filtro di inclusione inserisci la seguente espressione di filtro:

resource.type="dataflow_step"

Per trovare le voci di log instradate da Cloud Logging alle destinazioni supportate, consulta Visualizzare i log nelle destinazioni sink.

Tieni traccia dei messaggi di log di Dataflow in base alla gravità

I filtri di esclusione non si applicano alle metriche basate su log definite dall'utente. Queste metriche conteggiano il numero di voci di log che corrispondono a un determinato filtro o registrano valori specifici all'interno delle voci di log corrispondenti. Per tenere traccia dei conteggi dei messaggi di log di Dataflow in base alla gravità, puoi creare una metrica basata su log per i log di Dataflow. I log vengono monitorati anche quando i messaggi di log vengono esclusi dall'importazione.

Ti verranno addebitati i costi per le metriche basate su log definite dall'utente. Per informazioni sui prezzi, consulta Metriche addebitabili.

Per configurare le metriche basate su log definite dall'utente, consulta Creare una metrica del contatore. Per monitorare i log di Dataflow, nella sezione Selezione filtro, nella casella Crea filtro inserisci il seguente testo:

resource.type="dataflow_step"