使用csi-plugin组件监控节点侧存储资源

容器服务 Kubernetes 版支持对云盘和NAS存储卷的监控,通过可观测监控 Prometheus 版收集指标以监控当前节点侧存储的使用状况。本文介绍如何通过csi-plugin组件监控节点侧存储监控,并举例说明如何配置事件告警。

前提条件

仅v1.18.8.46-afb19e46-aliyun及以上版本的csi-plugin同时支持云盘及NAS监控功能,请确保当前的csi-plugin组件的YAML版本和镜像版本为最新版本。您可通过控制台升级至最新版本。具体操作,请参见通过控制台升级csi-plugin组件

背景信息

在ACK集群中通常使用云盘数据卷或NAS数据卷存储数据,通过部署csi-plugin的最新版本(ACK集群默认安装csi-plugin组件)将磁盘监控与PVC进行绑定。通过可观测监控 Prometheus 版可以查看当前PVC的状态、配置容量阈值和IOPS阈值,进行事件告警以感知当前PVC使用情况。

通过控制台升级csi-plugin组件

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

  3. 单击存储页签,在csi-plugin组件区域单击升级

存储监控使用说明

目前节点侧监控功能支持云盘及NAS两种存储产品。您可通过Prometheus监控当前云盘或NAS的使用状况,具体操作如下。

重要
  • 查看存储监控资源需要开启可观测监控 Prometheus 版。具体操作,请参见开启阿里云Prometheus监控

  • 启用存储监控功能后,相关组件会自动将监控指标发送至阿里云Prometheus服务,这些指标将被视为自定义指标。使用自定义指标可能会引起额外的费用。为了避免产生额外的费用,建议在启用此功能前,仔细阅读阿里云Prometheus的计费概述,了解自定义指标的收费策略。费用将根据您的集群规模和应用数量等因素产生变动。您可以通过资源消耗统计功能,监控和管理您的资源使用情况。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > Prometheus 监控

  3. 单击存储监控,然后单击CSI存储组件监控-节点维度页签,进入节点侧的监控大盘。

    metrics

  • 过滤项

    过滤项

    说明

    StorageType

    存储类型,disk表示云盘,nas表示NAS文件存储。

    Namespace

    PVC所在的命名空间。

    PVC

    PVC的名称。

  • 监控指标

    指标名称

    说明

    显示单位

    IOPS

    PVC的读写IOPS

    ops/sec(每秒读写磁盘次数)

    Latency(avg)

    PVC的读写请求的平均时延

    ms(毫秒)

    ThroughPut

    PVC的吞吐量

    GB

    IO Count In Queue

    IO请求在磁盘队列的个数

    个数

    Used Capacity

    PVC的磁盘使用空间大小

    GB

    Total Capacity

    PVC的磁盘总空间大小

    GB

    Free Capacity

    PVC的磁盘剩余空间大小

    GB

云盘存储监控使用示例

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > Prometheus 监控

  3. Prometheus监控页面单击存储监控,然后单击CSI存储组件监控-节点维度页签。

  4. 选择云盘存储卷所在的StorageTypeNamespace及PVC名称后,在Total Capacity区域可查看云盘存储卷当前容量。

    本示例StorageType选择为diskNamespace选择为defaultPVCpvc-disk-static-create1云盘存储监控资源从上图可得,当前云盘总容量为39.25 GiB,使用了48.2 MiB,剩余39.18 GiB。

  5. 向云盘中写入测试数据。

    1. 执行以下命令查看挂载云盘的应用名称。

      kubectl get pod

      预期输出:

      NAME                                              READY   STATUS    RESTARTS   AGE
      deployment-disk-static-create1-67f4b5cfdc-p5q7t   1/1     Running   0          20m
    2. 执行以下命令进入挂载云盘的应用。

      kubectl exec deployment-disk-static-create1-67f4b5cfdc-p5q7t -ti sh
    3. 执行以下命令向云盘挂载目录/data写入20 GiB数据。

      cd /data
      /usr/bin/fio -direct=1 -iodepth=256 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=1 -runtime=100 -group_reporting -name=Rand_Write_Testing -filename=./test -size=20G
  6. Prometheus监控页面单击存储监控,然后单击CSI存储组件监控-节点维度页签,再次查看云盘存储监控资源。

    云盘存储监控数据写入后从上图可得,写入的IOPS为4 k,吞吐率为15 MB/s,写入数据容量为20 GiB,剩余容量为19 GiB,平均延时约为67 ms。

NAS存储监控使用示例

重要

使用NAS存储监控,NAS容量指标的PV需要满足以下条件:

  • 使用CNFS托管的NAS文件系统,并且NAS文件系统为容量型实例。

  • PV为通过StorageClass创建的动态卷。

  1. 向NAS存储卷挂载目录写入测试数据。

    1. 执行以下命令查看挂载NAS存储卷的应用名称。

      kubectl get pod

      预期输出:

      NAME                                   READY    STATUS    RESTARTS   AGE
      cnfs-nas-deployment-84f6cdf6cc-wvjjq   1/1      Running   0          20m
    2. 执行以下命令进入挂载NAS存储卷的应用。

      kubectl exec cnfs-nas-deployment-84f6cdf6cc-wvjjq -ti sh
    3. 执行以下命令向NAS存储卷挂载目录/data写入20 GiB数据。

      cd /data
      /usr/bin/fio -direct=1 -iodepth=256 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=1 -runtime=100 -group_reporting -name=Rand_Write_Testing -filename=./test -size=20G
  2. 登录容器服务管理控制台,在左侧导航栏选择集群

  3. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > Prometheus 监控

  4. Prometheus监控页面单击存储监控,然后单击CSI存储组件监控-节点维度页签。

  5. 选择NAS存储卷所在的StorageTypeNamespace及PVC名称后,在Total Capacity区域可查看NAS存储卷当前容量。

    本示例StorageType选择为nasNamespace选择为defaultPVCcnfs-nas-pvcNAS存储监控资源从上图可得,写入的IOPS约为15 k,吞吐率从10 MB/S增长到60 MB/s,平均延时约为15 ms。

相关文档