Visualización de métricas de proceso

En este artículo se explica cómo usar la herramienta nativa de métricas de proceso en la interfaz de usuario de Azure Databricks para recopilar métricas clave de hardware y Spark. Cualquier proceso que use Databricks Runtime 13.3 LTS y versiones posteriores tiene acceso a estas métricas de forma predeterminada.

Las métricas están disponibles casi en tiempo real con un retraso normal de menos de un minuto. Las métricas se almacenan en el almacenamiento administrado por Azure Databricks, no en el almacenamiento del cliente.

¿Cuáles son estas nuevas métricas diferentes de Ganglia?

La nueva interfaz de usuario de métricas de proceso tiene una vista más completa del uso de recursos del clúster, incluido el consumo de Spark y los procesos internos de Databricks. Por el contrario, la interfaz de usuario de Ganglia solo mide el consumo de contenedores de Spark. Esta diferencia podría dar lugar a discrepancias en los valores de métrica entre las dos interfaces.

Acceso a la interfaz de usuario de métricas de proceso

Para ver la interfaz de usuario de métricas de proceso:

  1. Haga clic en Proceso en la barra lateral.
  2. Haga clic en el recurso de proceso para el que desea ver las métricas.
  3. Haga clic en la pestaña Métricas.

Métricas del clúster para las últimas 24 horas

Las métricas de hardware se muestran de forma predeterminada. Para ver las métricas de Spark, haga clic en la lista desplegable Hardware y seleccione Spark. También puede seleccionar GPU si la instancia está habilitada para GPU.

Filtrar métricas por período de tiempo

Puede ver las métricas históricas seleccionando un intervalo de tiempo mediante el filtro de selección de fecha. Las métricas se recopilan cada minuto, por lo que puede filtrar por cualquier intervalo de día, hora o minuto de los últimos 30 días. Haga clic en el icono de calendario para seleccionar entre intervalos de datos predefinidos o haga clic dentro del cuadro de texto para definir valores personalizados.

Nota:

Los intervalos de tiempo que se muestran en los gráficos se ajustan en función del período de tiempo que esté viendo. La mayoría de las métricas son promedios en función del intervalo de tiempo que está viendo actualmente.

También puede obtener las últimas métricas haciendo clic en el botón Actualizar.

Visualización de métricas en el nivel de nodo

Para ver las métricas de los nodos individuales, haga clic en la menú desplegable Proceso y seleccione el nodo para el que desee ver las métricas. Las métricas de GPU solo están disponibles en el nivel de nodo individual. Las métricas de Spark no están disponibles para nodos individuales.

Nota:

Si no selecciona un nodo específico, el resultado se promediará en todos los nodos de un clúster (incluido el controlador).

Gráficos de métricas de hardware

Los siguientes gráficos de métricas de GPU están disponibles para verlos en la interfaz de usuario de métricas de proceso:

  • Distribución de carga del servidor: en este gráfico se muestra el uso de la CPU durante el último minuto para cada nodo.
  • Uso de CPU: el porcentaje de tiempo que la CPU ha invertido en cada modo, en función del costo total de segundos de CPU. La métrica se calcula como promedio en función del intervalo de tiempo que se muestre en el gráfico. A continuación se muestran los modos de seguimiento:
    • guest: si ejecuta máquinas virtuales, la CPU que usan esas máquinas virtuales
    • iowait: tiempo dedicado a esperar la E/S
    • idle: tiempo que la CPU no ha tenido nada que hacer
    • irq: tiempo invertido en solicitudes de interrupción
    • nice: tiempo utilizado por los procesos que tienen una gentileza positiva, es decir, una prioridad menor que otras tareas
    • softirq: tiempo invertido en solicitudes de interrupción de software
    • steal: si es una máquina virtual, tiempo que otras máquinas virtuales "roban" de las CPU
    • system: tiempo invertido en el kernel
    • user: tiempo invertido en el espacio de usuario
  • Uso de memoria: el uso total de la memoria por cada modo, medido en bytes y promediado en función del intervalo de tiempo que se muestre en el gráfico. Se realiza el seguimiento de los siguientes tipos de uso:
    • used: memoria usada (incluyendo la memoria usada por los procesos en segundo plano que se ejecutan en un proceso)
    • free: memoria sin usar
    • buffer: memoria usada por búferes de kernel
    • cached: memoria usada por la caché del sistema de archivos en el nivel de sistema operativo
  • Uso del intercambio de memoria: el uso total del intercambio de memoria por cada modo, medido en bytes y promediado según el intervalo de tiempo que se muestre en el gráfico.
  • Espacio libre del sistema de archivos: el uso total del sistema de archivos por cada punto de montaje, medido en bytes y promediado en función del intervalo de tiempo que se muestre en el gráfico.
  • Recibido a través de la red: el número de bytes recibidos a través de la red por cada dispositivo, promediado según el intervalo de tiempo que se muestre en el gráfico.
  • Transmitido a través de la red: el número de bytes transmitidos a través de la red por cada dispositivo, promediado según el intervalo de tiempo que se muestre en el gráfico.
  • Número de nodos activos: muestra el número de nodos activos en cada marca de tiempo del proceso especificado.

Gráficos de métricas de Spark

Los siguientes gráficos de métricas de Spark están disponibles para verlos en la interfaz de usuario de métricas de proceso:

  • Distribución de carga del servidor: en este gráfico se muestra el uso de la CPU durante el último minuto para cada nodo.
  • Tareas activas: el número total de tareas que se ejecutan en un momento dado, promediado según el intervalo de tiempo que se muestre en el gráfico.
  • Total de tareas con error: el número total de tareas que han producido errores en los ejecutores, se promedia el promedio en función del intervalo de tiempo que se muestre en el gráfico.
  • Total de tareas completadas: el número total de tareas que se han completado en ejecutores, se promedian según el intervalo de tiempo que se muestre en el gráfico.
  • Número total de tareas: el número total de todas las tareas (en ejecución, con errores y completadas) en ejecutores, se promedia el promedio en función del intervalo de tiempo que se muestre en el gráfico.
  • Lectura aleatoria total: tamaño total de los datos de lectura aleatoria, medidos en bytes y promedio de salida en función del intervalo de tiempo que se muestre en el gráfico. Shuffle read significa la suma de datos de lectura serializados en todos los ejecutores al principio de una fase.
  • Escritura aleatoria total: el tamaño total de los datos de escritura aleatoria, medidos en bytes y agotados en función del intervalo de tiempo que se muestre en el gráfico. Shuffle Write es la suma de todos los datos serializados escritos en todos los ejecutores antes de transmitirlos (normalmente al final de una fase).
  • Duración total de la tarea: tiempo total transcurrido que la JVM ha dedicado a ejecutar tareas en ejecutores, medida en segundos y promedio de salida en función del intervalo de tiempo que se muestre en el gráfico.

Gráficos de métricas de GPU

Los siguientes gráficos de métricas de GPU están disponibles para verlos en la interfaz de usuario de métricas de proceso:

  • Distribución de carga del servidor: en este gráfico se muestra el uso de la CPU durante el último minuto para cada nodo.
  • Uso del descodificador por GPU: porcentaje del uso del descodificador de GPU, promediado según el intervalo de tiempo que se muestre en el gráfico.
  • Uso del codificador por GPU: porcentaje del uso del codificador de GPU, promediado según el intervalo de tiempo que se muestre en el gráfico.
  • Bytes de uso de memoria del búfer de fotogramas por GPU: el uso de la memoria del búfer de fotogramas, medido en bytes y el promedio en función del intervalo de tiempo que se muestre en el gráfico.
  • Uso de memoria por GPU: porcentaje de uso de memoria de GPU, promediado según el intervalo de tiempo que se muestre en el gráfico.
  • Uso por GPU: porcentaje de uso de GPU, promediado según el intervalo de tiempo que se muestre en el gráfico.

Solución de problemas

Si ve métricas incompletas o que faltan durante un período, podría ser uno de los siguientes problemas:

  • Una interrupción en el servicio Databricks responsable de consultar y almacenar métricas.
  • Problemas de red en el lado del cliente.
  • El proceso está o estaba en un estado incorrecto.