Utilizza Cloud Monitoring per le pipeline Dataflow

Cloud Monitoring offre funzionalità avanzate di logging e diagnostica. L'integrazione di Dataflow con Monitoring consente di accedere alle metriche dei job Dataflow come lo stato dei job, il conteggio degli elementi, il ritardo di sistema (per i job di elaborazione in modalità flusso) e i contatori degli utenti dalle dashboard di Monitoring. Puoi utilizzare gli avvisi di Monitoring per informarti di varie condizioni, come un lungo ritardo di sistema in modalità flusso o job non riusciti.

Prima di iniziare

Segui la guida rapida di Java, la guida rapida di Python o la guida rapida di Go per configurare il tuo progetto Dataflow. Quindi, crea ed esegui la pipeline.

Per visualizzare i log in Metrics Explorer, l'account di servizio 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 delle pipeline: Counter, Distribution e Gauge.

  • Dataflow segnala le metriche Counter e Distribution a Monitoring.
  • Distribution è indicato 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 vengono esportate come tipo di dati double.
  • Per semplicità, tutte le metriche personalizzate di Dataflow vengono esportate 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 dataflow.googleapis.com/job/user_counter con le etichette metric_name: metric-name e ptransform: 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 Dataflow. Queste metriche sono pubblicate come custom.googleapis.com/dataflow/metric-name.

Le metriche personalizzate segnalate a Monitoring comportano degli addebiti in base ai prezzi di Cloud Monitoring.

Utilizza Metrics Explorer

Utilizza Monitoring per esplorare le metriche 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 Creare grafici con Metrics Explorer.

  1. Nella console Google Cloud, seleziona Monitoring:

    Vai a Monitoring

  2. Nel riquadro di navigazione, seleziona Metrics Explorer.

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

  4. Nell'elenco visualizzato, seleziona una metrica da osservare per uno dei tuoi job.

Durante l'esecuzione dei job Dataflow, è consigliabile monitorare le metriche per origini e sink. Ad esempio, potresti voler monitorare le metriche dell'API BigQuery Storage. Per ulteriori informazioni, consulta Creare dashboard, grafici e avvisi e l'elenco completo delle metriche di BigQuery Data Transfer Service.

crea criteri di avviso e dashboard

Monitoring consente di accedere alle metriche relative a Dataflow. Crea dashboard per tracciare le serie temporali delle metriche e creare criteri di avviso che ti informino quando le metriche raggiungono i valori specificati.

crea gruppi di risorse

Per semplificare l'impostazione degli avvisi e la creazione di dashboard, crea gruppi di risorse che includano 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.

Crea criteri di avviso per le metriche Dataflow

Monitoring consente di creare avvisi e ricevere notifiche quando una metrica supera una soglia specificata. Ad esempio, puoi ricevere una notifica quando il ritardo di 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 le condizioni di avviso e i canali di notifica.
    Ad esempio, per impostare un avviso sul ritardo di sistema per il gruppo di pipeline Apache Beam WindowedWordCount, segui questi passaggi:

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

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

Crea dashboard di monitoraggio personalizzate

Puoi creare dashboard di Monitoring con i grafici relativi 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 e una metrica.

Puoi aggiungere alla dashboard tutti i grafici che vuoi.

Ricevi le metriche delle VM worker dall'agente Monitoring

Con Monitoring puoi monitorare le metriche relative a disco permanente, CPU, rete e processi. Quando esegui la pipeline, abilita l'agente Monitoring dalle istanze VM worker Dataflow. Consulta l'elenco delle metriche disponibili dell'agente Monitoring.

Per abilitare l'agente Monitoring, utilizza l'opzione --experiments=enable_stackdriver_agent_metrics quando esegui la pipeline. L'account di servizio worker deve avere il ruolo roles/monitoring.metricWriter.

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

Archiviazione e conservazione

Le informazioni sui job Dataflow completati o annullati vengono archiviate per 30 giorni.

I log operativi sono archiviati nel bucket di log _Default. Il nome del servizio API di logging è dataflow.googleapis.com. Per saperne di più sui tipi di risorse e sui servizi monitorati di Google Cloud utilizzati in Cloud Logging, consulta Risorse e servizi monitorati.

Per maggiori dettagli sul periodo di tempo in cui le voci di log vengono conservate da 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ù, ti consigliamo di esplorare queste altre risorse: