Fleet Monitoring

概述

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

Fleet Monitoring 不能替代单集群监控。请在需要进行 fleet 级治理、容量分析和长期趋势分析时使用 Fleet Monitoring;当你需要针对特定集群、命名空间、工作负载或指标进行详细排障时,请使用单集群监控。

前置条件

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

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

有关启用步骤,请参见 Configure Fleet Monitoring

访问 Fleet Monitoring

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

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

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

内置监控面板

Fleet Monitoring 包含用于 fleet 级监控的预置监控面板。

Fleet Monitoring Overview

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

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

请将此监控面板用于日常 fleet 健康检查、容量审查,以及快速识别需要关注的集群。

该监控面板包含以下信息:

区域描述
Fleet inventory集群数量、节点数量、pod 数量、项目数量、总 CPU、总内存、过期采集数和活动告警数。
Fleet utilizationCPU 使用率、CPU 请求比率、内存使用率和内存请求比率。
Node ranking已连接集群中按 CPU 使用量和内存使用量排序的前几个节点。
Utilization trendsCPU 利用率趋势和内存利用率趋势。
Cluster details集群级资源和利用率详情。

Fleet Monitoring Project Quota

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

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

该监控面板包含以下信息:

区域描述
Definitions and thresholds配额、已分配、已使用和使用比率的定义,以及正常、高和接近上限使用的阈值含义。
Quota usage overview项目数量、配额对象数量、高使用率对象数量、CPU 和内存使用比率、配额总量、已分配量和已使用量。
Quota distribution未分配、已分配未使用和已占用资源之间的 CPU 和内存配额分布。
Quota usage ranking按 CPU 配额使用量和内存配额使用量排序的前几个项目。
Project quota details项目级配额分配、使用情况和风险详情。

筛选数据

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

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

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

添加自定义 Fleet Monitoring 监控面板

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

请使用以下任一方法:

  • 在现有的 Dashboard 页面上,在 Global cluster 上创建监控面板,并通过页面操作添加 fleet-monitoring 标签。
  • MonitorDashboard YAML 资源提交到 Alauda Container Platform Fleet Monitoring Central Service 在 Global cluster 上安装所在的命名空间。请确保该资源带有 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 指标。监控面板作者必须确保该监控面板使用的 data sources、指标和变量能够在 Fleet Monitoring 场景下正常工作。

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

在当前的平台查询路径中,当直接查询 Fleet metrics 时,Fleet Monitoring 监控面板查询应显式包含 vmcluster=~".*"。如果没有该选择器,监控查询代理可能会将查询缩小到 Global monitoring backend,并且不会返回已连接集群的 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 不提供供普通用户自助配置采集指标或 recording rules 的页面。
  • Fleet Monitoring 不回填历史数据。数据仅在启用 Fleet Monitoring 后开始采集。
  • Fleet Monitoring 不适合用于秒级排障。请使用单集群监控进行详细排障。