# DCSM Exporter 用户手册 DCSM(Data Center SPU Manager)Exporter 是基于 DCSM 构建的指标采集工具,用于在单机或集群环境中实时监控墨芯 SPU(Sparse Processing Unit,稀疏处理单元)计算卡的负载与健康状态,并以 Prometheus 格式导出运行数据。 ## 部署方式选择 DCSM Exporter 支持以下部署方式: - 单机容器环境:适用于在单台主机上快速部署并验证指标采集能力的场景。 - Kubernetes 集群环境:适用于在集群内对多个节点统一部署并接入 Prometheus Operator 的场景。 ```{admonition} 须知 :class: note DCSM Exporter 在 Kubernetes 集群中可单独部署或通过 SPU Operator 统一部署,任选一种方式以避免冲突。通过 SPU Operator 部署的操作,详见 [《MOFFETT SPU Operator 用户手册》](../k8s-spu-operator.md)。 ``` ## 部署前准备 - 安装 SOLA Toolkit,详见[《SOLA Toolkit 安装指南》](../../installation/sola-toolkit-installation-guide.md)。 - 获取容器镜像。 ````{tabs} ```{tab} 在线拉取 ```bash # S4/S30/S40/S40AC docker pull moffett/dcsm-exporter:1.2.0-1.0.0 # S40Lite docker pull moffett/dcsm-lite-exporter:1.2.0-1.0.0 ``` ```{tab} 离线导入 ```bash # S4/S30/S40/S40AC wget https://moffett-oss-bucket.tos-cn-shanghai.volces.com/macs/v1.11/dcsm-exporter/dcsm-exporter_1.2.0-1.0.0.tar docker load -i dcsm-exporter_1.2.0-1.0.0.tar # S40Lite wget https://moffett-oss-bucket.tos-cn-shanghai.volces.com/macs/v1.11/dcsm-exporter/dcsm-lite-exporter_1.2.0-1.0.0.tar docker load -i dcsm-lite-exporter_1.2.0-1.0.0.tar ``` ```` (deploy-dcsm-exporter)= ## 单机容器环境部署 ### 前提条件 安装 MOFFETT Container Toolkit,详见 [《MOFFETT Container Toolkit 用户手册》](../mct.md)。 ### 操作步骤 1. 生成 CDI 规范文件,详见[《MOFFETT Container Toolkit 用户手册》](../mct.md)。 ```bash sudo moffett-ctk cdi generate --driver-root / --output=/etc/cdi/moffett.yaml ``` 2. 启动 DCSM Exporter 容器。 ````{tabs} ```{tab} S4/S30/S40/S40AC ```bash docker run -itd \ --device moffett.ai/spu=all \ --net=host \ --name=dcsm-exporter \ moffett/dcsm-exporter:1.2.0-1.0.0 \ -f /etc/dcsm-exporter/default-counters.csv \ -c 15000 -a :7788 -d all ``` ```{tab} S40Lite ```bash docker run -itd \ --device moffett.ai/spu=all \ --net=host \ --name=dcsm-exporter \ moffett/dcsm-lite-exporter:1.2.0-1.0.0 \ -f /etc/dcsm-exporter/default-counters.csv \ -c 15000 -a :7788 -d all ``` ```` 下表列出了启动容器时可指定的参数: ::: nested-table | 命令行参数 | 环境变量 | 说明 | 默认值 | | ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------- | | -f,--collectors | DCSM_EXPORTER_COLLECTORS | 指定包含要收集的 DCSM 字段的文件路径。 | /etc/dcsm-exporter/default-counters.csv | | -c,--collect-interval | DCSM_EXPORTER_INTERVAL | 指定收集指标的时间间隔,单位:毫秒(ms)。 | 30000 | | -a,--address | DCSM_EXPORTER_LISTEN | 指定监听 HTTP 服务的地址,格式::**。 | :7788 | | -r,--remote-hostengine-info | DCSM_REMOTE_HOSTENGINE_INFO | 指定 DCSM Exporter 连接特定主机上部署的 `mx-hostengine`,格式:*host_ip*:*port*。 | DCSM Exporter 容器内部署的 `mx-hostengine` | | -d,--devices | DCSM_EXPORTER_DEVICES_STR | 指定要监控的设备,支持的值:all 或指定设备的 ID,例如:all、0,1、2-4、0,2-4。
确保指定监控的设备在启动容器时挂载的设备范围内,否则会导致容器启动失败。 | all | | -k,--kubernetes | DCSM_EXPORTER_KUBERNETES | 指定是否将设备对应的 Kubernetes Pod 信息加入指标标签。 | FALSE(否) | | --pod-resources-kubelet-socket | DCSM_POD_RESOURCES_KUBELET_SOCKET | 指定 kubelet pod-resources 套接字文件的路径。 | /var/lib/kubelet/pod-resources/kubelet.sock | ::: ### 部署后验证 ```bash curl http://:/metrics # 终端中验证 http://:/metrics # 浏览器中验证 ``` ## Kubernetes 集群环境部署 ### 前提条件 搭建 Kubernetes 集群,详见 Kubernetes 文档。 ### 操作步骤 创建 DCSM Exporter 的 DaemonSet 和 Service,步骤如下: 1. 创建名为 `moffett-monitoring` 的 namespace。 ```bash kubectl create ns moffett-monitoring ``` 2. 创建 `dcsm-exporter.yaml` 部署文件。 ````{tabs} ```{tab} S4/S30/S40/S40AC ```yaml apiVersion: apps/v1 kind: DaemonSet metadata: name: "dcsm-exporter" namespace: "moffett-monitoring" labels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" spec: updateStrategy: type: RollingUpdate selector: matchLabels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" template: metadata: labels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" name: "dcsm-exporter" spec: containers: - name: "dcsm-exporter" image: "moffett/dcsm-exporter:1.2.0-1.0.0" env: - name: "DCSM_EXPORTER_LISTEN" value: ":7788" - name: "DCSM_EXPORTER_KUBERNETES" value: "true" - name: "DCSM_EXPORTER_INTERVAL" value: "1000" ports: - name: "metrics" containerPort: 7788 securityContext: privileged: true volumeMounts: - name: "pod-spu-resources" readOnly: true mountPath: "/var/lib/kubelet/pod-resources" resources: requests: cpu: "100m" memory: "128Mi" limits: cpu: "500m" memory: "256Mi" volumes: - name: "pod-spu-resources" hostPath: path: "/var/lib/kubelet/pod-resources" --- kind: Service apiVersion: v1 metadata: name: "dcsm-exporter" namespace: "moffett-monitoring" labels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" spec: selector: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" ports: - name: "metrics" port: 7788 targetPort: 7788 ``` ```{tab} S40Lite ```yaml apiVersion: apps/v1 kind: DaemonSet metadata: name: "dcsm-exporter" namespace: "moffett-monitoring" labels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" spec: updateStrategy: type: RollingUpdate selector: matchLabels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" template: metadata: labels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" name: "dcsm-exporter" spec: containers: - name: "dcsm-exporter" image: "moffett/dcsm-lite-exporter:1.2.0-1.0.0" env: - name: "DCSM_EXPORTER_LISTEN" value: ":7788" - name: "DCSM_EXPORTER_KUBERNETES" value: "true" - name: "DCSM_EXPORTER_INTERVAL" value: "1000" ports: - name: "metrics" containerPort: 7788 securityContext: privileged: true volumeMounts: - name: "pod-spu-resources" readOnly: true mountPath: "/var/lib/kubelet/pod-resources" resources: requests: cpu: "100m" memory: "128Mi" limits: cpu: "500m" memory: "256Mi" volumes: - name: "pod-spu-resources" hostPath: path: "/var/lib/kubelet/pod-resources" --- kind: Service apiVersion: v1 metadata: name: "dcsm-exporter" namespace: "moffett-monitoring" labels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" spec: selector: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" ports: - name: "metrics" port: 7788 targetPort: 7788 ``` ```` ````{admonition} 须知 :class: note 以上配置使用 Kubernetes 推荐标签规范(`app.kubernetes.io/name: dcsm-exporter`)。通过 SPU Operator 部署时,使用的是简短形式标签 `app=moffett-dcsm-exporter`。使用 `kubectl` 按标签筛选 Pod 时,请以实际部署方式为准。可通过以下命令确认当前环境的实际 label: ```bash kubectl get daemonset moffett-dcsm-exporter -n -o jsonpath='{.spec.selector.matchLabels}' ``` ```` 3. 部署 DCSM Exporter。 ```bash kubectl create -f dcsm-exporter.yaml ``` ### 部署后验证 ```bash kubectl get pod -n moffett-monitoring -o wide # 查看 NAMESPACE 为 moffett-monitoring 的所有 Pod 的详细信息 kubectl get svc -n moffett-monitoring # 查询 NAME 为 dcsm-exporter 的 CLUSTER-IP 和 PORT curl http://:/metrics # 查询 DCSM Exporter 输出的指标数据 ``` (custom-dcsm-metrics)= ## 自定义 DCSM 指标 DCSM Exporter 支持通过自定义 CSV 文件调整采集字段。建议以默认指标文件为模板生成自定义文件,并通过 `-f` 参数或 `DCSM_EXPORTER_COLLECTORS` 环境变量引用该文件,以便在镜像升级、容器重建或 Helm 更新后继续复用配置。 ### 准备自定义指标文件 1. 导出默认指标文件。 ```bash docker create --name dcsm-exporter-tmp moffett/dcsm-exporter:1.2.0-1.0.0 # S40Lite 计算卡的镜像替换为 moffett/dcsm-lite-exporter:1.2.0-1.0.0 docker cp dcsm-exporter-tmp:/etc/dcsm-exporter/default-counters.csv ./dcsm-metrics.csv docker rm dcsm-exporter-tmp ``` 2. 修改 `dcsm-metrics.csv`,按需删除或追加字段(参见[可用 DCSM 字段参考](#dcsm-available-fields-reference))。文件需保持 CSV 格式,每行定义一个字段,以 `#` 开头的行为注释。示例如下: ```text # DCSM FIELD, Prometheus metric type, help message DCSM_FI_DEV_SPU_TEMP, gauge, SPU temperature (in C). DCSM_FI_DEV_POWER_USAGE, gauge, Power draw (in W). DCSM_FI_DEV_SERIAL, label, Device Serial Number ``` ### 单机容器环境应用方式 删除旧容器,重新启动并挂载自定义指标文件,步骤如下: 1. 停止并删除旧容器(以 `dcsm-exporter` 为例)。 ```bash docker stop dcsm-exporter docker rm dcsm-exporter ``` 2. 重新启动容器,并通过 `-v` 参数挂载自定义指标文件,`-f` 参数指定使用该文件。示例如下: ````{tabs} ```{tab} S4/S30/S40/S40AC ```bash docker run -itd \ --device moffett.ai/spu=all \ --net=host \ --name=dcsm-exporter \ -v $(pwd)/dcsm-metrics.csv:/etc/dcsm-exporter/dcsm-metrics.csv:ro \ moffett/dcsm-exporter:1.2.0-1.0.0 \ -f /etc/dcsm-exporter/dcsm-metrics.csv \ -c 15000 -a :7788 -d all ``` ```{tab} S40Lite ```bash docker run -itd \ --device moffett.ai/spu=all \ --net=host \ --name=dcsm-exporter \ -v $(pwd)/dcsm-metrics.csv:/etc/dcsm-exporter/dcsm-metrics.csv:ro \ moffett/dcsm-lite-exporter:1.2.0-1.0.0 \ -f /etc/dcsm-exporter/dcsm-metrics.csv \ -c 15000 -a :7788 -d all ``` ```` ### Kubernetes 集群环境应用方式 1. 创建或更新自定义指标 ConfigMap(自定义字段参见[可用 DCSM 字段参考](#dcsm-available-fields-reference))。 ```bash kubectl create configmap custom-dcsm-exporter-metrics \ --from-file=dcsm-metrics.csv \ -n moffett-monitoring \ --dry-run=client -o yaml | kubectl apply -f - ``` 2. 修改 `dcsm-exporter.yaml`,设置 `DCSM_EXPORTER_COLLECTORS` 并挂载 ConfigMap。示例如下: ```yaml spec: template: spec: containers: - name: "dcsm-exporter" env: - name: "DCSM_EXPORTER_COLLECTORS" value: "/etc/dcsm-exporter/dcsm-metrics.csv" volumeMounts: - name: "dcsm-metrics" mountPath: "/etc/dcsm-exporter/dcsm-metrics.csv" subPath: "dcsm-metrics.csv" readOnly: true volumes: - name: "dcsm-metrics" configMap: name: custom-dcsm-exporter-metrics ``` 3. 应用更新后的配置。 ```bash kubectl apply -f dcsm-exporter.yaml ``` ### 通过 SPU Operator 部署 详见《MOFFETT SPU Operator 用户手册》中的 [DCSM Exporter 指标](../k8s-spu-operator.md#spu-operator-custom-dcsm-metrics)。 ## 接入 Prometheus 和 Grafana DCSM Exporter 支持接入 Prometheus 进行指标采集,并使用 Grafana 进行可视化展示。 ### 接入 Prometheus 根据部署 DCSM Exporter 的方式选择以下一种配置方式: - 单机容器环境:主机上安装 Prometheus 并直接修改配置文件。 - Kubernetes 集群环境:在 Kubernetes 集群中部署 Prometheus,并配置 Service Monitor。 关于如何使用 Prometheus,参见 Prometheus Docs。 #### 单机容器环境 安装 Prometheus,并修改其配置文件,步骤如下: 1. 获取 Prometheus 安装包,并解压缩。 ```bash tar xvfz prometheus-版本号.tar.gz ``` 2. 修改 Prometheus 配置文件,添加监控目标。 在 `prometheus.yml` 文件的 `scrape_configs` 字段,添加监控目标(`targets`),示例如下: ```yaml scrape_configs: - job_name: "spu-metrics" static_configs: - targets: [":7788"] # 添加监控目标主机的 IP 地址及端口号,DCSM Exporter 默认监听端口为 7788;可添加多个目标 ``` 3. 重启 Prometheus 服务,使配置生效。Prometheus 默认监听端口为 9090。 ```bash ./prometheus --config.file=prometheus.yml & ``` 4. 主机上通过浏览器访问 `http://:9090`,检索指标数据。 #### Kubernetes 集群环境 在 Kubernetes 集群环境中,使用 Prometheus Operator 和 Service Monitor 自动发现和监控 DCSM Exporter。Service Monitor 配置会通过 Operator 自动同步到 Prometheus 中。 1. 部署 `kube-prometheus-stack`。 ```bash # 添加 Helm 仓库(只需执行一次) helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update # 安装 kube-prometheus-stack helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack \ --create-namespace --namespace prometheus \ --set prometheus.service.type=NodePort \ --set prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false # 允许 Prometheus 发现并采集集群中所有命名空间下的 ServiceMonitor ``` 更多关于安装 `kube-prometheus-stack` 的详细信息,参见 kube-prometheus-stack。 2. 验证已部署的 Prometheus 服务及端口信息。 ```bash kubectl get svc -A | grep prometheus ``` 3. 部署 Service Monitor。 ```{admonition} 须知 :class: note 如果通过 SPU Operator 部署 DCSM Exporter,无需该步骤,可通过 SPU Operator 启用 Service Monitor 服务,详见《MOFFETT SPU Operator 用户手册》中的[DCSM Exporter 配置](../k8s-spu-operator.md#spu-operator-dcsm-exporter-config)。 ``` a. 创建配置文件。 ```yaml # service-monitor.yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: "dcsm-exporter" namespace: "moffett-monitoring" labels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" spec: selector: matchLabels: app.kubernetes.io/name: "dcsm-exporter" app.kubernetes.io/version: "1.0.0" namespaceSelector: matchNames: - "moffett-monitoring" endpoints: - port: "metrics" path: "/metrics" interval: "1s" ``` b. 应用配置。 ```bash kubectl apply -f service-monitor.yaml ``` 4. 通过浏览器访问 `http://:30090`,检索指标数据。 ### 使用 Grafana Grafana 是一款开源的可视化与分析工具,可通过仪表盘(Dashboard)帮助收集、关联并可视化数据。在 Kubernetes 集群中部署的 `kube-prometheus-stack` 集成了 Grafana Dashboard。 #### 单机容器环境 1. 根据 Download Grafana 页面指示,选择对应平台的安装包部署 Grafana,完成后 Grafana 默认监听端口为 3000。 2. 通过浏览器访问 `http://:3000`,进入 Grafana 登录页面。使用用户名 `admin` 和密码 `admin` 登录 Grafana 主界面。 3. 将 Grafana 的数据源设置为 Prometheus,详见 Configure the Prometheus data source。 4. 参见 Import dashboards 导入墨芯提供的 Dashboard 模板(.json 文件),创建 MOFFETT DCSM Exporter Dashboard。可根据实际需求自定义 Dashboard 内容。 #### Kubernetes 集群环境 默认情况下,Grafana 服务通过 `ClusterIP` 类型监听端口,仅限集群内部访问。为便于通过浏览器访问,可将其修改为 `NodePort` 类型,方式类似于 Prometheus Dashboard 的访问方式。步骤如下: 1. 创建 `grafana-patch.yaml` 补丁文件,修改 Grafana 服务的对外端口为 `NodePort` 并指定端口号。NodePort 端口号取值在 30000~32767 闭区间范围内,这里以 32300 为例。 ```bash vim grafana-patch.yaml ``` ```yaml spec: type: NodePort # 服务监听方式 ports: - port: 80 # 集群内访问端口号 targetPort: 3000 # Pod 内部端口号 nodePort: 32300 # 节点主机上暴露的端口号 ``` 2. 修改服务监听使用指定的 `NodePort`。 ```bash kubectl patch svc -n prometheus --patch "$(cat grafana-patch.yaml)" # 通过 kubectl get svc -A | grep grafana 命令查询 ``` 3. 验证已修改的 Grafana 监听端口信息。 ```bash kubectl get svc -A | grep grafana ``` 4. 通过浏览器访问 `http://:32300` Grafana 主页面,登录用户名:`admin`;密码:`prom-operator`。 ```{admonition} 须知 :class: note 登录 Grafana 的密码可通过 `kubectl --namespace prometheus get secrets -o jsonpath="{.data.admin-password}" | base64 -d ; echo` 命令查询获取。 ``` 5. 参见 Import dashboards 导入墨芯提供的 Dashboard 模板(.json 文件),创建 MOFFETT DCSM Exporter Dashboard。可根据实际需求自定义 Dashboard 内容。 (disable-dcsm-exporter)= ## 停用与卸载 本节介绍停用和卸载 DCSM Exporter 的操作。 ### 停用 DCSM Exporter 当更新 SOLA Toolkit 时,DCSM Exporter 组件会影响 SOLA Toolkit 卸载,可按以下步骤在指定环境中先停用 DCSM Exporter。 #### 单机容器环境 1. 检查容器环境的 DCSM Exporter。 ```bash docker ps | grep dcsm-exporter ``` 2. 停止 DCSM Exporter 容器。 ```bash docker stop # 或使用 container ID ``` #### Kubernetes 集群环境 在 Kubernetes 集群环境中可选择以下任一方式停用 DCSM Exporter。 ##### 通过节点 Taint 停止指定节点调度 该方式适合临时在指定节点停用 DCSM Exporter,步骤如下: 1. 查询集群中部署的 DCSM Exporter 所有 Pod 的详细信息。 ```bash kubectl get pod -l app.kubernetes.io/name=dcsm-exporter -n moffett-monitoring -o wide ``` 2. 为集群的指定节点添加污点(Taint)并删除该节点上 DCSM Exporter 相关 Pod。 ```bash kubectl get nodes # 查询集群的所有节点 kubectl taint nodes NeedFix=true:NoSchedule # 为指定节点添加 Taint,标记为不可调度 kubectl describe node | grep Taints # 验证节点 Taint 是否生效 kubectl delete pod -l app.kubernetes.io/name=dcsm-exporter -n moffett-monitoring --field-selector spec.nodeName= # 删除指定节点上 DCSM Exporter 的 Pod kubectl get pod -n moffett-monitoring -o wide # 验证 Pod 状态 ``` 如需恢复指定节点上的 DCSM Exporter 相关 Pod,移除该节点上的 Taint。 ```bash kubectl taint nodes NeedFix=true:NoSchedule- ``` ##### 通过节点亲和性排除指定节点 该方式通过修改 DaemonSet 配置长期控制指定节点是否运行 DCSM Exporter,步骤如下: 1. 给需要停用 DCSM Exporter 组件的节点添加 `dcsm-exporter-disabled=true` 标签。 ```bash kubectl label node dcsm-exporter-disabled=true # 添加标签 kubectl get nodes --show-labels | grep # 验证标签 ``` 2. 添加亲和性配置。 在 `dcsm-exporter.yaml` 文件的 `spec` 字段添加 `requiredDuringSchedulingIgnoredDuringExecution` 配置,指定有 `dcsm-exporter-disabled=true` 标签的节点不运行 DCSM Exporter 组件的 Pod。 ```yaml affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: dcsm-exporter-disabled operator: NotIn values: - "true" ``` 3. 应用更新的 DCSM Exporter 的 DaemonSet 配置。 ```bash kubectl apply -f dcsm-exporter.yaml ``` 4. 验证 DCSM Exporter 组件的 Pod 在指定节点上停用。 ```bash kubectl get pod -o wide -n moffett-monitoring ``` 如需在指定节点上恢复 DCSM Exporter 组件,删除标签。 ```bash kubectl label node dcsm-exporter-disabled- ``` ### 卸载 DCSM Exporter #### 单机容器环境 1. 停用并删除容器。 ```bash docker stop dcsm-exporter && docker rm dcsm-exporter ``` 2. 删除镜像。 ````{tabs} ```{tab} S4/S30/S40/S40AC ```bash docker rmi moffett/dcsm-exporter:1.2.0-1.0.0 ``` ```{tab} S40Lite ```bash docker rmi moffett/dcsm-lite-exporter:1.2.0-1.0.0 ``` ```` 3. 验证卸载是否完成。 ```bash docker ps | grep dcsm-exporter docker images | grep dcsm-exporter ``` #### Kubernetes 集群环境 1. 删除 DCSM Exporter 对应 namespace 下特定资源类型的所有资源,包括 Pod、Deployment、Service、ReplicaSet 等。 ```bash kubectl delete all --all -n moffett-monitoring ``` 2. 删除 DCSM Exporter 的 namespace。 ```bash kubectl delete ns moffett-monitoring ``` 3. 验证卸载是否完成。 ```bash kubectl get all -A | grep dcsm-exporter kubectl get ns | grep moffett-monitoring ``` (dcsm-available-fields-reference)= ## 可用 DCSM 字段参考 DCSM Exporter 支持指标和标签两类字段。如需裁剪或扩展采集项,可选择对应字段并写入自定义 CSV 文件。 ### 指标字段 用于实时采集和反映设备的运行状态与性能数据,如下表所示。关于 Prometheus 指标类型的详细信息,参见 Understanding metric types。 ::: nested-table | 指标名称 | Prometheus 指标类型 | 描述 | | ------------------------------ | ------------------- | ------------------------------------------- | | DCSM_FI_DEV_NNCORE_CLOCK | gauge | NNCORE 的时钟频率,单位:MHz | | DCSM_FI_DEV_SPU_TEMP | gauge | SPU 温度,单位:℃ | | DCSM_FI_DEV_FAN_SPEED | gauge | 风扇调速比(单位:%) | | DCSM_FI_DEV_FAN_SPEED_RPM | gauge | 风扇转速(RPM) | | DCSM_FI_DEV_POWER_USAGE | gauge | 功耗,单位:W | | DCSM_FI_DEV_PCIE_TX_THROUGHPUT | counter | 通过 MXML 传输的 PCIe TX 总字节数,单位:KB | | DCSM_FI_DEV_PCIE_RX_THROUGHPUT | counter | 通过 MXML 接收的 PCIe RX 总字节数,单位:KB | | DCSM_FI_DEV_SPU_UTIL | gauge | SPU 利用率,以百分比格式表示 | | DCSM_FI_DEV_MEM_COPY_UTIL | gauge | 内存利用率,以百分比格式表示 | | DCSM_FI_DEV_XID_ERRORS | gauge | 最后出现的 XID 错误码 | | DCSM_FI_DEV_DDR_FREE | gauge | 空闲 DDR 内存大小,单位:MB | | DCSM_FI_DEV_DDR_USED | gauge | 用户已使用 DDR 内存大小,单位:MB | | DCSM_FI_DEV_DDR_TOTAL | gauge | DDR 内存总大小,单位:MB | | DCSM_FI_DEV_ECC_SBE_VOL_TOTAL | counter | 单比特易失性 ECC 错误总数 | | DCSM_FI_DEV_ECC_DBE_VOL_TOTAL | counter | 双比特易失性 ECC 错误总数 | | DCSM_FI_DEV_ECC_SBE_AGG_TOTAL | counter | 单比特持久 ECC 错误总数 | | DCSM_FI_DEV_ECC_DBE_AGG_TOTAL | counter | 双比特持久 ECC 错误总数 | ::: ### 标签字段 用于描述指标来源设备的静态特征,如下表所示。这些字段不会作为指标上报,而是作为 Prometheus 指标的标签附加在每条指标数据上。 ::: nested-table | Label 名称 | 描述 | | ---------------------- | ------------------------------- | | DCSM_FI_DEV_NAME | 设备型号 | | DCSM_FI_DEV_SERIAL | 设备序列号(Serial Number,SN) | | DCSM_FI_DRIVER_VERSION | 驱动版本 | | DCSM_FI_MXML_VERSION | MXML 版本 | :::