# Workspace支持的CES操作系统监控指标（安装Agent）
#### 功能说明
通过在云桌面中安装Agent插件，可以为用户提供服务器的系统级、主动式、细颗粒度监控服务。本节定义了云桌面上报云监控的操作系统监控指标。
操作系统监控目前支持的监控指标GPU相关监控项。
操作系统监控目前支持的监控指标有：CPU相关监控项、CPU负载类相关监控项、内存相关监控项、磁盘相关监控项、磁盘I/O相关监控项、文件系统类相关监控项、网卡类相关监控项、TCP连接数类相关监控、GPU相关监控项。
安装Agent后，对于不同的操作系统、不同的弹性云服务器类型，您可以查看不同类型的操作系统监控指标。指标采集周期是1分钟。
- **操作系统监控指标：CPU**
  表1CPU类监控指标说明 
  | **指标**   | **指标名称**        | **指标含义**                                                                                                                                                                                                                                                                                                                                 | **取值范围** | 单位 | 进制    | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | cpu_usage | (Agent) CPU使用率 | 该指标用于统计测量对象当前的CPU使用率。 - 采集方式：（Linux）：通过计算采集周期内/proc/stat中的变化得出cpu使用率。用户可以通过top命令查看 %Cpu(s)值。  - 采集方式：（Windows）：通过WindowsAPI GetSystemTimes获取。   | 0-100    | %  | 不涉及 | 云桌面            | 1分钟           |
     
  
- **操作系统监控指标：内存**
  表2内存相关监控指标说明 
  | **指标**          | **指标名称**    | **指标含义**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | **取值范围** | 单位 | 进制 | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | mem_usedPercent | (Agent) 内存使用率 | 该指标用于统计测量对象的内存使用率。 - 采集方式（Linux）：通过/proc/meminfo文件获取，(MemTotal-MemAvailable)/MemTotal - 若/proc/meminfo中显示MemAvailable，则MemUsedPercent=(MemTotal-MemAvailable)/MemTotal  - 若/proc/meminfo中不显示MemAvailable，则MemUsedPercent=(MemTotal-MemFree-Buffers-Cached)/MemTotal    - 采集方式（Windows）：计算方法为（ 已用内存量/内存总量\*100%）。   | 0-100    | % | 不涉及 | 云桌面             | 1分钟          |
     
  
- **操作系统监控指标：网卡**
  表3网卡相关监控指标说明 
  | **指标**         | **指标名称**        | **指标含义**                                                                                                                                                                                                                                                                                                  | **取值范围** | 单位       | 进制         | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | net_bitRecv      | (Agent) 出网带宽    | 该指标用于统计测量对象网卡每秒发送的比特数。 - 采集方式（Linux）：通过计算采集周期内/proc/net/dev中的变化得出。  - 采集方式（Windows）：使用WMI中MibIfRow对象获取网络指标数据。       | ≥ 0       | bit/s  | 1024(IEC) | 云桌面            | 1分钟              |
  | net_bitSent    | (Agent) 入网带宽    | 该指标用于统计测量对象网卡每秒接收的比特数。 - 采集方式（Linux）：通过计算采集周期内/proc/net/dev中的变化得出。  - 采集方式（Windows）：使用WMI中MibIfRow对象获取网络指标数据。         | ≥ 0      | bit/s    | 1024(IEC) | 云桌面           | 1分钟             |
  | net_packetRecv  | (Agent) 网卡包接收速率 | 该指标用于统计测量对象网卡每秒接收的数据包数。 - 采集方式（Linux）：通过计算采集周期内/proc/net/dev中的变化得出。  - 采集方式（Windows）：使用WMI中MibIfRow对象获取网络指标数据。      | ≥ 0       | Counts/s | 不涉及          | 云桌面         | 1分钟            |
  | net_packetSent | (Agent) 网卡包发送速率  | 该指标用于统计测量对象网卡每秒发送的数据包数。 - 采集方式（Linux）：通过计算采集周期内/proc/net/dev中的变化得出。  - 采集方式（Windows）：使用WMI中MibIfRow对象获取网络指标数据。   | ≥ 0       | Counts/s | 不涉及       | 云桌面          | 1分钟           |
     
  

- **操作系统监控指标：磁盘**
  表4磁盘相关监控指标说明 
  | **指标**             | **指标名称**      | **指标含义**                                                                                                                                                                                                                                                                                                                                                                                                                     | **取值范围** | 单位 | 进制 | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | disk_free         | (Agent) 磁盘剩余存储量 | 该指标用于统计测量对象磁盘的剩余存储空间。 - 采集方式（Linux）：执行df -h命令，查看Avail列数据。挂载点前缀路径长度不能超过64个字符，必须以字母开头，只能包含0-9/a-z/A-Z/-/./\~。  - 采集方式（Windows）：使用WMI接口GetDiskFreeSpaceExW获取磁盘空间数据。挂载点前缀路径长度不能超过64个字符，必须以字母开头，只能包含0-9/a-z/A-Z/-/./\~。                       | ≥0        | GB   | 不涉及  | 云桌面         | 1分钟           |
  | disk_usedPercent | (Agent) 磁盘使用率   | 该指标用于统计测量对象磁盘使用率，以百分比为单位。计算方式为: 磁盘已用存储量/磁盘存储总量。 - 采集方式（Linux）：通过计算Used/Size得出。挂载点前缀路径长度不能超过64个字符，必须以字母开头，只能包含0-9/a-z/A-Z/-/./\~。  - 采集方式（Windows）：使用WMI接口GetDiskFreeSpaceExW获取磁盘空间数据。挂载点前缀路径长度不能超过64个字符，必须以字母开头，只能包含0-9/a-z/A-Z/-/./\~。   | 0-100      | %    | 不涉及 | 云桌面           | 1分钟            |
     
  

- **操作系统监控指标：文件系统**
  表5文件系统类监控指标说明 
  | **指标**                   | **指标名称**           | **指标含义**                                                                                                                                            | **取值范围** | 单位 | 指标 | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | disk_inodesUsedPercent | (Agent) inode已使用占比 | 该指标用于统计测量对象当前磁盘已使用的inode占比。 采集方式（Linux）：执行df -i命令，查看IUse%列数据。挂载点前缀路径长度不能超过64个字符，必须以字母开头，只能包含0-9/a-z/A-Z/-/./\~。 | 0-100  | %     | 不涉及  | 云桌面          | 1分钟           |
     
  
- **操作系统监控指标：磁盘I/O**
  表6磁盘I/O相关监控指标说明 
  | **指标**        | **指标名称**           | **指标含义**                                                                                                                                                                                                                                                                                                                                                                                                                                     | **取值范围** | 单位 | 指标  | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | disk_ioUtils | (Agent) 磁盘I/O使用率 | 该指标用于统计测量对象磁盘I/O使用率。 - 采集方式（Linux）： 通过计算采集周期内/proc/diskstats中对应设备第十三列数据的变化得出磁盘I/O使用率。 挂载点前缀路径长度不能超过64个字符，必须以字母开头，只能包含0-9/a-z/A-Z/-/./\~。   - 采集方式（Windows）：暂不支持。   | 0-100    | % | 不涉及 | 云桌面          | 1分钟            |
     
  
- **操作系统监控指标：GPU**
  表7GPU类监控指标说明 
  | **指标**                       | **指标名称**                      | **指标含义**                                                                                                                                                                                                                                                                                                                                                   | **取值范围**                                                                                                                                                                                                                                                                                                                      | 单位     | 指标    | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | gpu_aggregate_correctable    | 累计可纠正ECC错误数量                  | 该指标用于统计该GPU累计的可纠正ECC错误数量。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                                   | ≥ 0                                                                                                                                                                                                                                                                                                                           | count   | 不涉及     | 云桌面             | 1分钟              |
  | gpu_aggregate_uncorrectable | 累计不可纠正ECC错误数量                | 该指标用于统计该GPU累计的不可纠正ECC错误数量。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                                     | ≥ 0                                                                                                                                                                                                                                                                                                                             | count    | 不涉及  | 云桌面           | 1分钟              |
  | gpu_performance_state        | (Agent) 性能状态                | 该指标用于统计测量对象当前的GPU性能状态。 该指标无单位。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。        | P0-P15、P32， - P0：表示最大性能状态  - P15：表示最小性能状态  - P32：表示状态未知   | 不涉及    | 不涉及  | 云桌面           | 1分钟           |
  | gpu_retired_page_double_bit | retired page double bit错误数量 | 该指标用于统计该GPU当前卡隔离的双比特页的数量。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                              | ≥ 0                                                                                                                                                                                                                                                                                                                           | count | 不涉及   | 云桌面            | 1分钟             |
  | gpu_retired_page_single_bit  | retired page single bit错误数量   | 该指标用于统计该GPU当前卡隔离的单比特页的数量。 单位：个 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。            | ≥ 0                                                                                                                                                                                                                                                                                                                             | count  | 不涉及   | 云桌面         | 1分钟            |
  | gpu_status                   | gpu健康状态                      | 该指标用于统计虚拟机上GPU健康状态，是一个综合指标。 该指标无单位。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。   | - 0：代表健康  - 1：代表亚健康  - 2：代表故障                                                                   | 不涉及     | 不涉及    | 云桌面          | 1分钟           |
  | gpu_usage_decoder              | 解码使用率                           | 该指标用于统计该GPU的解码能力使用率。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                                          | 0-100                                                                                                                                                                                                                                                                                                                           | %       | 不涉及    | 云桌面           | 1分钟             |
  | gpu_usage_encoder            | 编码使用率                          | 该指标用于统计该GPU的编码能力使用率。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                                               | 0-100                                                                                                                                                                                                                                                                                                                           | %         | 不涉及  | 云桌面          | 1分钟               |
  | gpu_usage_gpu               | (Agent) GPU使用率                | 该指标用于统计测量对象当前的GPU使用率。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                                         | 0-100                                                                                                                                                                                                                                                                                                                         | %      | 不涉及    | 云桌面         | 1分钟             |
  | gpu_usage_mem              | (Agent) 显存使用率                  | 该指标用于统计测量对象当前的显存使用率。 单位：百分比 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                | 0-100                                                                                                                                                                                                                                                                                                                           | %       | 不涉及   | 云桌面            | 1分钟           |
  | gpu_volatile_correctable      | 可纠正ECC错误数量                   | 该指标用于统计该GPU重置以来可纠正的ECC错误数量，每次重置后归0。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                        | ≥ 0                                                                                                                                                                                                                                                                                                                           | count   | 不涉及 | 云桌面            | 1分钟            |
  | gpu_volatile_uncorrectable    | 不可纠正ECC错误数量                   | 该指标用于统计该GPU重置以来不可纠正的ECC错误数量，每次重置后归0。 - 采集方式（Linux）：通过调用GPU卡的libnvidia-ml.so.1库文件获取。  - 采集方式（Windows）：通过调用GPU卡的nvml.dll库获取。                                  | ≥ 0                                                                                                                                                                                                                                                                                                                            | count    | 不涉及   | 云桌面            | 1分钟              |
     
  
- **操作系统监控指标：CPU负载**
  表8CPU负载指标说明 
  | **指标**            | **指标名称**         | **指标含义**                                                                                                                            | **取值范围** | 单位     | 进制  | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | load_average1    | (Agent) 1分钟平均负载   | 该指标用于统计测量对象过去1分钟的CPU平均负载。 采集方式（Linux）：通过/proc/loadavg中load1/逻辑CPU个数得到。用户可以通过top命令查看load1值。          | ≥0        | 不涉及    | 不涉及 | 云桌面             | 1分钟                 |
  | load_average5 | (Agent) 5分钟平均负载   | 该指标用于统计测量对象过去5分钟的CPU平均负载。 采集方式（Linux）：通过/proc/loadavg中load5/逻辑CPU个数得到。用户可以通过top命令查看load5值。       | ≥0       | 不涉及   | 不涉及  | 云桌面            | 1分钟              |
  | load_average15 | (Agent) 15分钟平均负载 | 该指标用于统计测量对象过去15分钟的CPU平均负载。 采集方式（Linux）：通过/proc/loadavg中load15/逻辑CPU个数得到。用户可以通过top命令查看load15值。 | ≥0       | 不涉及 | 不涉及 | 云桌面          | 1分钟             |
     
  
- **操作系统监控指标：TCP**
  表9TCP类监控指标说明 
  | **指标**              | **指标名称**              | **指标含义**                                                                                                                                                                                                                                                                                                                              | **取值范围** | 单位    | 进制  | **测量对象（维度）** | **监控周期（原始指标）** |
  |:---|:---|:---|:---|:---|:---|:---|:---|
  | net_tcp_total     | (Agent) TCP TOTAL     | 该指标用于统计测量对象所有状态的TCP连接数总和。 - 采集方式（Linux）：通过/proc/net/tcp文件获取到所有状态的TCP连接，再统计每个状态的连接数量。  - 采集方式（Windows）：通过WindowsAPI GetTcpTable2获取。                 | ≥ 0      | Count | 不涉及 | 云桌面        | 1分钟            |
  | net_tcp_established | (Agent) TCP ESTABLISHED | 该指标用于统计测量对象处于ESTABLISHED状态的TCP连接数量。 - 采集方式（Linux）：通过/proc/net/tcp文件获取到所有状态的TCP连接，再统计每个状态的连接数量。  - 采集方式（Windows）：通过WindowsAPI GetTcpTable2获取。   | ≥ 0     | Count | 不涉及  | 云桌面          | 1分钟            |
     
  
 
