背景

现状

  1. 某司概况:

    1. PaaS/SaaS 公司,业务面向全球,包括 东南亚/南亚/中东/欧洲/非洲/美洲/东亚...
    2. 生产 k8s 集群数十套,生产非生产 >100 套(多种集群类型,各种公有云/专有云/私有云/数据中心...)
    3. 疫情以来,持续推进成本优化。
  2. 某司监控概况,由于历史原因和出于成本考虑:

    1. 基于 原生 Prometheus 深度定制+自研部分 exporter/sd, 没用使用 kube-prometheus-stack(不兼容,成本会增加)
    2. 监控覆盖:k8s/pod/各类中间件/微服务/url...
    3. 每个集群一套 Prometheus 监控
    4. 监控所占用的计算存储等资源受限
    5. 监控部署方式:ansible 安装监控组件及后续使用 jenkins devops CI/CD 的自动发布

综上,监控可以称得上:

  1. 全球化的
  2. 大规模的
  3. 混合云的
  4. Kubernetes 的
  5. 低成本监控

问题

近期因监控覆盖不足(具体为某集群缺少了 url 监控部分的配置)导致告警漏报,对此进行了深入复盘,核心问题可归纳为两点:

  1. 缺乏唯一可信配置来源,各集群监控配置分散,存在版本不一致、规则遗漏等问题;
  2. 手动操作导致配置漂移,无法实时同步全球集群状态,故障预警能力受限。

为避免此类问题再次发生,规划改进如下:

采用 GitOps(Git 作为唯一事实来源)+ Prometheus Operator 为核心的标准化监控架构,具体方案如下:

一、问题根源与改进方向

  1. 当前挑战

    • 碎片化管理:全球数百套集群的 Prometheus 监控配置部分仍依赖人工维护,易出现规则遗漏、阈值不统一。
    • 手动管理风险:手动管理监控组件和监控配置和阈值,存在过期或误配置隐患(如近期故障)。
    • 监控数据噪音:因配置不一致,告警误报/漏报频发,影响故障响应效率。
  2. 目标方案

    • 唯一事实来源(Single Source of Truth):通过 Git 仓库统一管理所有监控配置(Prometheus 规则、ServiceMonitor、AlertManager 等),消除人工干预。
    • GitOps 自动化同步 (reconcile) 与自愈:利用 ArgoCD 等相关 GitOps 专业工具实现配置实时同步,确保集群状态与 Git 声明一致。
    • 集中式可观测性:通过 Prometheus Operator 标准化部署,如有必要,后续可以考虑结合 Thanos/Cortex/Mimir 实现跨集群监控数据聚合。

二、技术实现路径

  1. GitOps (Git 作为唯一事实来源) 的标准化流程

    • GitOps:将所有监控资源(Prometheus CRD、Grafana 仪表盘)存储在 Git 仓库,版本控制+Code Review 机制保障变更可追溯。
    • 自动化同步 (reconcile):通过 ArgoCD 等相关 GitOps 专业工具监听 Git 仓库变更,自动推送至各集群,避免人工误操作(这里参考了红帽 OpenShift GitOps 最佳实践)。
    • 紧急修复流程:任何生产变更必须通过 Git 提交,仅允许 Git 仓库作为修改入口,杜绝“临时补丁”。
  2. Prometheus Operator 强化能力

    • 统一部署模板:使用 Helm Chart 封装 Prometheus Stack(AlertManager、BlackBox 等),确保各集群版本与配置一致。
    • 动态服务发现:通过 ServiceMonitor 自动识别微服务端点,避免手动添加 Exporter 导致的遗漏。

三、预期收益

  1. 降低运维风险:配置漂移减少 90%以上,监控组件/阈值/配置实现全自动化管理。
  2. 提升故障响应:通过集中告警视图与标准化规则,MTTD(平均故障检测时间)缩短 50%。
  3. (待定)成本优化:避免重复开发监控组件,资源利用率提升 30%(通过 Prometheus 联邦集群优化数据存储,如 Thanos/Cortex/Mimir 等)。

四、后续计划

  1. 试点推进:计划先搭建一个临时环境,进行一段时间的 PoC 验证,输出标准化模板及自动化流水线。
  2. 全球推广

    1. 监控专用管理集群搭建。
    2. 分阶段迁移至 GitOps(Git 作为唯一事实来源) + Prometheus Operator 体系,考虑到规模较大,预计需要持续投入。
  3. 培训与协同:组织团队内部分享会,同步 GitOps(Git 作为唯一事实来源)+ Prometheus Operator 协作规范(分支策略、项目结构策略、Review 流程等)。

📚️ 参考文档

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

东风微鸣云原生
30 声望9 粉丝