You need to enable JavaScript to run this app.
导航

镜像懒加载(Nydus)监控

最近更新时间2024.02.28 20:04:51

首次发布时间2023.07.24 17:34:24

容器服务集群通过 Nydus 实现镜像懒加载,提升创建 Pod 过程的镜像拉取速度。本文为您介绍如何配置和查看 Nydus 的监控信息。

说明

邀测·申请试用】:镜像懒加载功能目前处于 邀测 阶段,若未开启该功能则无法查看监控大盘。如需要使用镜像懒加载功能,请提交申请。

前提条件

操作步骤

配置采集规则

当您将容器服务集群正确接入托管 Prometheus,并安装了对应的组件后,需要配置对应的采集规则,才能正确采集指标。

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群
  3. 在集群列表页面,单击目标集群。
  4. 在集群管理页面的左侧导航栏中,选择 监控中心 > 监控看板
  5. 在配置页面右上角,单击 指标采集配置
  6. 选择 数据面组件 页签,在组件列表 是否采集 列,单击开关,开启 image-accelerator 组件的采集规则。
    alt
  7. (可选)单击组件列表 操作 栏中的 编辑指标,支持选择或丢弃组件的具体指标,并配置面向该组件的采集间隔。
    • 在 采集间隔 下拉菜单中,选择该组件指标的采集间隔。不同组件支持的采集间隔不同。
    • 在指标列表中,勾选指标,则采集该指标。取消勾选,则丢弃该指标。单击 指标类型 表头,允许基于指标类型对指标项进行筛选。
      alt

      说明

      • 减小指标采集间隔,会增加单位时间内上报的指标数量,可以提升监控精度。但会增加托管 Prometheus 标准版工作区的费用。增加指标采集间隔,会减少单位时间内上报的指标数量,可以减少托管 Prometheus 标准版工作区的费用,但会降低监控精度。请根据实际需要配置。
      • 云产品的指标类型分为 基础指标 和 其他指标,不同类型指标的计费方式不同,详情请参见 托管 Prometheus 计费方式

开启懒加载功能

您需要在集群的节点池中,开启镜像懒加载功能。才能正确查看指标信息。

创建集群时配置

  1. 登录 容器服务控制台
  2. 在集群管理页面的左侧导航栏,选择 集群
  3. 在集群列表页面,单击左上角 创建集群,配置创建集群所需的参数。
  4. 节点池配置(可选) > 高级配置 处,开启镜像懒加载功能。
    alt

    说明

    创建集群时的其他配置,请参见 创建集群

在已有集群中配置

  1. 登录 容器服务控制台
  2. 在容器服务的左侧导航栏,选择 集群
  3. 在集群列表,单击目标集群名称。
  4. 在集群管理页面的左侧导航栏,选择 节点管理 > 节点池
  5. 创建新的节点池或编辑已有的节点池,在节点池编辑页面中,选择 高级配置,并开启镜像懒加载功能。
    alt

查看大盘

配置 Nydus 懒加载功能后,您可以在容器服务控制台中,查看预置的监控大盘。包括:Nydus Daemon 数量、Nydus Daemon 内存用量等。

  1. 登录 容器服务控制台
  2. 在左侧导航栏中选择 集群
  3. 在集群列表页面,单击目标集群。
  4. 在集群管理页面的左侧导航栏中,选择 监控中心 > 监控看板
  5. 在左侧看板列表中选择 镜像加速服务监控 > 镜像懒加载(Nydus)监控,即可查看监控大盘。
    alt

    说明

    您也可以在集群中自建 Grafana,并通过 Grafana 查看指标和创建大盘。详情请参见 将托管 Prometheus 数据接入自建 Grafana

指标清单

Nydus 监控大盘的指标清单如下表所示。

大盘分类大盘名称指标单位PromQL 语句
Nydus Daemon 监控Nydus Daemon 数量Countsum(nydusd_counts{node=~"$node"})by(version)
Nydus Daemon 内存用量MBtopk(10,sum(nydusd_rss_kilobytes{cluster="$clusterId",node=~"$node"})by (node))
Prepare 函数执行时间 P90mstopk(10,histogram_quantile(0.9,sum(rate(snapshotter_snapshot_operation_elapsed_milliseconds_bucket{cluster="$clusterId",node=~"$node",snapshot_operation="PREPARE"}[5m]))by (le,node)))
Cleanup 函数执行时间 P90mstopk(10,histogram_quantile(0.9,sum(rate(snapshotter_snapshot_operation_elapsed_milliseconds_bucket{cluster="$clusterId",node=~"$node",snapshot_operation="CLEANUP"}[5m]))by (le,node)))
Mount 函数执行时间 P90mstopk(10,histogram_quantile(0.9,sum(rate(snapshotter_snapshot_operation_elapsed_milliseconds_bucket{cluster="$clusterId",node=~"$node",snapshot_operation="MOUNTS"}[5m]))by (le,node)))
Remove 函数执行时间 P90mstopk(10,histogram_quantile(0.9,sum(rate(snapshotter_snapshot_operation_elapsed_milliseconds_bucket{cluster="$clusterId",node=~"$node",snapshot_operation="REMOVE"}[5m]))by (le,node)))
Nydus snapshotter 资源使用Nydus snapshotter CPU 使用率%topk(10,sum(snapshotter_cpu_usage_percentage{cluster="$clusterId",node=~"$node"})by (node))
Nydus snapshotter 内核态 CPU 时间mstopk(10,sum(snapshotter_cpu_system_time_seconds{cluster="$clusterId",node=~"$node"})by (node))
Nydus snapshotter 用户态 CPU 时间mstopk(10,sum(snapshotter_cpu_user_time_seconds{cluster="$clusterId",node=~"$node"})by (node))
Nydus snapshotter 内存用量MBtopk(10,sum(snapshotter_memory_usage_kilobytes{cluster="$clusterId",node=~"$node"})by (node))
Nydus snapshotter Cache 用量Btopk(10,sum(snapshotter_cache_usage_kilobytes{cluster="$clusterId",node=~"$node"})by (node))
Nydus 错误和事件Nydusd Read error 数量Counttopk(10,sum(nydusd_read_errors{cluster="$clusterId",node=~"$node"}) by(node))
Nydusd Died event 数量Counttopk(10,sum(nydusd_lifetime_event_counts{cluster="$clusterId",node=~"$node",nydusd_event="DIED"})by (node))
Nydus read 性能Nydus read P90 延迟mstopk(10,histogram_quantile(0.9,sum(rate(nydusd_read_latency_microseconds_bucket{cluster="$clusterId",node=~"$node"}[5m]))by(le,node)))
Nydus read 成功数量Counttopk(10,sum(nydusd_read_hits{cluster="$clusterId",node=~"$node"})by(node))
Nydus read 总 SizeBtopk(10, sum(nydusd_total_read_bytes{cluster="$clusterId", node=~"$node"})by (node))
Nydus read hang IO 数量Counttopk(10,sum(nydusd_hung_io_counts{cluster="$clusterId",node=~"$node"})by (node))

说明

如果您需要在托管 Prometheus 中的 Explore 功能或告警中心使用上述 PromQL 语句查看具体的指标或配置告警,请修改或删除语句中关于集群、节点、容器组的变量。例如:将 cluster=~"$Cluster"参数中的$Cluster变量修改为具体的集群 ID ,或直接删除该参数。

查看指标

您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询

配置告警

您可以在托管 Prometheus 的告警中心配置集群相关告警。详情请参见 创建告警规则