Nvidia NVML

Supported OS Linux Windows Mac OS

Versión de la integración1.0.9

Información general

Este check monitoriza las métricas expuestas de NVIDIA Management Library (NVML) a través del Datadog Agent y puede correlacionarlas con los dispositivos expuestos de Kubernetes.

Configuración

El check de NVML no está incluido en el paquete del Datadog Agent, por lo que es necesario instalarlo.

Instalación

Para el Agent v7.21+ / v6.21+, sigue las instrucciones siguientes para instalar el check de NVML en tu host. Consulta Usar integraciones de la comunidad para realizar la instalación con el Docker Agent o versiones anteriores del Agent.

  1. Ejecuta el siguiente comando para instalar la integración del Agent:

    Para Linux:

    datadog-agent integration install -t datadog-nvml==<INTEGRATION_VERSION>
    # You may also need to install dependencies since those aren't packaged into the wheel
    sudo -u dd-agent -H /opt/datadog-agent/embedded/bin/pip3 install grpcio pynvml
    

    Para Windows (con Powershell ejecutado como administrador):

    & "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" integration install -t datadog-nvml==<INTEGRATION_VERSION>
    # You may also need to install dependencies since those aren't packaged into the wheel
    & "$env:ProgramFiles\Datadog\Datadog Agent\embedded3\python" -m pip install grpcio pynvml
    
  2. Configura tu integración de forma similar a las integraciones centrales.

Si utilizas Docker, hay un Dockerfile de ejemplo en el repositorio de NVML.

docker build -t dd-agent-nvml .

Si utilizas Docker y Kubernetes, deberás exponer las variables de entorno NVIDIA_VISIBLE_DEVICES y NVIDIA_DRIVER_CAPABILITIES. Consulta el archivo Docker incluido para ver un ejemplo.

Para correlacionar los dispositivos NVIDIA reservados de Kubernetes con el pod de Kubernetes que utiliza el dispositivo, monta el socket de dominio Unix /var/lib/kubelet/pod-resources/kubelet.sock en tu configuración del Agent. Encontrarás más información sobre este socket en el sitio web de Kubernetes. Nota: Este dispositivo está en soporte beta para la versión 1.15.

Configuración

  1. Edita el archivo nvml.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para comenzar a recopilar tus datos de rendimiento de NVML. Consulta el nvml.d/conf.yaml de ejemplo para conocer todas las opciones de configuración disponibles.

  2. Reinicia el Agent.

Validación

Ejecuta el subcomando de estado del Agent y busca nvml en la sección Checks.

Datos recopilados

Métricas

nvml.device_count
(gauge)
Número de GPU en esta instancia.
nvml.gpu_utilization
(gauge)
Porcentaje de tiempo durante el último periodo de muestreo en el que uno o más kernels se ejecutaron en la GPU.
Se muestra como porcentaje
nvml.mem_copy_utilization
(gauge)
Porcentaje de tiempo durante el último periodo de muestreo en el que la memoria global (dispositivo) se estaba leyendo o escribiendo.
Se muestra como porcentaje
nvml.fb_free
(gauge)
Memoria FB no asignada.
Se muestra como byte
nvml.fb_used
(gauge)
Memoria FB asignada.
Se muestra como byte
nvml.fb_total
(gauge)
Memoria FB total instalada.
Se muestra como byte
nvml.power_usage
(gauge)
Consumo de energía de esta GPU en milivatios y sus circuitos asociados (por ejemplo, la memoria).
nvml.total_energy_consumption
(count)
Consumo total de energía de esta GPU en milijulios (mJ) desde la última recarga del controlador.
nvml.enc_utilization
(gauge)
Utilización actual del codificador
Se muestra en porcentaje
nvml.dec_utilization
(gauge)
La utilización actual del decodificador
Se muestra en porcentaje.
nvml.pcie_tx_throughput
(gauge)
Utilización de PCIe TX
Se muestra como kibibyte
nvml.pcie_rx_throughput
(gauge)
Utilización de PCIe RX
Se muestra como kibibyte
nvml.temperature
(gauge)
Temperatura actual de esta GPU en grados centígrados
nvml.fan_speed
(gauge)
Utilización actual del ventilador
Se muestra en porcentaje
nvml.compute_running_process
(gauge)
El uso actual de la memoria gpu por el proceso
Se muestra como byte

Eventos

NVML no incluye eventos.

Checks de servicio

Consulta service_checks.json para obtener una lista de los checks de servicio proporcionados por esta integración.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.