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 页面不提供 Create、Import 或图表编辑操作。若要添加自定义 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 Type在 limits 和 requests 之间切换。此变量在项目配额监控面板上可用。
时间范围控制监控面板查询的时间范围。

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> 替换为安装 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 不适用于秒级故障排查。需要详细故障排查时,请使用单集群监控。