Cloud Monitoring offre funzionalità avanzate di logging e diagnostica. L'integrazione di Dataflow con Monitoring ti consente di accedere alle metriche dei job Dataflow, come stato del job, conteggi degli elementi, ritardo del sistema (per i job di streaming) e contatori utente dalle dashboard di Monitoring. Puoi anche utilizzare gli avvisi di Monitoring per ricevere notifiche su varie condizioni, come un lungo ritardo del sistema di streaming o job non riusciti.
Prima di iniziare
Segui il tutorial di Java, tutorial di Python o tutorial di Go per configurare il progetto Dataflow. Dopodiché, crea ed esegui la pipeline.
Per visualizzare i log in Metrics Explorer, il
service account del worker
deve avere il ruolo roles/monitoring.metricWriter.
Metriche personalizzate
Qualsiasi metrica definita nella pipeline Apache Beam viene segnalata da Dataflow a Monitoring come metrica personalizzata.
Apache Beam ha
tre tipi di metriche della pipeline:
Counter, Distribution, e Gauge.
- Dataflow segnala le metriche
CountereDistributiona Monitoring. Distributionviene segnalata come quattro sottometriche con i suffissi_MAX,_MIN,_MEANe_COUNT.- Dataflow non supporta la creazione di un istogramma dalle metriche
Distribution. - Dataflow segnala aggiornamenti incrementali a Monitoring approssimativamente ogni 30 secondi.
- Per evitare conflitti, tutte le metriche personalizzate di Dataflow vengono esportate come tipo di dati
double. Per semplicità, tutte le metriche personalizzate di Dataflow vengono esportate come un
GAUGEtipo di metrica. Puoi monitorare il delta in una finestra temporale per unaGAUGEmetrica, come mostrato nel seguente Prometheus Query Language (PromQL) esempio:sum by (ptransform, metric_name) ( delta({ "__name__"="dataflow.googleapis.com/job/user_counter", "monitored_resource"="dataflow_job", "job_id"="[JobID]" }[${__interval}]) )Le metriche personalizzate di Dataflow vengono visualizzate in Monitoring come
dataflow.googleapis.com/job/user_countercon le etichettemetric_name: metric-nameeptransform: ptransform-name.Per la compatibilità con le versioni precedenti, Dataflow segnala anche le metriche personalizzate a Monitoring come
custom.googleapis.com/dataflow/metric-name.Le metriche personalizzate di Dataflow sono soggette alla limitazione di cardinalità in Monitoring.
Ogni progetto ha un limite di 100 metriche personalizzate di Dataflow. Queste metriche vengono pubblicate come
custom.googleapis.com/dataflow/metric-name.
Le metriche personalizzate segnalate a Monitoring comportano addebiti in base ai prezzi di Cloud Monitoring.
Utilizzare Esplora metriche
Utilizza Monitoring per esplorare le metriche di Dataflow. Segui i passaggi descritti in questa sezione per osservare le metriche standard fornite per ciascuna delle pipeline Apache Beam. Per saperne di più sull'utilizzo di Metrics Explorer, consulta Crea grafici con Esplora metriche.
Nella Google Cloud console, seleziona Monitoraggio:
Nel riquadro di navigazione, seleziona Esplora metriche.
Nel riquadro Seleziona una metrica, inserisci
Dataflow Jobnel filtro.Seleziona una metrica da osservare per uno dei tuoi job dall'elenco visualizzato.
Quando esegui i job Dataflow, potresti anche voler monitorare le metriche per le origini e i sink. Ad esempio, potresti voler monitorare le metriche dell'API BigQuery Storage. Per saperne di più, consulta Crea dashboard, grafici e avvisi e l'elenco completo delle metriche di BigQuery Data Transfer Service.
Creare policy di avviso e dashboard
Monitoring fornisce l'accesso alle metriche correlate a Dataflow. Crea dashboard per rappresentare graficamente le serie temporali delle metriche e crea policy di avviso che ti inviino una notifica quando le metriche raggiungono valori specificati.
Per i job di streaming, puoi anche utilizzare gli avvisi chiavi in mano per attivare automaticamente le policy di avviso preconfigurate all'avvio del job.
Creare gruppi di risorse
Per semplificare l'impostazione degli avvisi e la creazione delle dashboard, crea gruppi di risorse che includano più pipeline Apache Beam.
Nella Google Cloud console, seleziona Monitoraggio:
Nel riquadro di navigazione, seleziona Gruppi.
Fai clic su Crea gruppo.
Inserisci un nome per il gruppo.
Aggiungi i criteri di filtro che definiscono le risorse Dataflow incluse nel gruppo. Ad esempio, uno dei criteri di filtro può essere il prefisso del nome delle pipeline.

Dopo aver creato il gruppo, puoi visualizzare le metriche di base relative alle risorse del gruppo.
Creare policy di avviso per le metriche di Dataflow
Monitoring ti consente di creare avvisi e ricevere notifiche quando una metrica supera una soglia specificata. Ad esempio, puoi ricevere una notifica quando il ritardo del sistema di una pipeline di streaming supera un valore predefinito.
Nella Google Cloud console, seleziona Monitoraggio:
Nel riquadro di navigazione, seleziona Avvisi.
Fai clic su Crea policy.
Nella pagina Crea nuova policy di avviso, definisci le condizioni di avviso e i canali di notifica.
Ad esempio, per impostare un avviso sul ritardo del sistema per il gruppo di pipeline Apache BeamWindowedWordCount, completa i seguenti passaggi:- Fai clic su Seleziona una metrica.
- Nel campo Seleziona una metrica, inserisci
Dataflow Job. - Per Categorie metriche, seleziona Job.
- Per Metriche, seleziona Ritardo sistema.
Ogni volta che viene attivato un avviso, vengono creati un incidente e un evento corrispondente. Se nell'avviso hai specificato un meccanismo di notifica, ad esempio email o SMS, riceverai anche una notifica.
Creare dashboard di monitoraggio personalizzate
Puoi creare dashboard di Monitoring con i grafici correlati a Dataflow più pertinenti. Per aggiungere un grafico a una dashboard:
Nella Google Cloud console, seleziona Monitoraggio:
Nel riquadro di navigazione, seleziona Dashboard.
Fai clic su Crea dashboard.
Fai clic su Aggiungi widget.
Nella finestra Aggiungi widget , seleziona Metrica per Dati.
Nel riquadro Seleziona una metrica , inserisci
Dataflow Jobper Metrica.Seleziona una categoria di metriche e una metrica.
Puoi aggiungere tutti i grafici che vuoi alla dashboard.
Ricevere le metriche delle VM worker dall'agente Monitoring
Puoi utilizzare Monitoring per monitorare le metriche di disco permanente, CPU, rete e processi. Quando esegui la pipeline, attiva l' agente Monitoring dalle istanze VM worker di Dataflow. Consulta l'elenco delle metriche dell'agente Monitoring disponibili.
Per attivare l'agente Monitoring, utilizza l'opzione --experiments=enable_stackdriver_agent_metrics quando esegui la pipeline. Il
service account del worker
deve avere il ruolo roles/monitoring.metricWriter.
Per disattivare l'agente Monitoring senza arrestare la pipeline,
aggiornala
avviando un job di sostituzione
senza il --experiments=enable_stackdriver_agent_metrics parametro.
Archiviazione e conservazione
Le informazioni sui job Dataflow completati o annullati vengono archiviate per 30 giorni.
I log operativi vengono archiviati nel
_Default bucket di log.
Il nome del servizio API Logging è dataflow.googleapis.com. Per saperne di più sui
tipi di Google Cloud risorse monitorate e sui servizi utilizzati in Cloud Logging,
consulta Risorse e servizi monitorati.
Per informazioni dettagliate sul periodo di conservazione delle voci di log da parte di Logging, consulta le informazioni sulla conservazione in Quote e limiti: periodi di conservazione dei log.
Per informazioni sulla visualizzazione dei log operativi, consulta Monitorare e visualizzare i log della pipeline.
Passaggi successivi
Per saperne di più, valuta la possibilità di esplorare queste altre risorse: