# 实现GPU基础、虚拟化及Pod级资源指标的全面监控
监控GPU资源指标能够优化计算性能、快速定位故障并合理分配资源，从而提升GPU利用率、降低运维成本。通过Prometheus和Grafana，您可以实现对GPU资源的全面监测，精确捕捉资源使用情况。本文将对Prometheus和Grafana的配置流程进行详细介绍。
关于GPU指标更多信息，请参见[CCE提供的GPU监控指标](https://support.huaweicloud.com/usermanual-cce/cce_10_0955.html#cce_10_0955__section111659452468)。
#### 前提条件
- 集群中已安装[云原生监控插件](https://support.huaweicloud.com/usermanual-cce/cce_10_0406.html)。
- 集群中已安装[CCE AI套件（NVIDIA GPU）](https://support.huaweicloud.com/usermanual-cce/cce_10_0141.html)插件，且插件版本不低于2.0.10。
- 集群中已有NVIDIA GPU节点。
- 如果需要监控GPU虚拟化监控指标，集群中需要已安装[Volcano调度器](https://support.huaweicloud.com/usermanual-cce/cce_10_0193.html)插件，且插件版本不低于1.10.5。
 
#### 操作流程
| 步骤                                                   | 步骤说明                                                  | 费用说明                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| [部署GPU工作负载]      | 在集群中部署使用GPU能力的工作负载后，GPU相关指标将自动上报。                       | 不涉及费用                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [访问Prometheus] | 通过访问Prometheus，可以直接查看GPU监控指标。                          | - 该方式要求云原生监控插件开启本地数据存储，可能涉及云硬盘相关费用。关于云硬盘的费用详情，请参见[EVS价格计算器](https://www.huaweicloud.com/pricing/calculator.html#/evs)。  - 该方式需要创建公网[LoadBalancer类型Service](https://support.huaweicloud.com/usermanual-cce/cce_10_0014.html)，涉及ELB相关费用。关于ELB的费用详情，请参见[ELB价格计算器](https://www.huaweicloud.com/pricing/calculator.html#/elb)。   |
| [访问Grafana]      | 通过访问Grafana，可以通过内置仪表盘查看GPU监控指标。同时，您也可以根据业务自定义创建GPU仪表盘。 | 该方式需要绑定ELB，涉及相关费用。关于ELB的费用详情，请参见[ELB价格计算器](https://www.huaweicloud.com/pricing/calculator.html#/elb)。                                                                                                                                                                                                                                                                                                                                                    |
   
 #### 部署GPU工作负载
创建一个使用GPU的工作负载，等待工作负载正常运行后，可以通过访问Prometheus或Grafana监控GPU资源指标。
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称，进入集群"概览"页。
2. 在左侧导航栏中选择"工作负载"，在右上角单击"创建工作负载"。
3. 在"容器配置 \> 容器信息 \> 基本信息 "中，设置"GPU配额"，此处以"GPU整卡"为例，且"GPU数量"设置为1张。 
   图1设置GPU配额   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002254005285.png "点击放大")
   
   
   
4. 填写其他工作负载参数后，单击"创建工作负载"。当工作负载的状态变为运行中时，则说明GPU工作负载创建成功。
 
 #### 访问Prometheus
通过访问Prometheus查看GPU相关指标，需要云原生监控插件在"数据存储配置"中已开启"本地数据存储"，具体请参见[安装插件](https://support.huaweicloud.com/usermanual-cce/cce_10_0406.html#cce_10_0406__section186134814119)。
云原生监控插件安装完成后，会在集群中部署一系列工作负载和Service。其中Prometheus的Server端会在monitoring命名空间下以有状态工作负载进行部署。您可以创建一个公网[LoadBalancer类型Service](https://support.huaweicloud.com/usermanual-cce/cce_10_0014.html)，从而实现从外部访问Prometheus。
1. 在集群左侧导航栏中选择"服务"，在右上角单击"YAML创建"，创建一个公网LoadBalancer类型的Service。 
   ```
   apiVersion: v1
   kind: Service
   metadata:
     name: prom-lb     #服务名称，可自定义
     namespace: monitoring
     labels:
       app: prometheus
       component: server
     annotations:
       kubernetes.io/elb.id: 038ff***     #请替换为集群所在VPC下的ELB实例ID，且ELB实例为公网访问类型
   spec:
     ports:
       - name: cce-service-0
         protocol: TCP
         port: 88             #服务端口号，可自定义
         targetPort: 9090     #Prometheus的默认端口号，无需更改
     selector:                #标签选择器可根据Prometheus Server实例的标签进行调整
       app.kubernetes.io/name: prometheus
       prometheus: server
     type: LoadBalancer
   ```
   
   
2. 创建完成后在浏览器访问"负载均衡公网IP地址:服务端口"，访问Prometheus。 
   图2访问Prometheus   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000001647587681.png "点击放大")
   
   
3. 在页面上方单击"Graph"，即可在搜索栏中搜索需要的GPU指标，查看相关信息。 
   图3查看GPU监控指标   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002219653342.png "点击放大")
   
   
4. 单击"Status \> Targets"，您可以查看Prometheus监控的所有指标。 
   图4查看监控目标   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000001598146948.png "点击放大")
   
   
 
 #### 访问Grafana
通过访问Grafana查看GPU相关指标，需要安装Grafana插件，且启用"公网访问"，具体安装步骤请参见[安装Grafana](https://support.huaweicloud.com/usermanual-cce/cce_10_0828.html)。同时，Grafana支持配置AOM数据源或Prometheus数据源：
- 使用AOM数据源：需要在云原生监控插件中启用"监控数据上报至AOM服务"，并在Grafana插件中启用"数据源对接AOM"，同时**确保两者选择的AOM实例一致**。Grafana将自动生成"prometheus-aom"数据源。
- 使用Prometheus数据源：需要在云原生监控插件中开启"本地存储模式"，此时可直接使用Grafana自带的"prometheus"数据源。
1. 测试数据源的连通性。需要保证"prometheus-aom"或"prometheus"数据源与Grafana的连通性，连通性测试通过才可在Grafana中正常使用相关数据源。 
   1. 在集群左侧导航栏中，单击"集群 \> 插件"。在右侧插件列表中，在Grafana插件模块单击"访问"，进入Grafana可视化界面。
   
   2. 首次访问Grafana可视化界面，需要输入用户名和密码，默认用户名与密码均为admin。输入用户名和密码后，您可以根据界面提示重置密码。
   
   3. 在Grafana可视化界面左上角单击![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002254772941.png "点击放大")，单击"Connections"左侧的![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002219813178.png) ，单击"Data sources"，进入Data sources界面。
   
   4. 在数据源列表中，单击"prometheus-aom"或"prometheus"。在数据源页面底部单击"Save\&test"，测试数据源是否连通。若提示"Successfully queried the Prometheus API"，则说明连通测试通过。
      图5连通测试通过   
      ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002254653045.png "点击放大") 
   
   
   
   
2. 在左侧导航栏中单击DashBoard，在右侧选择"GPU XGPU View"仪表盘，即可查看GPU相关资源状态。同时，您也可以根据需求自定义相关仪表盘。 
   ![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
   云原生监控插件暂不支持自动采集[表3 GPU Pod监控指标](https://support.huaweicloud.com/usermanual-cce/cce_10_0955.html#cce_10_0955__table18614557123814)。若您需要在Grafana查看相关数据，请参见文档"最佳实践 \> 监控 \> GPU Pod监控指标采集及Grafana仪表盘搭建"，搭建对应仪表盘。
   图6查看GPU资源指标   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002219811950.png "点击放大")
   
   
 
#### 相关文档
- [实现DCGM指标的全面监控](https://support.huaweicloud.com/usermanual-cce/cce_10_0956.html)
- [GPU视图](https://support.huaweicloud.com/usermanual-cce/cce_10_0759.html)
- [XGPU视图](https://support.huaweicloud.com/usermanual-cce/cce_10_0760.html)
 
