Fleet Monitoring

概述

Fleet Monitoring 为平台管理员提供全局多集群监控视图。它可帮助您了解哪些集群已连接、监控数据是否为最新数据,以及整个集群群组是否存在资源容量或配额风险。

Fleet Monitoring 不会取代单集群监控。需要进行集群群组级治理、容量分析和长期趋势分析时,请使用 Fleet Monitoring。需要对特定集群、命名空间、工作负载或指标进行详细故障排查时,请使用单集群监控。

前提条件

使用 Fleet Monitoring 前,请确保满足以下要求:

  • Alauda Container Platform Fleet Monitoring Central Service 已安装在 Global 集群上。
  • Global 集群上存在 FleetMonitoringHub 资源。
  • Alauda Container Platform Fleet Monitoring Cluster Service 已安装在您希望纳入 Fleet Monitoring 的每个集群上。
  • 您希望纳入的每个集群上都存在 FleetMonitoringAgent 资源。
  • 已连接的集群由 Global 集群管理,并已启用 Monitoring 功能。
  • 您具有查看 Fleet Monitoring 页面和监控数据的权限。

有关启用步骤,请参阅 配置 Fleet Monitoring

访问 Fleet Monitoring

要打开 Fleet Monitoring,请转到 Platform > Observe > Fleet Monitoring

该页面显示默认的 Fleet Monitoring 监控面板。使用 Switch 在内置和自定义 Fleet Monitoring 监控面板之间切换。

在第一个版本中,Fleet Monitoring 页面不提供 CreateImport 或图表编辑操作。要添加自定义 Fleet Monitoring 监控面板,请使用现有的 Monitoring Dashboard 资源工作流。有关更多信息,请参阅添加自定义 Fleet Monitoring 监控面板

内置监控面板

Fleet Monitoring 包含用于集群群组级监控的预设监控面板。

Fleet Monitoring 概览

Fleet Monitoring Overview 监控面板是默认的预设监控面板。它可帮助您回答以下问题:

  • 哪些集群已连接到 Fleet Monitoring?
  • 集群群组中有多少节点、Pod、项目、CPU 核心和内存资源?
  • 集群群组当前的 CPU 和内存使用率及请求率是多少?
  • 哪些节点的 CPU 或内存使用率较高?
  • 集群群组级 CPU 和内存利用率趋势如何?

使用此监控面板执行每日集群群组健康检查和容量审查,并快速识别需要关注的集群。

监控面板包含以下信息:

区域描述
集群群组清单集群数量、节点数量、Pod 数量、项目数量、CPU 总量、内存总量、过期采集数量和活动告警数量。
集群群组利用率CPU 使用率、CPU 请求率、内存使用率和内存请求率。
节点排名已连接集群中按 CPU 使用率和内存使用率排名靠前的节点。
利用率趋势CPU 利用率趋势和内存利用率趋势。
集群详情集群级资源和利用率详情。

Fleet Monitoring 项目配额

Fleet Monitoring Project Quota 监控面板是一个预设监控面板,可帮助您了解已连接集群中的项目配额分配和使用情况。

使用此监控面板查看项目配额分布,并识别存在配额分配或使用风险的项目。

监控面板包含以下信息:

区域描述
定义和阈值配额、已分配、已使用和使用率的定义,以及正常、高和接近上限使用率的阈值含义。
配额使用概览项目数量、配额对象数量、高使用率对象数量、CPU 和内存使用率、配额总量、分配量和使用量。
配额分布未分配、已分配但未使用和已占用资源中的 CPU 与内存配额分布。
配额使用排名按 CPU 配额使用率和内存配额使用率排名靠前的项目。
项目配额详情项目级配额分配、使用情况和风险详情。

此监控面板读取 Fleet 级汇总指标,这些指标在 Global 集群上每小时评估一次。新创建的项目或新连接的集群最多可能需要约一小时才会显示在此监控面板上。

筛选数据

Fleet Monitoring 监控面板提供变量,帮助您将视图缩小到特定的集群集合或项目集合。

变量描述
Cluster Label Key选择用于筛选的集群标签键。
Cluster Label Value选择所选集群标签键的值。
Cluster选择一个或多个集群。可以使用集群标签变量缩小此列表。
Project选择一个或多个项目。此变量在项目配额监控面板上可用。
Quota Resource Typelimitsrequests 之间切换。此变量在项目配额监控面板上可用。
时间范围控制监控面板查询的时间范围。

Cluster 变量可以列出所有已知集群。Connected Clusters 指标只统计实际写入 Fleet Monitoring 数据的集群。因此,集群列表和已连接集群数量可能不同。

添加自定义 Fleet Monitoring 监控面板

您可以使用现有的 Monitoring Dashboard 资源工作流,将自定义多集群监控面板添加到 Fleet Monitoring。

请使用以下任一方法:

  • 在现有的 Dashboard 页面中,在 Global 集群上创建监控面板,并通过页面操作添加 fleet-monitoring 标签。
  • MonitorDashboard YAML 资源提交到 Global 集群上安装 Alauda Container Platform Fleet Monitoring Central Service 的命名空间。确保资源具有 cpaas.io/dashboard.tag.fleet-monitoring: "true" 标签。此标签会将 fleet-monitoring 标签添加到监控面板。

示例:

apiVersion: ait.alauda.io/v1alpha2
kind: MonitorDashboard
metadata:
  name: my-fleet-dashboard
  namespace: <fleet-monitoring-namespace>
  labels:
    cpaas.io/dashboard.folder: fleet
    cpaas.io/dashboard.tag.fleet-monitoring: "true"
    cpaas.io/dashboard.tag.multi-cluster: "true"
    cpaas.io/published: "true"
spec:
  body: {}

<fleet-monitoring-namespace> 替换为 Global 集群上安装 Alauda Container Platform Fleet Monitoring Central Service 的命名空间。

系统不会验证自定义监控面板是否使用 Fleet Monitoring 指标。监控面板作者必须确保监控面板使用适用于 Fleet Monitoring 上下文的数据源、指标和变量。

对于多集群监控面板,请使用 cluster 标签标识源集群。如果原始指标已具有 cluster 标签,Fleet Monitoring 会将原始值保留为 exported_cluster

在当前平台查询路径中,直接查询 Fleet 指标时,Fleet Monitoring 监控面板查询应明确包含 vmcluster=~".*"。如果没有此选择器,监控查询代理可能会将查询范围缩小到 Global 监控后端,并且不会返回已连接集群的 Fleet 指标数据。

示例:

avg_over_time(fleet:node:node_load15:avg{vmcluster=~".*",cluster="g1-c1"}[1h])
last_over_time(fleet:node:node_load15:avg:avg_over_time_1h{vmcluster=~".*",cluster="g1-c1"}[2h])

限制

Fleet Monitoring 的第一个版本存在以下限制:

  • Fleet Monitoring 不提供专用的多集群告警页面。
  • 现有告警机制可以使用 Fleet Monitoring 数据,但告警规则仍通过现有告警工作流进行管理。
  • Fleet Monitoring 不提供供普通用户自助配置所采集指标或记录规则的页面。
  • Fleet Monitoring 不会回填历史数据。只有在启用 Fleet Monitoring 后才会采集数据。
  • Fleet Monitoring 不适用于秒级故障排查。需要进行详细故障排查时,请使用单集群监控。