🖥️ 基础环境

组件 规格/版本
操作系统 UOS V25 服务器操作系统
服务器型号 浪潮 AI 服务器 (NF5468m6)
AI 加速卡 沐曦C500
驱动版本 metax-driver-3.7.2.30-rpm-x86_64.run
SDK版本 maca-sdk-3.7.2.0-rpm-x86_64.tar.xz
Docker 版本 v24.0.9

📦 驱动和SDK安装

请参考:UOS V2500 沐曦驱动安装手册

下载安装包

export安装部署

1.安装部署

# 安装MXMACA SDK之后,在 /opt/maca/wheel 目录下找到Python 3 的wheel包:**mx_exporter_*.whl**。

# 进入到目录
cd /opt/maca/wheel 
# 安装whl
pip install mx_exporter-2.2.6-py3-none-any.whl

2.使用方法

mx-exporter 参数说明(wheel包安装)

参数 描述
-p PORT, --port PORT 主机需要开放的HTTP端口号。若不指定,默认为8000
-i INTERVAL,

--interval INTERVAL
mx-exporter持续收集指标的间隔时间,单位ms。若不指定,默认为10000ms
-c CONFIG_FILE,

--config-file CONFIG_FILE
若不指定,默认配置文件为 /opt/maca/etc/default-counters.csv

若自定义配置文件,需基于默认配置文件,参考 3.2 修改配置文件
-h, --help 显示帮助信息

执行以下命令启动mx-exporter,监听端口为8002,收集指标间隔为5s:

sudo mx-exporter -p 8002 -i 5000

3. 查看mx-exporter抓取数据

在浏览器输入 http://<host_ip>:<host_port>/metrics 或执行 curl http://<host_ip>:<host_port>/metrics,其中 <host_port> 是主机需要开放的HTTP端口号,可用 -p 指定。
例如:http://10.10.13.111:8002/metrics

在这里插入图片描述

Prometheus 配置与容器化部署

1. 配置文件编写(prometheus.yml)

prometheus监控vLLM服务配置文件

# 全局配置项,适用于所有 job
global:
  # 设置 Prometheus 抓取目标指标的时间间隔
  scrape_interval: 15s      # 每 15 秒抓取一次数据(默认是 1 分钟)

  # 设置评估告警规则的时间间隔
  evaluation_interval: 15s  # 每 15 秒检查一次告警规则(默认是 1 分钟)

  # 设置每次抓取目标的最大超时时间
  scrape_timeout: 10s       # 默认也是 10 秒

# 抓取目标配置
scrape_configs:
  # 第一个 job:监控 vllm 推理服务
  - job_name: 'vllm-monitoring'  # job 名称
    static_configs:
      - targets:
          - '10.10.13.111:8000'  # vllm 服务的地址和端口

  # 第二个 job:GPU 监控(使用 nvitop-exporter)
  - job_name: 'gpu-monitoring'  # job 名称,用于标识 GPU 指标来源
    static_configs:
      - targets:
          - '10.10.13.111:8002'  # mx-exporter 默认监听在 8002 端口

prometheus监控SGLang服务配置文件

# 全局配置项,适用于所有 job
global:
  # 设置 Prometheus 抓取目标指标的时间间隔
  scrape_interval: 15s      # 每 15 秒抓取一次数据(默认是 1 分钟)

  # 设置评估告警规则的时间间隔
  evaluation_interval: 15s  # 每 15 秒检查一次告警规则(默认是 1 分钟)

  # 设置每次抓取目标的最大超时时间
  scrape_timeout: 10s       # 默认也是 10 秒

# 抓取目标配置
scrape_configs:
  # 第一个 job:监控 vllm 推理服务
  - job_name: 'sglang-monitoring'  # job 名称
    static_configs:
      - targets:
          - '10.10.75.30:30000'  # sglang 服务的地址和端口

  # 第二个 job:GPU 监控(使用 nvitop-exporter)
  - job_name: 'gpu-monitoring'  # job 名称,用于标识 GPU 指标来源
    static_configs:
      - targets:
          - '10.10.13.111:8002'  # mx-exporter 默认监听在 5050 端口
  1. 容器化部署
    使用 镜像部署 Prometheus,挂载配置文件与数据存储目录,确保服务重启后数据不丢失:
# 创建prometheus文件夹
mkdir /root/xyh/prometheus
# 在prometheus文件夹创建prometheus.yml文件
cd /root/xyh/prometheus
touch prometheus.yml
# 创建数据目录
mkdir data

# 为Prometheus文件夹分配权限
chmod -R 777 /root/xyh/prometheus

# 启动容器prometheus服务
docker run -d --name prometheus \
  -p 9090:9090 \
  -v /data/prometheus/data:/prometheus \
  -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
registry.uniontech.com/uos-app/uos-server-20-prometheus:2.32.1

访问地址:http://<服务器IP>:9090,可在 Status > Targets 中查看指标采集状态。

Grafana 配置与仪表盘导入

容器化部署
使用镜像快速启动 Grafana 服务,默认端口为 3000,首次登录默认账号密码为 admin/admin

docker run -d --name grafana -p 3000:3000 registry.uniontech.com/uos-ai/grafana:v13.0.1

创建数据源
登录 Grafana,进入 connection > Data Sources
选择prometheus,输入prometheus访问地址:http://<ip地址>:9090
点击save & test 保存配置并测试prometheus API是否可用。

导入 nvitop 定制仪表盘
可以直接使用上传的 metax-mxc500-physical.json 文件。
导入步骤:
登录 Grafana,;
选择 Prometheus 作为数据源,完成仪表盘加载。
在这里插入图片描述

选择本地metax-mxc500-physical.json 文件导入
在这里插入图片描述
在这里插入图片描述

同理,对于 vLLM 相关的监控,可使用 vllm-dashboard.json 文件,导入方式同上。

同理,对于 SGLang 相关的监控,可使用 sglang-dashboard.json 文件,导入方式同上。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐