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
- 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.
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.
- Proprietario (
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.
Nella console Google Cloud , vai alla pagina Router dei log:
Individua la riga con il sink
_Default
, espandi l'opzione Azioni e poi fai clic su Modifica sink.In Scegli i log da escludere dal sink, per Crea un filtro di esclusione, fai clic su
Aggiungi 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 termina con la stringadebug
. - La terza riga seleziona tutte le voci di log con gravità
DEFAULT
,DEBUG
,INFO
oNOTICE
.
Fai clic su Aggiorna sink.
Nella console Google Cloud , vai alla pagina Job di Dataflow.
Viene visualizzato un elenco di job Dataflow insieme al relativo stato.
Seleziona un lavoro.
Nella pagina Dettagli job, nel riquadro Log, fai clic su segmentMostra.
Verifica che non vengano visualizzati log nel riquadro Log job e che non vengano visualizzati log
DEFAULT
,DEBUG
,INFO
oNOTICE
nel riquadro Log worker.
Autorizzazioni
Prima di iniziare, assicurati di:
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
.
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:
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"