昇腾 NPU 硬件监控
昇腾 NPU 指标由 MindCluster NPU Exporter 提供。每个需要监控的 NPU 节点都要运行一个 NPU Exporter。
第 1~3 节在需要监控的 NPU 节点上执行;第 4 节在运行 RL-Insight Server 的机器上执行。
1. 检查现有 NPU 服务
先检查是为了复用机器上已有的 NPU Exporter,避免重复安装和端口冲突:
npu-smi info
command -v npu-exporter
pgrep -af npu-exporter
curl --noproxy '*' -fsS http://<NODE_IP>:8082/metrics | head
npu-smi info 必须能正常显示 NPU,Exporter 才能通过驱动采集指标。按检查结果继续:
/metrics能正常返回:Exporter 已可用,跳过安装和启动,直接到第 4 节“在 RL-Insight Server 机器注册 NPU 监控端口”。找到二进制,但
/metrics无法访问:跳过安装,到第 3 节“启动并验证 NPU Exporter”。先确认实际端口没有被其他进程占用。没有找到二进制:继续执行第 2 节。
2. 安装 NPU Exporter
以下脚本按昇腾 MindCluster 26.0.0 二进制布局安装。下载和解压使用当前用户,需要写系统目录的命令使用 sudo:
(
set -euo pipefail
VERSION=26.0.0
ARCH="$(uname -m)"
case "${ARCH}" in
aarch64|x86_64) ;;
*) echo "Unsupported architecture: ${ARCH}"; exit 1 ;;
esac
PACKAGE="Ascend-mindxdl-npu-exporter_${VERSION}_linux-${ARCH}.zip"
WORK_DIR="$(mktemp -d)"
trap 'rm -rf "${WORK_DIR}"' EXIT
curl -fL \
"https://gitcode.com/Ascend/mind-cluster/releases/download/v${VERSION}/${PACKAGE}" \
-o "${WORK_DIR}/${PACKAGE}"
unzip -q "${WORK_DIR}/${PACKAGE}" -d "${WORK_DIR}/package"
sudo install -m 0500 "${WORK_DIR}/package/npu-exporter" /usr/local/bin/npu-exporter
sudo install -m 0400 "${WORK_DIR}/package/metricConfiguration.json" /usr/local/metricConfiguration.json
sudo install -m 0400 "${WORK_DIR}/package/pluginConfiguration.json" /usr/local/pluginConfiguration.json
sudo install -d -m 0750 /var/log/mindx-dl/npu-exporter
)
直接运行二进制不需要 systemd service 文件。非 root 安装和版本差异请参考昇腾官方安装文档。
3. 启动并验证 NPU Exporter
<NODE_IP> 就是当前安装 NPU Exporter 这台机器的本机 IP。替换后直接启动二进制:
注意: 以下命令要求当前用户已经具有有效的
sudo凭据,或者在 root shell 中执行。nohup启动后无法交互式输入sudo密码。
nohup sudo env \
LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/common \
GOGC=50 GOMAXPROCS=2 GODEBUG=madvdontneed=1 \
/usr/local/bin/npu-exporter \
-ip=<NODE_IP> \
-port=8082 \
-updateTime=5 \
-logFile=/var/log/mindx-dl/npu-exporter/npu-exporter.log &
/usr/local/Ascend/driver 是昇腾驱动的安装目录。NPU Exporter 通过 LD_LIBRARY_PATH 从该目录加载 libdcmi.so 等驱动库;如果驱动安装在其他目录,请将命令中的路径替换为实际驱动路径。
nohup 让进程在后台运行,Exporter 日志写入 -logFile 指定的文件。进程退出后采集会停止,生产环境建议交给 Docker、Supervisor 或其他进程管理器。
在当前 NPU 节点验证:
curl --noproxy '*' -fsS http://<NODE_IP>:8082/metrics | head
4. 在 RL-Insight Server 机器注册 NPU 监控端口
以下操作都在运行 RL-Insight Server 的机器上执行。创建 npu_targets.yaml:
jobs:
- job_name: npu-exporter
targets:
- target: "<NODE_01_IP>:8082"
labels:
node: node-01
- target: "<NODE_02_IP>:8082"
labels:
node: node-02
确认当前机器的 RL-Insight Server 已启动;服务已经运行时无需重复启动:
rl-insight server start --detach
rl-insight server targets add npu_targets.yaml
targets add 只注册 target 并 reload Prometheus,不管理 NPU Exporter 的生命周期。注册成功后,在 RL-Insight Grafana 看板中查看 NPU 利用率、显存、功耗、温度和网络吞吐等指标。
