全部产品
Search
文档中心

通过Prometheus监控磁盘

更新时间: 2021-06-01

在Kubernetes集群中创建ECI实例时,ECI实例会运行在虚拟节点上。由于并不存在真实节点,磁盘是与Pod相关,而不是Node。因此,您需要额外配置Pod级别的磁盘监控,才能监控磁盘相关指标。本文介绍如何在Prometheus中监控ECI实例相关的磁盘。

前提条件

已创建ASK集群,且集群已部署了ARMS Prometheus监控。具体操作,请参见ASK接入ARMS Prometheus监控

操作步骤

  1. 登录容器服务管理控制台

  2. 打开Grafana页面。

    1. 集群页面,找到目标集群,单击集群名称。

    2. 集群信息页面,单击右上角的Prometheus监控

    3. Prometheus监控页面,单击右上角的在新页面打开

  3. 在Grafana页面的左侧导航栏,单击加号图标,选择Import

  4. 单击Upload JSON file,然后上传JSON文件。

    JSON文件包含大盘相关配置,示例文件请下载ECI Pod Disk

  5. 修改大盘文件夹和数据源为目标集群。

    磁盘监控1
  6. 单击Import

    导入成功后,您可以查看对应ECI Pod的磁盘相关监控信息。

    磁盘监控2

    ARMS控制台Prometheus监控页面,您可以看到对应集群的大盘列表中已添加新的自定义磁盘监控大盘。

    磁盘监控3
  7. (可选)如果需要筛选查看Deployment级别或者StatefulSet级别的监控,您可以将当前磁盘监控大盘中的对应Panel复制到Deployment或者StatefulSet的大盘中,或者直接在该大盘中修改Dashboard settings。

    在磁盘监控大盘中修改Dashboard settings,添加筛选变量的操作如下:

    1. 在磁盘监控大盘的Grafana页面,单击右上角的设置图标。

    2. Settings页面的左侧导航栏,选择Variables

    3. 单击New,编辑General和Query Options相关设置,然后单击Add

      添加变量时,请根据需要变量类型设置Query。示例如下表所示。

      类型

      Query

      deployment

      label_values(kube_deployment_created{namespace=~"$namespace"},deployment)

      statefulset

      label_values(kube_statefulset_created{namespace=~"$namespace"},statefulset)

      下图以添加deployment变量为例:

      磁盘监控4
    4. 单击pod变量,在Edit页面修改Query,然后单击Update

      请根据上一步添加的变量类型修改Query。示例如下表所示。

      类型

      Pod对应的Query

      deployment

      query_result(kube_pod_info{namespace=~'$namespace',pod=~"$deployment.*"} >= 1)

      statefulset

      query_result(kube_pod_info{namespace=~'$namespace',pod=~"$statefulset.*"} >= 1)

    5. 调整deployment变量(或者statefulset变量)与pod变量的顺序,使deployment变量(或者statefulset变量)在pod变量之上。

      下图以deployment变量为例:磁盘监控5

    6. 返回磁盘监控大盘页面,查看筛选功能是否生效。

      下图以生效Deployment级别的筛选功能为例:

      磁盘监控6