集群调度组件 NPU Exporter

English | 中文

快速参考


NPU Exporter

NPU Exporter 是 MindCluster 集群调度组件之一,部署在计算节点上,用于上报芯片的各项数据信息,支持 Prometheus 和 Telegraf 两种监控集成方式。

应用场景

在任务运行过程中,除芯片故障外,往往需要关注芯片的网络和算力使用情况,以便确认任务运行过程中的性能瓶颈,找到提升任务性能的方向。MindCluster 提供了部署在计算节点的 NPU Exporter 组件,用于上报芯片的各项数据信息。

组件功能

  • 从驱动中获取芯片、网络的各项数据信息。
  • 适配 Prometheus 钩子函数,提供标准的接口供 Prometheus 服务调用。
  • 适配 Telegraf 钩子函数,提供标准的接口供 Telegraf 服务调用。
  • 支持对昇腾 AI 处理器利用率、温度、电压、内存等数据信息的实时监测。
  • 支持对虚拟 NPU(vNPU)的 AI Core 利用率、vNPU 总内存和 vNPU 使用中内存进行监测。
  • 支持自定义指标开发,用户可参考提供的 demo 开发自定义指标插件。

组件上下游依赖

  1. 从驱动中获取芯片以及网络信息,并放入本地缓存。
  2. 从 K8s 标准化接口 CRI 中获取容器信息,并放入本地缓存。
  3. 实现 Prometheus 或者 Telegraf 的接口,供二者周期性获取缓存中的数据信息。

支持的 Tags 及 Dockerfile 链接

Tag 规范

Tag 遵循以下格式:

<版本>
字段 示例值 说明
版本 v26.1.0 NPU Exporter组件版本
操作系统 ubuntu22.04 NPU Exporter镜像操作系统

NPU Exporter 26.1.0

Tag Dockerfile 镜像内容
v26.1.0-ubuntu22.04 Dockerfile.ubuntu NPU Exporter组件v26.1.0版本操作系统为ubuntu22.04的镜像
v26.1.0-openeuler24.03 Dockerfile.openeuler NPU Exporter组件v26.1.0版本操作系统为openeuler24.03的镜像

快速开始

前置要求

软件依赖

软件名称 支持的版本 安装位置 说明
Kubernetes 1.17.x~1.34.x(推荐使用1.19.x及以上版本) 所有节点 了解 K8s 的使用请参见 Kubernetes 文档
Prometheus 建议使用最新稳定版本 监控节点 NPU Exporter 适配 Prometheus 钩子函数提供监控数据
昇腾AI处理器驱动和固件 请参见版本配套表 计算节点 请参见《CANN 软件安装指南》中的"安装NPU驱动和固件"章节

硬件规格要求

名称 要求
CPU 1核
内存 1GB

如何本地构建

docker build --no-cache -t npu-exporter:{tag} ./ -f Dockerfile.{os}

注意

  • TARGETPLATFORM 是 Docker BuildKit 提供的全局内置参数,用于获取当前构建的目标平台(如 linux/amd64、linux/arm64)。
  • 只有启用 BuildKit,才会自动注入这个变量。旧版 Docker / 默认关闭 BuildKit 的环境,构建时不存在这个变量,需要在运行构建指令前通过 export DOCKER_BUILDKIT=1 临时启用。

部署 NPU Exporter

  1. 拉取镜像
docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/npu-exporter:{tag}
  1. 修改镜像标签
docker tag swr.cn-south-1.myhuaweicloud.com/ascendhub/npu-exporter:{tag} npu-exporter:{tag}
  1. 启动 NPU Exporter

将 npu-exporter-{version}.yaml 文件中镜像的 {tag} 替换为实际标签。

kubectl apply -f npu-exporter-{version}.yaml
  1. 验证部署
kubectl get pods -A | grep npu-exporter
  1. 访问监控指标
curl http://<pod-ip>:8082/metrics

支持的硬件

支持的硬件

当前支持的昇腾硬件型号说明,请参考官方文档: 支持的产品形态和OS清单


许可证

查看这些镜像中包含的 Mind 系列软件的许可证信息

与所有容器镜像一样,预装软件包(Python、系统库等)可能受其自身许可证约束。