Controllare l'importazione dei log di Dataflow

I filtri di esclusione ti consentono di controllare il volume dei log di Dataflow inseriti da Cloud Logging, rendendo comunque disponibile il logging dettagliato per il debug. Puoi utilizzare i filtri di esclusione per impedire l'importazione delle voci di log corrispondenti da parte di Cloud Logging o il loro routing alla destinazione del sink. Crea filtri di esclusione utilizzando il linguaggio di query di Logging. Il linguaggio di query di Logging ti 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 per l'importazione dei log di Dataflow. Per saperne di più sui prezzi di importazione dei log per Cloud Logging, consulta il Riepilogo dei prezzi di Cloud Logging. Per maggiori dettagli su come funzionano i filtri di esclusione e sui loro limiti, consulta Filtri di esclusione nella documentazione di Cloud Logging.

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

Crea filtri di esclusione dei log

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

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Autorizzazioni

    Prima di iniziare, assicurati di:

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

    • Disponi di uno dei seguenti ruoli IAM per il progettoGoogle Cloud di origine da cui stai instradando i log.

      • Proprietario (roles/owner)
      • Logging Admin (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 Google Cloud progetto di qualsiasi organizzazione. Prima di creare la destinazione, assicurati che il service account del sink disponga delle autorizzazioni di scrittura nella destinazione.

    Aggiungere un filtro di esclusione

    I passaggi riportati di seguito mostrano come aggiungere un filtro di esclusione di Cloud Logging ai log di Dataflow. Questo filtro di esclusione seleziona tutte le voci di log di Dataflow con gravità DEFAULT, DEBUG, INFO e NOTICE dai job il cui nome 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 a Router dei log

    2. Individua la riga con il sink _Default, espandi l'opzione Azioni e poi 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

    Puoi verificare che il filtro funzioni correttamente eseguendo un job Dataflow di esempio e visualizzando i log.

    Dopo l'avvio del job, per visualizzare i log, 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 insieme al relativo stato.

    2. Seleziona un lavoro.

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

    4. Verifica che non vengano visualizzati log nel riquadro Log job e che non vengano visualizzati log DEFAULT, DEBUG, INFO o NOTICE nel riquadro Log worker.

    Ignorare il filtro di esclusione

    Il nome del job Dataflow (job_name) viene utilizzato per fornire un meccanismo di bypass per 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 dei 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 del job dataflow-job-debug.

    Confrontare i conteggi dei log

    Se vuoi confrontare il volume di log inseriti con e senza il filtro di esclusione, esegui un job con debug aggiunto al nome del job e uno senza. Utilizza la metrica basata su log definita dal sistema Byte di log per visualizzare e confrontare i dati di importazione. Per ulteriori informazioni sulla visualizzazione dei dati di importazione, consulta Visualizzare i dati di importazione in Esplora metriche.

    Creare una destinazione esterna

    Se vuoi, dopo aver creato il filtro di esclusione, puoi creare un sink Cloud Logging aggiuntivo. Utilizza questo sink per reindirizzare l'intero insieme 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 ti offre un maggiore controllo sui costi sostenuti per l'archiviazione dei log in Esplora log.

    Per i passaggi che descrivono in dettaglio come controllare il modo in cui Cloud Logging esegue il routing dei log, vedi 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 a destinazioni supportate, consulta Visualizzare i log nelle destinazioni sink.

    Monitorare i 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 contano il numero di voci di log corrispondenti a un determinato filtro o registrano valori particolari all'interno delle voci di log corrispondenti. Per monitorare i 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 sono esclusi dall'importazione.

    Ti vengono 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 dei contatori. Per monitorare i log di Dataflow, nella sezione Selezione filtro, nella casella Crea filtro, inserisci il seguente testo:

    resource.type="dataflow_step"