DCGM-Exporter¶
DCGM-Exporter
是基于 NVIDIA DCGM (Data Center GPU Manager) 的Go API开发的工具,允许用户采集GPU metrics以及了解工作负载或者监控集群中的GPU。 dcgm-exporter
采用Go语言开发,并且在一个HTTP endpoint( /metrics
)输出GPU指标,用于 Prometheus监控 等监控解决方案。
dcgm-exporter
运行在Kubernetes集群的GPU节点上作为daemonset来运行,也可以直接使用 Docker Atlas 容器化运行。
备注
运行 dcgm-exporter
¶
当 dcgm-exporter
容器作为 Docker Atlas 的独立运行容器时, dcgm-exporter
作为一个嵌入进程启动 nv-hostengine
然后开始发布 metrics:
容器化运行
dcgm-exporter
:
DCGM_EXPORTER_VERSION=2.1.4-2.3.1 && \
docker run -d --rm \
--gpus all \
--net host \
--cap-add SYS_ADMIN \
nvcr.io/nvidia/k8s/dcgm-exporter:${DCGM_EXPORTER_VERSION}-ubuntu20.04 \
-f /etc/dcgm-exporter/dcp-metrics-included.csv
此时可以通过以下命令获取 metrics:
curl localhost:9400/metrics
此时就可以观察到GPU节点的 metrics 数据
备注
NVIDIA GPU Telemetry 官方文档提供了多种安装场景,详情请参考原文。本文只实践常规场景以及用于我个人的 私有云架构
实际上,通常我们采用 dcgm-exporter
都是在大规模Kubernetes集群,此时我们会采用 NVIDIA GPU Operator 在Kuternetes集成GPU可观测能力