首页
/ 【亲测免费】 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 了解更多详细配置和定制选项。

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