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 utilizzare i filtri di esclusione per impedire l'importazione delle voci di log corrispondenti da parte di Cloud Logging o il loro instradamento 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 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 sulle relative 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 dei worker di Dataflow.
Creare filtri di esclusione dei log
Questo esempio crea un filtro di esclusione nel
_Default
sink Cloud Logging. Il
filtro esclude l'importazione in Cloud Logging di tutti i log Dataflow
con gravità DEFAULT
, DEBUG
, INFO
e NOTICE
. I log di gravità WARNING
,
ERROR
, CRITICAL
, ALERT
e EMERGENCY
vengono comunque acquisiti. Per ulteriori informazioni sui 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 il progetto Google Cloud di origine da cui stai inoltrando i log.
- Proprietario (
roles/owner
) - Amministratore di Log (
roles/logging.admin
) - Logs Configuration Writer (
roles/logging.configWriter
)
Le autorizzazioni contenute in questi ruoli ti consentono di creare, eliminare o modificare i canali. 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 l'account di servizio del sink disponga 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 tutte le voci del log 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 Default
Cloud Logging.
Nella console Google Cloud, vai alla pagina Logs Router:
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 cassette:
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 stringadebug
. - La terza riga seleziona tutte le voci di log con gravità
DEFAULT
,DEBUG
,INFO
oNOTICE
.
Fai clic su Aggiorna destinazione.
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 relativi log:
Nella console Google Cloud, vai alla pagina Job di Dataflow.
Viene visualizzato un elenco di job Dataflow con il relativo stato.
Seleziona un job.
Nella pagina Dettagli job, fai clic su segmentMostra nel riquadro Log.
Verifica che non vengano visualizzati log nel riquadro Log job e che non vengano visualizzati log
DEFAULT
,DEBUG
,INFO
oNOTICE
nel riquadro Log del worker.
Ignorare 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 di Dataflow generati. Puoi
utilizzare questo bypass per eseguire di nuovo 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
. 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 bypassare 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 importati 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 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 Metrics Explorer.
Creare una destinazione esterna
Se vuoi, dopo aver creato il filtro di esclusione, puoi creare un altro flusso di Cloud Logging. Utilizza questo sink per reindirizzare l'insieme 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 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 routing dei log da parte di Cloud Logging, 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 instradate da Cloud Logging alle 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 conteggiano il numero di voci di log corrispondenti a un determinato filtro o registrano valori specifici 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 addebitate 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 dei filtri, nella casella Crea filtro, inserisci il seguente testo:
resource.type="dataflow_step"