Usa Cloud Monitoring per le pipeline Dataflow

Cloud Monitoring offre funzionalità avanzate di logging e diagnostica. Dataflow l'integrazione con Monitoring consente di accedere a Dataflow metriche dei job come stato del job, conteggi di elementi, ritardo di sistema (per job di flussi di dati), e i contatori degli utenti dalle dashboard di Monitoring. Puoi anche utilizzare Monitoraggio degli avvisi per informarti di vari ad esempio un lungo ritardo di sistema di flusso o job non riusciti.

Prima di iniziare

Segui la guida rapida di Java. guida rapida di Python, oppure Goditi la guida rapida per configurare il tuo progetto Dataflow. Poi, costruire ed eseguire la pipeline.

Per visualizzare i log in Metrics Explorer, account di servizio worker deve avere il ruolo roles/monitoring.metricWriter.

Metriche personalizzate

Qualsiasi metrica definita nella pipeline Apache Beam viene riportata da Da Dataflow a Monitoring come metrica personalizzata. Apache Beam tre tipi di metriche della pipeline: Counter, Distribution e Gauge.

  • Dataflow segnala le metriche Counter e Distribution a Monitoring.
  • Distribution viene riportato come quattro metriche secondarie con suffisso _MAX, _MIN, _MEAN e _COUNT.
  • Dataflow non supporta la creazione di un istogramma dalle metriche Distribution.
  • Dataflow segnala aggiornamenti incrementali a Monitoring ogni 30 secondi circa.
  • Per evitare conflitti, tutte le metriche personalizzate di Dataflow esportato come tipo di dati double.
  • Per semplicità, tutte le metriche personalizzate di Dataflow esportato come un tipo di metrica GAUGE. Puoi monitorare il delta in una finestra temporale per una metrica GAUGE, come mostrato nel seguente Esempio di Monitoring Query Language:

     fetch dataflow_job
     | metric 'dataflow.googleapis.com/job/user_counter'
     | filter (metric.job_id == '[JobID]')
     | delta 1m
     | group_by 1m, [value_user_counter_mean: mean(value.user_counter)]
     | every 1m
     | group_by [metric.ptransform, metric.metric_name],
       [value_user_counter_mean_aggregate: aggregate(value_user_counter_mean)]
    
  • Le metriche personalizzate di Dataflow vengono visualizzate in Monitoring come segue: dataflow.googleapis.com/job/user_counter con le etichette metric_name: metric-name e ptransform: ptransform-name.

  • Per garantire la compatibilità con le versioni precedenti, Dataflow segnala anche metriche personalizzate a Monitoring come custom.googleapis.com/dataflow/metric-name.

  • Le metriche personalizzate di Dataflow sono soggette alla limitazione della 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 alla Prezzi di Cloud Monitoring.

Utilizza Esplora metriche

Utilizza Monitoraggio per esplorare le metriche di Dataflow. Segui i passaggi in questa sezione per osservare le metriche standard fornite per ciascuna delle tue pipeline Apache Beam. Per ulteriori informazioni sull'utilizzo di Metrics Explorer, consulta Crea grafici con Esplora metriche.

  1. Nella console Google Cloud, seleziona Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione, seleziona Esplora metriche.

  3. Nel riquadro Seleziona una metrica, inserisci Dataflow Job nel filtro.

  4. Nell'elenco visualizzato, seleziona una metrica da osservare per uno dei seguenti elementi: per i tuoi lavori.

Quando esegui job Dataflow, potresti anche voler monitorare le metriche per le tue origini e i tuoi sink. Ad esempio, potresti voler monitorare le metriche dell'API BigQuery Storage. Per ulteriori informazioni, vedi Creare dashboard, grafici e avvisi e l'elenco completo delle metriche di BigQuery Data Transfer Service.

Crea criteri e dashboard di avviso

Monitoring fornisce accesso alle metriche relative a Dataflow. Crea dashboard per tracciare l'ora serie di metriche e creare criteri di avviso che ti avvisano quando e metriche raggiungono valori specifici.

Creare gruppi di risorse

Crea gruppi di risorse per semplificare l'impostazione degli avvisi e la creazione di dashboard che includono più pipeline Apache Beam.

  1. Nella console Google Cloud, seleziona Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione, seleziona Gruppi.

  3. Fai clic su Crea gruppo.

  4. Inserisci un nome per il gruppo.

  5. Aggiungi 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. Crea gruppo.

  6. Dopo aver creato il gruppo, puoi visualizzare le metriche di base relative alle risorse del gruppo.

Creare criteri di avviso per le metriche di Dataflow

Monitoring consente di creare avvisi e ricevere notifiche quando la metrica supera una soglia specificata. Ad esempio, puoi ricevere una notifica quando il sistema di una pipeline in modalità flusso aumenta al di sopra di un valore predefinito.

  1. Nella console Google Cloud, seleziona Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione, seleziona Avvisi.

  3. Fai clic su Crea criterio.

  4. Nella pagina Crea nuovo criterio di avviso, definisci la configurazione condizioni e canali di notifica.
    Ad esempio, per impostare un avviso sul ritardo di sistema per WindowedWordCount Gruppo di pipeline Apache Beam, completa i seguenti passaggi:

    1. Fai clic su Seleziona una metrica.
    2. Nel campo Seleziona una metrica, inserisci Dataflow Job.
    3. Per Categorie di metriche, seleziona Job.
    4. Per Metriche, seleziona Ritardo sistema.

    Ogni volta che viene attivato un avviso, si verifica un incidente vengono creati. Se nell'avviso hai specificato un meccanismo di notifica, ad esempio email o SMS, riceverai anche una notifica.

Crea dashboard di monitoraggio personalizzate

Puoi creare dashboard di monitoraggio con i grafici correlati a Dataflow più pertinenti. Per aggiungere un grafico a una dashboard:

  1. Nella console Google Cloud, seleziona Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione, seleziona Dashboard.

  3. Fai clic su Crea dashboard.

  4. Fai clic su Aggiungi widget.

  5. Nella finestra Aggiungi widget, per Dati, seleziona Metrica.

  6. Nel riquadro Seleziona una metrica, per Metrica, inserisci Dataflow Job.

  7. Seleziona una categoria di metrica e una metrica.

Puoi aggiungere alla dashboard tutti i grafici che vuoi.

Ricevi metriche delle VM worker dall'agente Monitoring

Puoi usare Monitoring per monitorare disco permanente, CPU di rete e di processo. Quando esegui la pipeline, dalle tue istanze VM worker Dataflow, Agente di monitoraggio. Consulta l'elenco di metriche dell'agente Monitoring disponibili.

Per abilitare l'agente Monitoring, utilizza --experiments=enable_stackdriver_agent_metrics durante l'esecuzione della pipeline. L'account di servizio di lavoro deve avere il ruolo roles/monitoring.metricWriter.

Per disabilitare l'agente Monitoring senza arrestare la pipeline, aggiorna la pipeline avvio di un job di sostituzione senza il parametro --experiments=enable_stackdriver_agent_metrics.

Archiviazione e conservazione

Informazioni sui job Dataflow completati o annullati vengono conservati per 30 giorni.

I log operativi vengono archiviati nel _Default bucket di log. Il nome del servizio API di logging è dataflow.googleapis.com. Per ulteriori informazioni i tipi di risorse e i servizi monitorati da Google Cloud utilizzati in Cloud Logging, consulta Risorse e servizi monitorati.

Per maggiori dettagli su per quanto tempo le voci di log vengono conservate da Logging: vedere le informazioni sulla conservazione 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ù, ti consigliamo di consultare queste altre risorse: