
# 实现DCGM指标的全面监控
对运维人员来说，实现对Kubernetes的大规模GPU设备可监测能力至关重要。通过监测GPU相关指标能够了解整个集群的GPU使用情况、健康状态、工作负载性能等，从而实现对异常问题的快速诊断、优化GPU资源的分配、提升资源利用率等。除运维人员以外，其他人员（例如数据科学家、AI算法工程师等）也能通过相关监控指标了解业务的GPU使用情况，以便进行容量规划和任务调度。
新一代NVIDIA支持使用数据中心GPU管理器（DCGM）来管理大规模集群中的GPU。CCE AI套件（NVIDIA GPU）插件（版本2.7.40及以上）基于NVIDIA DCGM构建，提供了更强大的GPU监控功能。DCGM提供了种类丰富的GPU监控指标，功能特性如下：
- GPU行为监控
- GPU配置管理
- GPU Policy管理
- GPU健康诊断
- GPU级别统计和线程级别统计
- NVSwitch配置和监控
本文基于CCE云原生监控插件和dcgm-exporter实现丰富的GPU观测场景，常用指标请参见[DCGM提供的GPU监控指标](https://support.huaweicloud.com/usermanual-cce/cce_10_0955.html#cce_10_0955__section1828120225159)。关于dcgm-exporter的更多信息，请参见[dcgm-exporter](https://github.com/NVIDIA/dcgm-exporter)。
#### 前提条件
集群中已有正常运行的NVIDIA GPU节点。
#### 约束与限制
- 启用dcgm-exporter组件时，要求**CCE AI套件（NVIDIA GPU）插件版本在2.7.40及以上**。
- 采集DCGM指标信息时，要求**云原生监控插件版本在3.12.0及以上**。
 
#### 步骤一：启用dcgm-exporter组件
1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群，在左侧导航栏中选择"插件中心"，在右侧找到**CCE AI套件（NVIDIA GPU）**插件，单击"安装"或"更新"。
2. 选择"启用dcgm-exporter组件进行DCGM指标观测"，开启后将以DaemonSet形式在GPU节点上部署dcgm-exporter组件。
3. 设置插件支持的其他参数配置，单击"安装"或"更新"。参数配置详情请参见[CCE AI套件（NVIDIA GPU）](https://support.huaweicloud.com/usermanual-cce/cce_10_0141.html)。
 
#### 步骤二：采集DCGM指标信息
默认情况下，dcgm-exporter暴露的指标不会被Prometheus自动采集和上报。您需要在安装云原生监控插件之后，前往"配置中心"手动开启相关数据采集功能，具体存在以下两种情形：
- 未开启"系统预置采集"：如果暂未安装云原生监控插件，或安装云原生插件后暂未在"配置中心"开启"系统预置采集"，则可以在"配置中心"的ServiceMonitor开启dcgm-exporter数据采集。
- 已开启"系统预置采集"：如果您已安装云原生监控插件，并且已在"配置中心"中开启"系统预置采集"，则需要在"系统预置采集"中开启dcgm-exporter数据采集。
 
- [未开启系统预置采集]
  如果您暂未安装云原生监控插件，或安装云原生插件后暂未在"配置中心"开启"系统预置采集"，请参考本节步骤配置。
  1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
  
  2. 在左侧导航栏中选择"集群 \> 插件中心"，在右侧找到云原生监控插件，单击"安装"。在"安装插件"页面上方，选择"插件版本"，版本要求在**3.12.0及以上** 。如果需要将采集的GPU数据上报AOM服务，请开启"监控数据上报至AOM服务"，并选择"指标上报的AOM实例"。此处采集的GPU数据属于自定义指标，上传至AOM会涉及一定费用，具体请参见[价格详情](https://www.huaweicloud.com/pricing.html#/aom)。
     
     关于云原生监控插件的其他配置，请参见[云原生监控插件](https://support.huaweicloud.com/usermanual-cce/cce_10_0406.html)。
     ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002166628560.png "点击放大")
     
     
     
  
  3. 插件配置完成后，单击"安装"。插件显示"运行中"，则说明安装成功。
  
  4. 在左侧导航栏中选择"集群 \> 配置中心"，切换至"监控运维配置"页签。在"采集配置"中找到"ServiceMonitor"，单击"管理"。
  
  5. 在"采集配置"页面中单击搜索栏，选择"名称"，在下拉框中单击"dcgm-exporter"，并在搜索结果中选择"启用"。 
     ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002145072318.png "点击放大")
     
     
     
   
- [已开启系统预置采集]
  如果您已安装云原生监控插件，并在"配置中心"启用了"系统预置采集"功能，系统预置的ServiceMonitor和PodMonitor将被删除，导致无法通过ServiceMonitor采集dcgm-exporter的数据。若您需要采集dcgm-exporter的相关监控数据，请按照以下步骤配置：
  1. 登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，单击集群名称进入集群。
  
  2. 在左侧导航栏单击"集群 \> 配置中心"，在右侧切换至"监控运维配置"页签。在"采集配置 \> 系统预置采集"中单击"管理"。
  
  3. 在"采集配置"页面单击搜索栏，选择任务名称，在下拉框中选择dcgm-exporter。在搜索结果的"指标采集"列选择"采集全量指标"，并选择"启用"。 
     ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002232607785.png "点击放大")
     
     
     
   
#### 步骤三：在AOM中查看DCGM指标信息
如果您需要在AOM中查看DCGM指标信息，请确保已在云原生监控插件中开启"监控数据上报至AOM服务"。此处采集的GPU数据属于自定义指标，上传至AOM会涉及一定费用，具体请参见[价格详情](https://www.huaweicloud.com/pricing.html#/aom)。
1. 进入AOM管理页面，在实例列表中选择所上报的AOM实例。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002166629128.png "点击放大")
   
   
   
2. 进入"指标管理"，在上方"集群"中选择使用的集群名称，在搜索栏输入"DCGM"，查看DCGM指标。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002197426140.png "点击放大")
   
   
   
 
#### 步骤四：使用Grafana查看DCGM指标信息
如果您需要使用Grafana配置DCGM指标看板，请先安装Grafana插件，后在Grafana可视化页面进行相关配置，具体请参见以下步骤：
1. 在左侧导航栏中选择"插件中心"，安装**Grafana。** 在安装界面，需要开启"数据源对接AOM"和"公网访问"。其中，"对接的AOM实例"请选择**云原生监控插件中使用的AOM实例** 。
   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002202264865.png "点击放大")
   
   
   
2. 插件配置完成后，单击"安装"。插件显示"运行中"，则说明安装成功。安装完成后，在该插件模块中单击"访问"，进入Grafana可视化界面。首次访问Grafana可视化界面，需要输入用户名和密码，默认用户名与密码均为admin。输入用户名和密码后，您可以根据界面提示重置密码。
3. 在Grafana可视化界面左上角单击![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002232802181.png "点击放大")，单击"Connections"左侧的![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002232887713.png) ，单击"Data sources"，进入Data sources界面。
4. 在数据源列表中，单击"prometheus-aom"。在"prometheus-aom"数据源页面底部单击"Save\&test"，测试数据源是否连通。若提示"Successfully queried the Prometheus API"，则说明连通测试通过。 
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002197522020.png "点击放大")
   
   
5. NVIDIA提供了NVIDIA DCGM Exporter Dashboard来展示DCGM相关指标信息，您可以进入[NVIDIA DCGM Exporter Dashboard](https://grafana.com/grafana/dashboards/12239)，在右侧单击"Download JSON"。
   
   返回Grafana可视化界面，左上角单击![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002197362428.png "点击放大")，打开左侧菜单栏。单击"Dashboards"。在"Dashboards"页面右上角，单击"New"，下拉菜单中单击"Import"。在"Import dashboard"页面上传刚下载的Json文件，并在"Prometheus"中选择"prometheus-aom"数据源，单击"Import"。
   Grafana导入Dashboard的更多方法，请参见[Manage dashboards](https://grafana.com/docs/grafana/latest/dashboards/manage-dashboards/#import-a-dashboard)。
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002197506944.png "点击放大")
   
   
6. 导入完成后，您可以直接看到对应面板。在右上角单击![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002232885665.png)，即可保存看板。
   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002145231858.png "点击放大")
   
   
 
#### 附录：dcgm-exporter组件故障排查
**运行状态检查**
1. 在CCE AI套件（NVIDIA GPU）插件页面检查Pod状态为"运行中"。 ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002180391481.png "点击放大")
   
   
2. 查看Pod日志，确认HTTP服务器开始监听。 ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002145074254.png "点击放大")
   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002180433265.png "点击放大")
   
3. 在集群上使用curl命令访问dcgm-exporter，确认数据正常获取。
   1. 检查dcgm-exporter组件Pod IP：
      ```
      kubectl get po -A -owide | grep dcgm
      ```
      
   
   2. 使用curl命令检查数据，其中10.1.1.15为上一步查询的Pod IP：
      ```
      curl 10.1.1.15:9400/metrics | head
      ```
      
   
   
   ![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002180433381.png "点击放大")
   
 
#### 相关文档
- [实现GPU基础、虚拟化及Pod级资源指标的全面监控](https://support.huaweicloud.com/usermanual-cce/cce_10_0741.html)
- [GPU视图](https://support.huaweicloud.com/usermanual-cce/cce_10_0759.html)
- [XGPU视图](https://support.huaweicloud.com/usermanual-cce/cce_10_0760.html)
 
