首页
/ 【亲测免费】 DCGM-Exporter 技术文档

【亲测免费】 DCGM-Exporter 技术文档

2026-01-25 04:51:35作者:秋泉律Samson

DCGM-Exporter 是一个专为 Prometheus 设计的 GPU 指标导出器,利用 NVIDIA 的 DCGM(Data Center GPU Manager)来采集并报告 GPU 性能指标。本技术文档将引导您完成从安装到使用的全过程,以及如何配置高级功能。

安装指南

简易部署(非 Kubernetes)

对于快速测试或简单环境,可以直接通过 Docker 运行:

docker run -d --gpus all --rm -p 9400:9400 nvcr.io/nvidia/k8s/dcgm-exporter:3.3.6-3.4.2-ubuntu22.04

随后,可以通过访问 localhost:9400/metrics 来查看 GPU 指标数据。

Kubernetes 部署

推荐使用 NVIDIA GPU Operator 集成 DCGM-Exporter,首先确保集群已配置 NVIDIA 容器运行时:

kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v1.0.0-beta5/nvidia-device-plugin.yml

然后添加 DCGM-Exporter 的 Helm 库,并安装图表:

helm repo add gpu-helm-charts https://nvidia.github.io/dcgm-exporter/helm-charts
helm repo update
helm install --generate-name gpu-helm-charts/dcgm-exporter

使用 kubectl 查看服务状态并使用端口转发获取指标:

kubectl port-forward svc/<your-exporter-service-name> 8080:9400
curl localhost:8080/metrics

注意:上述命令中的 <your-exporter-service-name> 需要替换为实际的服务名。

使用说明

一旦部署完成,您可以通过 Prometheus 配置来拉取这些 GPU 指标,用于监控和报警。

API 使用文档

DCGM-Exporter 提供了一个 RESTful API,默认监听在 9400 端口上。通过访问 /metrics 路径可获得当前的 GPU 统计数据,以 Prometheus 的指标格式返回。

示例响应:

# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (MHz)
# TYPE DCGM_FI_DEV_SM_CLOCK gauge
DCGM_FI_DEV_SM_CLOCK{gpu="0", UUID="GPU-id..."} 1390

每个指标帮助信息描述了其含义,类型及对应的值。

项目安装方式

从源代码构建

如果您想要编译自己的二进制文件,需要 Golang 环境(建议 version >= 1.21)和 NVIDIA DCGM 的安装。以下步骤展示了如何从源码构建 DCGM-Exporter:

  1. 克隆仓库到本地:

    git clone https://github.com/NVIDIA/dcgm-exporter.git
    cd dcgm-exporter
    
  2. 构建并安装:

    make binary
    sudo make install
    

之后,直接运行 dcgm-exporter 命令即可启动服务。

高级特性

  • TLS 和基本认证: 利用 exporter-toolkit 支持,需提供 --web-config-file 参数指向配置文件。
  • HPC 作业映射: 可通过特定目录配置文件,将 GPU 到 HPC 作业的关系映射到标签。
  • 自定义指标收集: 修改或指定新的 CSV 文件来控制采集的 DCGM 字段。

请参阅 NVIDIA 的官方文档和项目 README 了解更多详细配置和定制选项。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
514
3.69 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
873
538
pytorchpytorch
Ascend Extension for PyTorch
Python
317
360
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
334
153
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.31 K
732
flutter_flutterflutter_flutter
暂无简介
Dart
757
182
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
67
20
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.05 K
519