I filtri di esclusione ti consentono di controllare il volume dei log di Dataflow importati da Cloud Logging, mantenendo al contempo disponibile la registrazione dettagliata per il debug. Puoi usare l'esclusione filtri per escludere l'importazione di voci di log corrispondenti da Cloud Logging o dal 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 il numero di risorse Cloud Logging i costi sostenuti dall'importazione dei log di Dataflow. Per ulteriori informazioni sui prezzi di importazione dei log per Cloud Logging, consulta il riepilogo dei prezzi di Cloud Logging. Per ulteriori dettagli sul funzionamento dei filtri di esclusione e sui relativi limiti, consulta Filtri di esclusione nel documentazione di Cloud Logging.
I job Dataflow emettono più tipi di log. Questa pagina mostra come filtrare i log dei job e dei worker di Dataflow.
Crea filtri di esclusione dei log
Questo esempio crea un filtro di esclusione nel
_Default
sink Cloud Logging. La
il filtro esclude tutti i Dataflow con gravità DEFAULT
, DEBUG
, INFO
e NOTICE
di importare i log in Cloud Logging. I log di gravità WARNING
,
ERROR
, CRITICAL
, ALERT
e EMERGENCY
vengono comunque acquisiti. Per ulteriori informazioni
livelli di log supportati, consulta
LogSeverity.
Prima di iniziare
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Autorizzazioni
Quando inizi, assicurati di quanto segue:
Hai un progetto Google Cloud con log che puoi visualizzare in Esplora log.
Devi disporre di uno dei seguenti ruoli IAM per l'origine Progetto Google Cloud da cui stai eseguendo il routing dei log.
- Proprietario (
roles/owner
) - Amministratore di Log (
roles/logging.admin
) - Writer configurazione log (
roles/logging.configWriter
)
Le autorizzazioni contenute in questi ruoli ti consentono di creare, eliminare modificare i sink. Per informazioni sull'impostazione dei ruoli IAM, consulta la guida al controllo dell'accesso per la registrazione.
- Proprietario (
Hai una risorsa in una destinazione supportata o puoi crearne una.
Devi creare la destinazione di instradamento prima dell'obiettivo tramite Google Cloud CLI, la console Google Cloud o le API Google Cloud. Puoi creare la destinazione in qualsiasi progetto Google Cloud di qualsiasi organizzazione. Prima di creare la destinazione, assicurati che il servizio l'account del sink dispone delle autorizzazioni per scrivere 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 tutti i Dataflow
Voci di log con gravità DEFAULT
, DEBUG
, INFO
e NOTICE
dai job
che hanno un nome job Dataflow che non termina con la stringa debug
. Il filtro
esclude questi log dall'importazione nel bucket Default
Cloud Logging.
Nella console Google Cloud, vai alla pagina Router dei log:
Individua la riga con l'eseguitore
_Default
, espandi l'opzione Azioni e poi fai clic su Modifica destinazione.In Scegli i log da escludere dal sink, fai clic su
Aggiungi esclusione in Crea un filtro di esclusione.Inserisci un nome per il filtro di esclusione.
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 terminano con la stringadebug
. - La terza riga seleziona tutte le voci di log con la gravità
DEFAULT
,DEBUG
,INFO
oNOTICE
.
Fai clic su Aggiorna sink.
Testare il filtro di esclusione
Per verificare se il filtro funziona correttamente, esegui un esempio del job Dataflow e visualizzazione dei log.
Dopo l'avvio del job, completa i seguenti passaggi per visualizzare i log del job:
Nella console Google Cloud, vai alla pagina Job di Dataflow.
Viene visualizzato un elenco di job Dataflow insieme al relativo stato.
Seleziona un job.
Nella pagina Dettagli job, nel riquadro Log, fai clic su segmentMostra.
Verifica che nessun log sia presente nel riquadro Log dei job e che
DEFAULT
, I logDEBUG
,INFO
oNOTICE
vengono visualizzati nel riquadro Log dei worker.
Ignora 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 di Dataflow generati. Puoi
utilizzare questo bypass per eseguire di nuovo un job non riuscito e acquisire tutte le informazioni del log.
Il filtro creato in questo scenario conserva tutte le voci di log quando il campo job_name
termina con la stringa debug
. Quando vuoi ignorare il filtro di esclusione e visualizzare tutti i log per un job Dataflow, aggiungi debug
al nome del job. Ad esempio, per aggirare il filtro di esclusione, puoi utilizzare il nome del job dataflow-job-debug
.
Confronta i conteggi dei log
Se vuoi confrontare il volume dei log importati con e senza l'esclusione
esegui un job con debug
aggiunto al nome del job e uno senza. Utilizza la metrica basata su log definita dal sistema Byte 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
Facoltativamente, dopo aver creato il filtro di esclusione, puoi creare un altro Sink di Cloud Logging. Usa questo sink per reindirizzare l'insieme completo Dataflow accede a un destinazione esterna supportata, come BigQuery, Pub/Sub o Splunk.
In questo scenario, i log esterni non vengono archiviati in Esplora log, ma disponibili nella destinazione esterna. L'utilizzo di una destinazione esterna ti consente di avere un maggiore controllo sui costi sostenuti per l'archiviazione dei log in Esplora log.
Per la procedura dettagliata su come controllare il modo in cui Cloud Logging inoltra i 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, inserisci la seguente espressione di filtro nel campo Crea filtro di inclusione:
resource.type="dataflow_step"
Per trovare le voci di log che hai instradato da Cloud Logging a supportato delle destinazioni, 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 conteggiano il numero di voci di log corrispondenti a un determinato filtro o registrare determinati valori 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 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 Crea una metrica sui contatori. Per monitorare i log di Dataflow, nella sezione Selezione dei filtri, nella casella Crea filtro, inserisci il seguente testo:
resource.type="dataflow_step"