Monitorizar el autoescalado de Dataflow

Puedes ver gráficos de monitorización del autoescalado de tareas de streaming en la interfaz de monitorización de Dataflow. Estos gráficos muestran métricas durante la duración de un trabajo de una canalización e incluyen la siguiente información:

  • Número de instancias de trabajador que usa tu tarea en cualquier momento
  • Los archivos de registro del autoescalado
  • El backlog estimado a lo largo del tiempo
  • El uso medio de la CPU a lo largo del tiempo.

Los gráficos están alineados verticalmente para que pueda relacionar las métricas de la cartera de pedidos y de uso de la CPU con los eventos de escalado de los trabajadores.

Para obtener más información sobre cómo toma Dataflow las decisiones de autoescalado, consulta la documentación sobre las funciones de ajuste automático. Para obtener más información sobre la monitorización y las métricas de Dataflow, consulta el artículo sobre cómo usar la interfaz de monitorización de Dataflow.

Acceder a los gráficos de monitorización del autoescalado

Puedes acceder a la interfaz de monitorización de Dataflow mediante laGoogle Cloud console. Para acceder a la pestaña Escalado automático, sigue estos pasos:

  1. Inicia sesión en la consola. Google Cloud
  2. Selecciona tu proyecto de Google Cloud .
  3. Abre el menú de navegación.
  4. En Analytics, haga clic en Dataflow. Aparecerá una lista de tareas de Dataflow junto con su estado.
  5. Haz clic en el trabajo que quieras monitorizar y, a continuación, en la pestaña Escalado automático.

Monitorizar métricas de autoescalado

El servicio Dataflow elige automáticamente el número de instancias de trabajador necesarias para ejecutar tu tarea de autoescalado. El número de instancias de trabajador puede cambiar con el tiempo en función de los requisitos del trabajo.

Puede ver las métricas de autoescalado en la pestaña Auto escalado de la interfaz de Dataflow. Cada métrica se organiza en los siguientes gráficos:

La barra de acciones de autoescalado muestra el estado actual del autoescalado y el número de trabajadores.

Autoescalado

El gráfico Autoescalado muestra un gráfico de serie temporal del número actual de trabajadores, el número de trabajadores objetivo y el número mínimo y máximo de trabajadores.

Una visualización de datos que muestra el número de trabajadores de una canalización.

Para ver los registros de autoescalado, haz clic en Mostrar registros de autoescalado.

Para ver el historial de cambios del escalado automático, haga clic en Más historial. Se muestra una tabla con información sobre el historial de trabajadores de tu canalización. El historial incluye eventos de autoescalado, como si el número de trabajadores ha alcanzado el mínimo o el máximo.

Tabla que muestra el historial de trabajadores de una canalización.

Motivo del autoescalado (solo Streaming Engine)

El gráfico Motivo del autoescalado muestra por qué el autoescalador ha aumentado o reducido la escala, o no ha tomado ninguna medida, durante un periodo determinado.

Una visualización de datos que muestra los motivos del autoescalado.

Para ver una descripción de la lógica en un punto específico, mantén el cursor sobre el gráfico.

Visualización de datos que muestra descripciones de los motivos del autoescalado.

En la siguiente tabla se enumeran las acciones de escalado y los posibles motivos de escalado.

Acción de escalado Causa Descripción
Sin cambios en el escalado Recogiendo más datos para tomar una decisión El escalador automático no tiene suficientes señales para aumentar o reducir la escala. Por ejemplo, el estado del grupo de trabajadores ha cambiado recientemente o las métricas de la cartera de pedidos o de utilización están fluctuando.
No hay cambios en el escalado, las señales son estables Se ha alcanzado un límite no relacionado con los recursos El escalado está limitado por factores como el paralelismo de las claves o el número mínimo y máximo de trabajadores configurado.
Poca acumulación de trabajo y alto uso de los trabajadores El autoescalado de la canalización ha convergido en un valor estable teniendo en cuenta el tráfico y la configuración actuales. No es necesario cambiar la escala.
Escalar verticalmente Backlog alto Aumentar la capacidad para reducir el trabajo pendiente.
Uso elevado de los trabajadores Escala verticalmente para alcanzar el uso de CPU objetivo.
Alcanzar un límite no relacionado con los recursos Se ha actualizado el número mínimo de trabajadores y el número actual de trabajadores es inferior al mínimo configurado.
Escalado horizontal Bajo uso de los trabajadores Reducción para alcanzar el uso de CPU objetivo.
Alcanzar un límite no relacionado con los recursos Se ha actualizado el número máximo de trabajadores y el número actual de trabajadores supera el máximo configurado.

Uso de CPU de los trabajadores

El uso de la CPU es la cantidad de CPU utilizada dividida por la cantidad de CPU disponible para el procesamiento. El gráfico Uso medio de la CPU muestra el uso medio de la CPU de todos los trabajadores a lo largo del tiempo, la sugerencia de uso de los trabajadores y si Dataflow ha usado activamente la sugerencia como objetivo.

Una visualización de datos que muestra el uso medio de CPU de todos los trabajadores de Dataflow.

Backlog (solo en Streaming Engine)

El gráfico Retraso máximo proporciona información sobre los elementos que están esperando a procesarse. El gráfico muestra una estimación del tiempo en segundos necesario para consumir el trabajo pendiente actual si no llegan datos nuevos y el rendimiento no cambia. El tiempo de trabajo pendiente estimado se calcula a partir del rendimiento y los bytes de trabajo pendiente de la fuente de entrada que aún deben procesarse. La función de escalado automático de streaming usa esta métrica para determinar cuándo aumentar o reducir la escala.

Los datos de este gráfico solo están disponibles para las tareas que usan Streaming Engine. Si tu trabajo de streaming no usa Streaming Engine, el gráfico estará vacío.

Una visualización de datos que muestra el gráfico de latencia máxima en una
pipeline de streaming.

Recomendaciones

A continuación, se indican algunos comportamientos que puede observar en su canalización y recomendaciones sobre cómo ajustar el escalado automático:

  • Reducción excesiva de la escala. Si la utilización de CPU objetivo es demasiado alta, es posible que observes un patrón en el que Dataflow reduce la escala, el trabajo pendiente empieza a aumentar y Dataflow vuelve a aumentar la escala para compensarlo, en lugar de converger en un número estable de trabajadores. Para mitigar este problema, prueba a definir un valor más bajo para la sugerencia de utilización de los elementos de trabajo. Observa el uso de la CPU en el punto en el que empieza a aumentar el trabajo pendiente y asigna ese valor a la sugerencia de uso.

  • El aumento de resolución es demasiado lento. Si el aumento de escala es demasiado lento, puede que se quede atrás en los picos de tráfico, lo que provocará periodos de mayor latencia. Prueba a reducir la sugerencia de utilización de trabajadores para que Dataflow escale más rápido. Observa la utilización de la CPU en el punto en el que la acumulación empieza a aumentar y asigna ese valor a la sugerencia de utilización. Monitoriza tanto la latencia como el coste, ya que un valor de sugerencia más bajo puede aumentar el coste total de la canalización si se aprovisionan más trabajadores.

  • Sobreescalado excesivo. Si observas un aumento excesivo de la resolución que provoca un incremento de los costes, considera la posibilidad de aumentar la sugerencia de utilización de los workers. Monitoriza la latencia para asegurarte de que se mantiene dentro de los límites aceptables en tu caso práctico.

Para obtener más información, consulta Definir la sugerencia de utilización de los workers. Cuando experimentes con un nuevo valor de sugerencia de utilización de trabajadores, espera unos minutos a que la canalización se estabilice después de cada ajuste.

Siguientes pasos