Fleet Monitoring

概述

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

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

前提条件

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

  • Alauda Container Platform Fleet Monitoring Central Service 已安装在 global 集群上。
  • FleetMonitoringHub 资源存在于 global 集群上。
  • 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 级监控的预设监控面板。

Fleet Monitoring 概览

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

  • 哪些集群已连接到 Fleet Monitoring?
  • fleet 中有多少节点、pod、project、CPU 核心和内存资源?
  • 当前 fleet 范围内的 CPU 和内存使用量及请求量处于什么水平?
  • 哪些节点的 CPU 或内存使用率更高?
  • fleet 级 CPU 和内存利用率趋势如何?

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

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

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

Fleet Monitoring Project Quota

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

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

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

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

筛选数据

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

变量说明
Cluster Label Key选择用于筛选的集群标签键。
Cluster Label Value选择所选集群标签键的值。
Cluster选择一个或多个集群。可通过集群标签变量缩小此列表。
Project选择一个或多个 project。此变量可用于 project quota 监控面板。
Quota Resource Typelimitsrequests 之间切换。此变量可用于 project quota 监控面板。
Time range控制监控面板查询的时间范围。

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

添加自定义 Fleet Monitoring 监控面板

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

可使用以下任一方法:

  • 在现有的 Dashboard 页面中,在 global 集群上创建一个监控面板,并通过页面操作添加 fleet-monitoring 标签。
  • MonitorDashboard YAML 资源提交到 Alauda Container Platform Fleet Monitoring Central Service 安装所在的命名空间中,且该命名空间位于 global 集群上。确保该资源包含 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 不适用于二级故障排查。请使用单集群监控进行详细排查。