Présentation
Ce check permet de surveiller les métriques exposées par la bibliothèque NVIDIA Management Library (NVML) avec l’Agent Datadog, puis de les mettre en corrélation avec les appareils Kubernetes exposés.
Configuration
Le check NVML n’est pas inclus avec le package de l’Agent Datadog : vous devez donc l’installer.
Installation
Pour l’Agent v7.21+/6.21+, suivez les instructions ci-dessous afin d’installer le check NVML sur votre host. Consultez la section Utiliser les intégrations de la communauté pour effectuer une installation avec l’Agent Docker ou avec des versions antérieures de l’Agent.
Exécutez la commande suivante pour installer l’intégration de l’Agent :
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
Configurez votre intégration comme une intégration de base.
Si vous utilisez Docker, il existe un exemple de Dockerfile dans le référentiel NVML.
docker build --build-arg=DD_AGENT_VERSION=7.18.0 .
Si vous utilisez Docker et Kubernetes, vous devez exposer les variables d’environnement NVIDIA_VISIBLE_DEVICES
et NVIDIA_DRIVER_CAPABILITIES
. Consultez le Dockerfile inclus pour obtenir un exemple.
Pour mettre en corrélation des appareils Nvidia Kubernetes réservés avec le pod Kubernetes utilisant l’appareil, montez le socket de domaine Unix /var/lib/kubelet/pod-resources/kubelet.sock
sur la configuration de votre Agent. De plus amples informations sur ce socket sont disponibles sur le site Web de Kubernetes (en anglais). Remarque : la prise en charge de cet appareil est en bêta dans la version 1.15.
Configuration
Modifiez le fichier nvml.d/conf.yaml
dans le dossier conf.d/
à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos données de performance NVML. Consultez le fichier d’exemple nvml.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
Redémarrez l’Agent.
Validation
Lancez la sous-commande status de l’Agent et cherchez nvml
dans la section Checks.
Données collectées
Métriques
nvml.device_count (gauge) | Number of GPU on this instance. |
nvml.gpu_utilization (gauge) | Percent of time over the past sample period during which one or more kernels was executing on the GPU. Shown as percent |
nvml.mem_copy_utilization (gauge) | Percent of time over the past sample period during which global (device) memory was being read or written. Shown as percent |
nvml.fb_free (gauge) | Unallocated FB memory. Shown as byte |
nvml.fb_used (gauge) | Allocated FB memory. Shown as byte |
nvml.fb_total (gauge) | Total installed FB memory. Shown as byte |
nvml.power_usage (gauge) | Power usage for this GPU in milliwatts and its associated circuitry (e.g. memory) |
nvml.total_energy_consumption (count) | Total energy consumption for this GPU in millijoules (mJ) since the driver was last reloaded |
nvml.enc_utilization (gauge) | The current utilization for the Encoder Shown as percent |
nvml.dec_utilization (gauge) | The current utilization for the Decoder Shown as percent |
nvml.pcie_tx_throughput (gauge) | PCIe TX utilization Shown as kibibyte |
nvml.pcie_rx_throughput (gauge) | PCIe RX utilization Shown as kibibyte |
nvml.temperature (gauge) | Current temperature for this GPU in degrees celsius |
nvml.fan_speed (gauge) | The current utilization for the fan Shown as percent |
nvml.compute_running_process (gauge) | The current usage of gpu memory by process Shown as byte |
La documentation de référence relative aux métriques se trouve sur le
site Web de Nvidia (en anglais).
Lorsque cela est possible, les noms de métriques sont mis en correspondance avec l’exportateur Data Center GPU Manager (DCGM) de Nvidia.
Événements
NVML n’inclut aucun événement.
Checks de service
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.