通过Prometheus监控磁盘

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

前提条件

说明

默认情况下,接入ARMS Prometheus监控后使用的Grafana工作区为服务共享版,共享版不支持自定义大盘。

操作步骤

  1. 登录ARMS控制台

  2. 打开Grafana页面。

    1. 在左侧导航栏,选择Grafana服务>工作区管理

    2. 单击标准版工作区ID。

    3. 工作区信息页面,单击连接信息处对应的URL地址,打开Grafana登录页面。

    4. 输入账号信息,登录Grafana。

      您可以使用admin账号和创建工作区时设置的密码登录Grafana,也可以使用其他账号。

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

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

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

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

    磁盘监控1
  6. 单击Import

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

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

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

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

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

    3. 单击右上角的New,编辑General和Query Options相关设置,然后单击Update

      添加变量时,请根据需要变量类型设置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. 单击Save dashboard,保存配置。

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

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

      磁盘监控6

阿里云首页 弹性容器实例 相关技术圈