Recopila y visualiza métricas de DCGM


Para supervisar el uso, el rendimiento y el estado de la GPU, configura GKE para que envíe métricas del administrador de GPU del centro de datos de NVIDIA (DCGM) a Cloud Monitoring.

Cuando habilitas las métricas de DCGM, GKE instala la herramienta DCGM-Exporter, instala los controladores de GPU administrados por Google y, luego, implementa un recurso ClusterPodMonitoring para enviar métricas a Google Cloud Managed Service para Prometheus.

También puedes configurar un DCGM autoadministrado si deseas personalizar el conjunto de métricas de DCGM o si tienes un clúster que no cumple con los requisitos de las métricas de DCGM administradas.

¿Qué es el DCGM?

El administrador de GPU del centro de datos de NVIDIA (DCGM) es un conjunto de herramientas de NVIDIA que te permiten administrar y supervisar las GPUs de NVIDIA. El DCGM proporciona una vista integral del uso, el rendimiento y el estado de la GPU.

  • Las métricas de uso de GPU son una indicación de lo ocupada está la GPU supervisada y si se usa de manera eficaz para procesar tareas. Esto incluye métricas para el procesamiento principal, la memoria, las E/S y el uso de energía.
  • Las métricas de rendimiento de la GPU se refieren a la eficacia y eficiencia con las que una GPU puede realizar una tarea de procesamiento. Esto incluye métricas para la velocidad de reloj y la temperatura.
  • Las métricas de E/S de la GPU, como NVLink y PCIe, miden el ancho de banda de transferencia de datos.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta gcloud components update para obtener la versión más reciente.

Requisitos para las métricas del administrador de GPU del centro de datos de NVIDIA (DCGM)

Para recopilar métricas del administrador de GPU del centro de datos de NVIDIA (DCGM), tu clúster de GKE debe cumplir con los siguientes requisitos:

Configura la recopilación de métricas de DCGM

Puedes habilitar GKE para que recopile métricas de DCGM para un clúster existente con la consola de Google Cloud, gcloud CLI o Terraform.

Console

  1. Crea un grupo de nodos de GPU.

    Debes usar Predeterminado o Más reciente para la instalación del controlador de GPU.

  2. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  3. Haz clic en el nombre de tu clúster.

  4. Junto a Cloud Monitoring, haz clic en .

  5. Selecciona SYSTEM y DCGM.

  6. Haz clic en Guardar.

gcloud

  1. Crea un grupo de nodos de GPU.

    Debes usar default o latest para --gpu-driver-version.

  2. Actualiza tu clúster:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM,DCGM
    

    Reemplaza lo siguiente:

Terraform

Para configurar la colección de métricas de DCGM mediante Terraform, consulta el bloque monitoring_config en el registro de Terraform para google_container_cluster. Para obtener información general sobre el uso de Google Cloud con Terraform, consulta Terraform con Google Cloud.

Usa las métricas de DCGM

Puedes ver las métricas de DCGM con los paneles de la console de Google Cloud o directamente en las páginas de descripción general y detalles del clúster. Para obtener información, consulta Visualiza métricas de observabilidad.

Puedes ver las métricas con el panel de métricas de DCGM de Grafana. Para obtener más información, consulta Consulta con Grafana. Si encuentras algún error, consulta Compatibilidad de la API.

Precios

Las métricas de DCGM usan Google Cloud Managed Service para Prometheus para cargar métricas en Cloud Monitoring. Cloud Monitoring cobra por la transferencia de estas métricas según la cantidad de muestras transferidas. Sin embargo, estas métricas son sin costo para los clústeres registrados que pertenecen a un proyecto que tiene habilitada la edición GKE Enterprise.

Para obtener más información, consulta los Precios de Cloud Monitoring.

Cuota

Las métricas de DCGM consumen la cuota de solicitudes de transferencia de series temporales por minuto de la API de Cloud Monitoring. Antes de habilitar los paquetes de métricas, verifica tu uso máximo reciente de esa cuota. Si tienes muchos clústeres en el mismo proyecto o ya te acercaste al límite de esa cuota, puedes solicitar un aumento del límite de cuota antes de habilitar cualquiera de los paquetes de observabilidad.

Métricas de DCGM

Los nombres de las métricas de Cloud Monitoring en esta tabla deben tener el prefijo prometheus.googleapis.com/. Este prefijo se omitió en las entradas de la tabla.

Además de las etiquetas en el recurso supervisado prometheus_target, todas las métricas de DCGM recopiladas en GKE tienen las siguientes etiquetas adjuntas:

Etiquetas de GPU:

  • UUID: El UUID del dispositivo de la GPU
  • device: Es el nombre del dispositivo de GPU.
  • gpu: Es el número de índice como un número entero del dispositivo de GPU en el nodo. Por ejemplo, si hay 8 GPUs adjuntas, este valor puede variar de 0 a 7.
  • modelName: Es el nombre del modelo del dispositivo de GPU, como NVIDIA L4.

Etiquetas de Kubernetes:

  • container: Es el nombre del contenedor de Kubernetes que usa el dispositivo de GPU.
  • namespace: Es el espacio de nombres de Kubernetes del Pod y el contenedor que usa el dispositivo de GPU.
  • pod: Es el pod de Kubernetes que usa el dispositivo de GPU.
Nombre de la métrica de PromQL
Nombre de la métrica de Cloud Monitoring
Categoría, tipo, unidad
Recursos supervisados
Versión de GKE requerida
Descripción
DCGM_FI_DEV_FB_FREE
DCGM_FI_DEV_FB_FREE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es el búfer de tramas libre en MB.
DCGM_FI_DEV_FB_TOTAL
DCGM_FI_DEV_FB_TOTAL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es el búfer de trama total de la GPU en MB.
DCGM_FI_DEV_FB_USED
DCGM_FI_DEV_FB_USED/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es el búfer de tramas utilizado en MB.
DCGM_FI_DEV_GPU_TEMP
DCGM_FI_DEV_GPU_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Son las lecturas de temperatura actuales del dispositivo (en °C).
DCGM_FI_DEV_GPU_UTIL
DCGM_FI_DEV_GPU_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Uso de la GPU (en %).
DCGM_FI_DEV_MEM_COPY_UTIL
DCGM_FI_DEV_MEM_COPY_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Uso de memoria (en %)
DCGM_FI_DEV_MEMORY_TEMP
DCGM_FI_DEV_MEMORY_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la temperatura de la memoria del dispositivo (en °C).
DCGM_FI_DEV_POWER_USAGE
DCGM_FI_DEV_POWER_USAGE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es el uso de energía del dispositivo (en vatios).
DCGM_FI_DEV_SM_CLOCK
DCGM_FI_DEV_SM_CLOCK/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Frecuencia de reloj de SM (en MHz).
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION/counter

CUMULATIVEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es el consumo total de energía de la GPU en mJ desde la última vez que se volvió a cargar el controlador.
DCGM_FI_PROF_DRAM_ACTIVE
DCGM_FI_PROF_DRAM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la proporción de ciclos en los que la interfaz de memoria del dispositivo está activa enviando o recibiendo datos.
DCGM_FI_PROF_GR_ENGINE_ACTIVE
DCGM_FI_PROF_GR_ENGINE_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la proporción de tiempo que el motor de gráficos está activo.
DCGM_FI_PROF_NVLINK_RX_BYTES
DCGM_FI_PROF_NVLINK_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la tasa de datos de rx (lectura) activos de NvLink en bytes, incluidos el encabezado y la carga útil.
DCGM_FI_PROF_NVLINK_TX_BYTES
DCGM_FI_PROF_NVLINK_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la tasa de datos de Tx (transmisión) activos de NvLink en bytes, incluidos el encabezado y la carga útil.
DCGM_FI_PROF_PCIE_RX_BYTES
DCGM_FI_PROF_PCIE_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la tasa de datos de recepción (lectura) PCIe activos en bytes, incluidos el encabezado y la carga útil.
DCGM_FI_PROF_PCIE_TX_BYTES
DCGM_FI_PROF_PCIE_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la tasa de datos de transmisión (Tx) PCIe activos en bytes, incluidos el encabezado y la carga útil.
DCGM_FI_PROF_PIPE_FP16_ACTIVE
DCGM_FI_PROF_PIPE_FP16_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la proporción de ciclos en los que el canal de fp16 está activo.
DCGM_FI_PROF_PIPE_FP32_ACTIVE
DCGM_FI_PROF_PIPE_FP32_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la proporción de ciclos en los que el colector de FP32 está activo.
DCGM_FI_PROF_PIPE_FP64_ACTIVE
DCGM_FI_PROF_PIPE_FP64_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la proporción de ciclos en los que el canal de fp64 está activo.
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la proporción de ciclos en los que cualquier canalización de tensores está activa.
DCGM_FI_PROF_SM_ACTIVE
DCGM_FI_PROF_SM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Es la proporción de ciclos en los que un SM tiene al menos 1 warp asignado.

¿Qué sigue?