Usa Cloud Monitoring para las canalizaciones de Dataflow

Cloud Monitoring proporciona registros y diagnósticos eficaces. La integración de Dataflow con Monitoring te permite acceder a métricas de trabajo de Dataflow, como estado del trabajo, cantidad de elementos, retraso del sistema (para trabajos de transmisión) y contadores de usuarios, desde los paneles de Monitoring. También puedes usar alertas de Monitoring para recibir notificaciones sobre varias condiciones, como un retraso prolongado del sistema de transmisión o trabajos fallidos.

Antes de comenzar

Consulta las guías de inicio rápido de Java, Python o Go para configurar el proyecto de Dataflow. Luego, construye y ejecuta tu canalización.

Para ver los registros en el Explorador de métricas, la cuenta de servicio del trabajador debe tener el rol roles/monitoring.metricWriter.

Métricas personalizadas

Dataflow informará a Monitoring sobre cualquier métrica definida en una canalización de Apache Beam como una métrica personalizada. Apache Beam tiene tres tipos de métricas de canalización: Counter, Distribution y Gauge.

  • Dataflow informa las métricas Counter y Distribution a Monitoring.
  • Distribution se informa como cuatro submétricas que llevan los sufijos _MAX, _MIN, _MEAN y _COUNT.
  • Dataflow no admite la creación de un histograma a partir de métricas de Distribution.
  • Dataflow informa actualizaciones incrementales a Monitoring cada 30 segundos, aproximadamente.
  • Para evitar conflictos, todas las métricas personalizadas de Dataflow se exportan como un tipo de datos double.
  • Para simplificar, todas las métricas personalizadas de Dataflow se exportan como un tipo de métrica GAUGE. Puedes supervisar el delta durante un período para una métrica GAUGE, como se muestra en el siguiente ejemplo de lenguaje de consultas de Monitoring:

     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)]
    
  • Las métricas personalizadas de Dataflow aparecen en Monitoring como dataflow.googleapis.com/job/user_counter con las etiquetas metric_name: metric-name y ptransform: ptransform-name.

  • Para la retrocompatibilidad, Dataflow también informa métricas personalizadas a Monitoring como custom.googleapis.com/dataflow/metric-name.

  • Las métricas personalizadas de Dataflow están sujetas a la limitación de cardinalidad en Monitoring.

  • Cada proyecto tiene un límite de 100 métricas personalizadas de Dataflow. Estas métricas se publican como custom.googleapis.com/dataflow/metric-name.

Las métricas personalizadas que se informan a Monitoring generan cargos según los precios de Cloud Monitoring.

Usa el Explorador de métricas

Usa Monitoring para explorar las métricas de Dataflow. Sigue los pasos de esta sección y observa las métricas estándar que se proporcionan para cada una de tus canalizaciones de Apache Beam. Para obtener más información sobre el uso del Explorador de métricas, consulta Crea gráficos con el Explorador de métricas.

  1. En la consola de Google Cloud, selecciona Monitoring:

    Ir a Monitoring

  2. En el panel de navegación, selecciona el Explorador de métricas.

  3. En el panel Selecciona una métrica, ingresa Dataflow Job en el filtro.

  4. En la lista que aparece, selecciona una métrica para observar en uno de tus trabajos.

Cuando ejecutas trabajos de Dataflow, es posible que también desees supervisar las métricas de tus fuentes y receptores. Por ejemplo, es posible que desees supervisar las métricas de la API de BigQuery Storage. Para obtener más información, consulta Cómo crear paneles, gráficos y alertas y la lista completa de métricas del Servicio de transferencia de datos de BigQuery.

Crea paneles y políticas de alertas

Monitoring proporciona acceso a las métricas relacionadas con Dataflow. Crea paneles para graficar las series temporales de métricas y crea políticas de alertas que te notifiquen cuando las métricas alcancen valores específicos.

Crea grupos de recursos

Para facilitar la configuración de alertas y la compilación de paneles, crea grupos de recursos que incluyan varias canalizaciones de Apache Beam.

  1. En la consola de Google Cloud, selecciona Monitoring:

    Ir a Monitoring

  2. En el panel de navegación, selecciona Grupos.

  3. Haz clic en Crear grupo.

  4. Ingresa un nombre para tu grupo.

  5. Agrega criterios de filtro para definir los recursos de Dataflow incluidos en el grupo. Por ejemplo, un criterio de filtro puede ser el prefijo del nombre de tus canalizaciones. Creación de un grupo.

  6. Una vez que se cree el grupo, puedes ver las métricas básicas relacionadas con los recursos de ese grupo.

Crea políticas de alertas para las métricas de Dataflow

Monitoring te permite crear alertas y recibir notificaciones cuando una métrica supera un límite específico. Por ejemplo, puedes recibir una notificación cuando el retraso del sistema de una canalización de transmisión aumenta por encima de un valor predefinido.

  1. En la consola de Google Cloud, selecciona Monitoring:

    Ir a Monitoring

  2. En el panel de navegación, selecciona Alertas.

  3. Haz clic en Crear política.

  4. En la página Crea una política de alertas nueva, define las condiciones de alerta y los canales de notificación.
    Por ejemplo, para configurar una alerta en relación con el retraso del sistema para el grupo de canalización de Apache Beam WindowedWordCount, sigue estos pasos:

    1. Haz clic en Selecciona una métrica.
    2. En el campo Seleccionar una métrica, ingresa Dataflow Job.
    3. En Categorías de métricas, selecciona Trabajo.
    4. En Métricas, seleccione Retraso del sistema.

    Cada vez que se activa una alerta, se crea un incidente y su correspondiente evento. Si se especificó un mecanismo de notificación en la alerta (como correo electrónico o SMS), también se recibe una notificación.

Compila paneles personalizados de supervisión

Puedes crear paneles de Monitoring con los gráficos más relevantes relacionados con Dataflow. Para agregar un gráfico a tu panel, sigue estos pasos:

  1. En la consola de Google Cloud, selecciona Monitoring:

    Ir a Monitoring

  2. En el panel de navegación, selecciona Paneles.

  3. Haz clic en Crear panel de control.

  4. Haz clic en Agregar widget.

  5. En la ventana Agregar widget, en Datos, selecciona Métrica.

  6. En el panel Selecciona una métrica, para Métrica, ingresar Dataflow Job.

  7. Selecciona una categoría de métrica y una métrica.

Puedes agregar tantos gráficos al panel como quieras.

Recibe métricas de las VM de trabajador desde el agente de Monitoring

Puedes usar Monitoring para supervisar el disco persistente, la CPU, la red y las métricas de procesos. Cuando ejecutes la canalización, desde las instancias de VM de trabajador de Dataflow, habilita el agente de Monitoring. Consulta la lista de métricas del agente de Monitoring disponibles.

Para habilitar el agente de Monitoring, usa la opción --experiments=enable_stackdriver_agent_metrics cuando ejecutes tu canalización. La cuenta de servicio del trabajador debe tener el rol roles/monitoring.metricWriter.

Para inhabilitar el agente de Monitoring sin detener tu canalización, lanza un trabajo de reemplazo sin el parámetro --experiments=enable_stackdriver_agent_metrics para actualizarla.

Almacenamiento y retención

La información sobre los trabajos de Dataflow completados o cancelados se almacena durante 30 días.

Los registros operativos se almacenan en el bucket de registros _Default. El nombre del servicio de la API de Logging es dataflow.googleapis.com. Para obtener más información sobre los tipos de recursos y servicios supervisados de Google Cloud que se usan en Cloud Logging, consulta Recursos y servicios supervisados.

Para obtener detalles sobre cuánto tiempo Logging retiene las entradas de registro, consulta la información sobre retención en Cuotas y límites: períodos de retención de registros.

Para obtener información sobre cómo ver los registros operativos, consulta Supervisa y visualiza los registros de canalización.

¿Qué sigue?

Para obtener más información, puedes explorar estos recursos: