跳到主要内容

Monitoring Architecture

架构概述

ZCP 使用 Prometheus Agent 从多个数据平面集群收集指标,并将其集中存储在控制平面集群中的 Cortex。它提供内置的综合仪表板,通过 Grafana 监控集群范围和项目特定的工作负载,并具有根据需要自定义仪表板的灵活性。

该系统在每个数据平面集群上部署 Prometheus 以收集指标,然后使用 remote_write API 将其传输到控制平面集群上的 Cortex 存储。

在控制平面集群中,部署了 Cortex Gateway 以接收来自运行在数据平面集群上的 Prometheus 代理的指标数据。Cortex 组件处理跨多个集群的指标存储和可视化。此外,Cortex Rule and Alertmanager 组件根据收集的指标启用报警规则,当预定义的阈值被超越时触发操作员的通知。

负责管理 Prometheus 代理、多项目支持以及配置 Grafana 组织和仪表板的 Monitoring Backend Component 也位于控制平面集群内。

组件和角色

控制平面组件

ComponentRoles
Grafana- 可视化收集的指标
监控后端- 管理 Grafana 组织、数据源和仪表板
- 在数据平面集群上部署 Prometheus
Cortex 网关- 处理多租户身份验证
- 将请求路由到 Cortex 组件
分发器- 验证传入的指标
- 跟踪高可用性 (HA)
- 执行负载均衡
Ingester- 将指标存储在长期存储中
查询器- 执行 PromQL 查询
查询前端(可选)- 提升读取性能
- 处理排队、拆分和缓存
规则引擎(可选)- 运行 PromQL 查询以进行警报和记录规则
警报管理器(可选)- 为警报添加多租户支持
配置(可选)- 存储规则引擎和警报管理器的设置
压缩器- 将多个块合并为一个优化块
- 降低存储成本
- 加快查询速度
存储网关- 处理块分片和复制
- 缓存查询结果
索引缓存- 改善查找性能
数据块缓存- 存储检索的数据块以加快访问速度
元数据缓存- 缓存元数据,例如租户列表和块映射

数据平面组件

ComponentRoles
Prometheus- 充当时间序列数据库
- 收集和存储指标
- 触发警报
Prometheus 节点导出器- 收集节点级系统指标
Kube 状态指标- 收集与 Kubernetes API 相关的指标