支持自定义监控指标采集
概述
百舸对接百度智能云 Prometheus 监控服务(CProm),通过自定义端口的方式支持分布式训练自定义指标的采集。用户只需在代码中暴露相关指标,并且在创建任务时显式声明指标的端口以及路径,平台可自动将该路径下的指标数据采集到资源池关联的 CProm,后续用户可在 Grafana 配置监控大盘查询。
前提条件
- 分布式训练任务所在的资源池已经关联 CProm。
- 已准备可用于提交分布式训练任务的资源池和资源队列。
- 用户需要在代码中主动暴露指标,实现一个 HTTP 接口,该接口返回符合 Prometheus 文本格式 的指标数据。
操作步骤
创建任务并开启 Metrics 类型端口
- 登录 百舸AI计算平台AIHC控制台
- 进入 分布式训练 页面,点击 创建任务 按钮
- 在 环境信息 模块,添加Metrics 类型的端口,用户需要填写指标的暴露的端口以及路径
说明:开启Metrics类型的端口后,平台会将该路径下的指标数据采集到资源池关联的 Cprom监控实例。请注意:此类数据指标属于付费指标,计费规则请参考: Cprom 计费概述
步骤 3:提交训练任务
完成任务名称、镜像地址、执行命令、资源配置、队列等必填项后,点击 【确定】 提交训练任务。如果队列无可选资源,请先完成资源池和资源队列准备后再提交。
采集指标验证
在 CProm 控制台,登录 CProm 监控实例绑定的 Grafana 来查询验证指标。
本地的 Grafana 访问 CProm 监控示例,请参考 这里
步骤 1:进入 CProm 监控实例绑定的 Grafana
登录 CProm 控制台,进入资源池关联的 Prometheus 监控实例详情页,打开该实例绑定的 Grafana。
步骤 2:使用 Explore 查询指标
登录 Grafana 后,点击 【Explore】,选择 CProm 对应的数据源,在查询输入框中输入待查询指标名称并执行查询。若页面返回时序数据或表格数据,表示 Prometheus 已成功抓取该指标。
配置Grafana监控大盘
登录 Grafana ,进入 创建dashboard 的流程:
- 登录 Grafana → 点击左侧菜单栏 Dashboards → 选择 New → 点击 Import。
-
选择以下任一导入方式:(本文档使用本地导入
train_grafana_dashboard.json)- 上传 JSON 文件:点击「Upload JSON file」→ 选择本地 Dashboard 的文件。
- 输入 Grafana.com ID/URL:若使用官方或社区模板,粘贴模板 ID或模板 URL → 点击 Load。
- 粘贴 JSON 文本:将 Dashboard 的 JSON 内容复制到文本框 → 点击 Load。
-
加载完成后,配置关键参数:
- Name:Dashboard 的名称
- Folder:Dashboard存放的文件夹,方便分类管理。
- UID:保持自动生成即可,如需通过 API 调用可自定义。
- 点击 Import → 完成 Dashboard 导入。
附录:监控指标内置标签说明
百舸平台在监控指标体系中内置的标准标签(label),用于对训练任务与资源进行统一标识与多维度区分。平台会自动在系统级与自定义监控指标中附加这些标签,无需用户手动维护,主要用于任务溯源、按租户、队列、地域等维度进行统计与运维分析。
各标签含义说明如下。
| 标签名 | 说明 |
|---|---|
job_name |
训练任务名称,用于区分不同训练作业。 |
jobid |
训练任务唯一 ID,用于任务级精确定位与问题排查。 |
clusterID |
集群 ID,仅自运维资源池有此标签。 |
aihc_id |
托管资源池 ID,用于标识任务运行的百舸托管资源池。 |
workload_type |
工作负载类型,训练默认为 train。 |
region |
地域信息,标识任务所在的云区域。 |
user_name |
提交任务的用户名,用于展示与审计。 |
user_id |
用户唯一标识,用于多租户隔离与统计分析。 |
custom_monitor |
标识是否开启自定义指标能力,值为 true 表示任务上报了自定义监控指标。 |
pod_name |
运行任务的 Pod 名称,用于定位具体运行实例。 |
namespace |
Pod 所在命名空间,区分不同业务空间。 |
queue |
托管资源池:队列 ID;自运维资源池:队列名称,用于调度与排队策略分析。 |
train_framework |
训练框架类型,例如 pytorch、mpi、tensorflow 等,用于框架级统计。 |
评价此篇文章
