CCE 容器可观测参考架构(VictoriaMetrics 开源栈)
【摘要】 基于CCE部署VictoriaMetrics + Grafana + AlertManager + VMAgent,实现云原生全栈可观测性
1. 用途和受众
1.1 预期用途
- 指导企业在华为云 CCE 上基于 VictoriaMetrics 开源栈(vmagent / vmstorage / vmalert)与 Grafana 构建容器可观测平台,覆盖指标、日志、告警三大支柱。
- 为大规模、高基数容器指标采集与长期存储提供可替代/增强自建 Prometheus 的架构模式。
- 与华为云托管服务(LTS、CES、AOM、SMN、OBS、IAM)集成,缩小自建范围、降低运维负担。
- 作为售前方案、交付实施与可观测性容量评估的架构基础。
1.2 目标受众
- 可观测性工程师:负责 VictoriaMetrics 监控栈选型、指标采集与存储策略设计
- SRE:负责容器可观测体系部署、告警规则配置与故障定位
- 容器平台工程师:负责 CCE 集群监控接入、Prometheus 采集配置与性能调优
- 交付架构师:负责可观测方案落地交付与集成实施
- 企业客户(容器规模较大的互联网/金融/制造):评估开源可观测栈,建设容器监控与告警体系
- ISV 与 MSP:参与可观测平台实施、运维托管与调优服务
2. 参考架构概述
2.1 架构描述
基于华为云 CCE 构建的容器可观测架构,按"工作负载 → 采集 → 存储 → 展示与告警"四层落地,并以 IAM/CES/AOM 作为公共服务:CCE 集群中应用 Pod 暴露 Prometheus 指标,vmagent 定时抓取并完成 relabel 治理后远程写入分片多副本的 vmstorage 集群;容器日志由 LTS 采集存储;Grafana 以 PromQL 查询展示大盘,vmalert 周期评估告警规则并经 SMN 通知值班;冷数据降采样归档至 OBS,CES 云资源指标作为补充,AOM 可选 remote write 对接。
2.2 业务背景
| 项目 | 描述 |
|---|---|
| 业务问题 | 容器规模快速增长导致指标基数爆炸,自建 Prometheus 单机存储在容量、查询性能与高可用上遭遇瓶颈;日志与告警链路分散,故障定位依赖多套工具切换 |
| 期望的结果 | 指标统一采集与长期存储、秒级大盘查询、告警闭环到值班人;日志集中检索;云资源指标与容器指标同屏观测 |
| 主要用户 | SRE / 运维值班、应用开发团队、容器平台管理员 |
| 关键制约因素 | 指标基数与保留周期带来的存储成本;开源组件自运维能力要求;与既有监控体系(CES/AOM)并存期的双轨运维 |
| 成功指标 | 指标采集成功率 ≥99.9%;大盘查询 P95 <3s;告警触达延迟 <1min;冷数据存储成本下降 ≥50% |
2.3 架构优点
- 水平扩展:vmstorage 分片 + 多副本部署,指标容量与查询性能随节点线性扩展,摆脱单机 Prometheus 瓶颈。
- 高效采集治理:vmagent 支持高频率抓取、本地缓冲与断点续传,配合 relabel 过滤、去重与标签规范化,从源头控制基数与成本。
- 低成本长期存储:VictoriaMetrics 高压缩比 + OBS 冷数据归档与生命周期策略,热数据快查、冷数据低成本留存。
- 统一展示:Grafana 兼容 PromQL 与 Prometheus 生态,容器指标与 CES 云资源指标同屏呈现。
- 告警闭环:vmalert 基于规则周期评估,告警事件经 SMN 以邮件/短信/HTTP 多通道触达值班团队。
- 托管互补:LTS 承担日志采集存储,CES 补充云资源监控,AOM 可选对接,缩小开源自建范围。
- 开源开放:VictoriaMetrics 与 Grafana 均为开源组件,生态兼容、无锁定,支持平滑迁移与混合部署。
2.4 设计关注点
| 性能 | 安全 | 可扩展性 | 运维 | 可靠性 |
|---|---|---|---|---|
| vmstorage 分片数与副本数按指标摄入速率规划(预留 50% 余量);vmagent 抓取间隔与并发按 Pod 规模调优;Grafana 查询走只读查询链路并限制大查询 | CCE 集群内以 IAM/密钥管理约束 OBS 访问;Grafana/vmagent 凭证经 Secret 管理并最小授权;SMN 订阅仅授权值班渠道 | vmstorage/vmagent 无状态化横向扩容;新集群接入仅需下发抓取配置;OBS 生命周期策略按桶统一生效 | 开源组件以 CCE 工作负载方式部署并纳入自身监控(self-scrape);告警规则版本化管理;LTS 保留期按合规设置 | vmstorage 多副本 + OBS 备份双保险;vmagent 本地缓冲应对后端抖动;告警链路(vmalert→SMN)独立健康探测 |
2.5 典型架构

架构图
2.6 流程描述
- ① 应用暴露 Prometheus 指标:输入为应用运行于 CCE 集群的 Pod;应用以 /metrics 端点暴露 Prometheus 格式指标,ECS 节点侧可经 node exporter 类采集器暴露节点指标;输出为可被抓取的标准指标端点。
- ② vmagent 抓取与 relabel:输入为全集群指标端点发现信息(含 CCE 服务发现);vmagent 定时抓取指标并执行 relabel(过滤、去重、标签规范化),本地缓冲后转发;输出为治理后的指标流。
- ③ 指标写入 vmstorage:输入为治理后的指标流;经 remote write 写入分片多副本的 vmstorage 集群,按保留周期存储;输出为可查询的时序数据。
- ④ LTS 采集容器日志:输入为容器 stdout 与应用日志;LTS 采集器接入 CCE 集群完成日志采集、结构化与索引,按保留期存储;输出为可检索的集中日志。
- ⑤ Grafana 大盘查询展示:输入为开发/运维团队的观测需求;Grafana 以 vmstorage 为 Prometheus 数据源,经 PromQL 查询并以大盘展示(可叠加 CES 云资源指标);输出为统一可视化视图。
- ⑥ vmalert 规则告警 → SMN 通知:输入为告警规则与实时指标;vmalert 周期评估规则,触发告警事件后推送 SMN 主题,经邮件/短信/HTTP 通知告警值班团队;输出为闭环的告警响应。
- ⑦ OBS 冷数据归档 + CES 指标补充:输入为过期热数据与云资源指标;vmstorage 冷数据降采样/备份归档至 OBS(生命周期策略控制成本),CES 采集 ECS 等云资源指标作为监控补充,AOM 可选经 remote write 对接;输出为低成本长期留存与云资源统一观测。
2.7 云服务产品清单
| 分类 | 服务或产品 | 推荐配置 | 官网链接 |
|---|---|---|---|
| 容器平台 | CCE 云容器引擎 | 集群承载业务工作负载与可观测组件(vmagent/vmstorage/vmalert/Grafana),节点池规格按摄入速率规划 | CCE |
| 计算 | ECS 弹性云服务器 | CCE 节点,节点级指标经 exporter 暴露 | ECS |
| 开源组件 | VictoriaMetrics(vmagent / vmstorage / vmalert) | 集群版部署:vmagent 高可用抓取,vmstorage 分片 + 多副本,vmalert 规则评估 | VictoriaMetrics |
| 开源组件 | Grafana | 对接 vmstorage 查询链路,大盘与告警视图统一管理 | Grafana |
| 日志 | LTS 云日志服务 | 接入 CCE 采集容器 stdout/应用日志,索引与保留期按合规设置 | LTS |
| 对象存储 | OBS 对象存储 | 冷数据归档 + vmstorage 备份桶,生命周期策略转低频/归档 | OBS |
| 监控告警 | CES 云监控 | 云资源(ECS 等)指标监控,作为容器指标体系的补充 | CES |
| 消息通知 | SMN 消息通知 | 告警主题订阅(邮件/短信/HTTP),对接值班渠道 | SMN |
| 应用运维 | AOM 应用运维管理 | 可选:经 remote write 与 VictoriaMetrics 对接,托管指标互补 | AOM |
| 身份与访问 | IAM 统一身份认证 | 用户组最小授权,OBS/SMN 等服务委托与凭证管理 | IAM |
3. 参考链接
- 产品文档:
- 实施指南:
- 源代码或 IaC:
- 操作手册:
- 安全性和合规性映射:
4. 使用限制
- VictoriaMetrics / Grafana 为开源自建组件,版本升级、容量规划与高可用运维由客户负责,须具备相应运维能力或购买技术支持。
- vmstorage 分片数变更涉及数据再均衡,须在容量评估阶段预留扩展余量,避免频繁调整。
- 高基数标签(如将请求 ID 写入标签)会显著放大存储成本,必须在 ② 的 relabel 阶段强制治理。
- LTS 日志保留期与 OBS 归档策略直接决定成本,投产前须完成保留策略评审。
- 告警规则数量与评估频率影响 vmalert 资源占用,规则变更须灰度验证,避免告警风暴。
- 本架构聚焦容器可观测,业务级 APM/链路追踪需求须另行设计。
附录 A. 术语和缩略语
| 术语 | 定义 |
|---|---|
| VictoriaMetrics | 开源时序数据库与监控方案,兼容 Prometheus 生态,支持单机版与集群版 |
| vmagent | VictoriaMetrics 采集组件,负责抓取、relabel、缓冲与转发指标 |
| vmstorage | VictoriaMetrics 集群版存储组件,支持分片与多副本 |
| vmalert | VictoriaMetrics 告警评估组件,周期执行告警/录制规则 |
| relabel | 抓取前后对标签进行重写、过滤、去重的机制,用于指标治理 |
| remote write | Prometheus 生态远程写入协议,用于将指标写入远端存储 |
| PromQL | Prometheus 查询语言,Grafana/vmalert 查询与规则的基础 |
| 高基数 | 指标标签组合数量巨大,导致时序条数爆炸的现象 |
| 降采样 | 对历史指标按更大时间粒度聚合压缩,降低冷数据存储成本 |
| exporter | 将第三方系统指标转换为 Prometheus 格式暴露的采集器 |
| SMN 主题 | 消息通知服务的发布/订阅通道,告警经主题分发到订阅终端 |
| 冷热分层 | 热数据保留高性能查询、冷数据归档低成本存储的数据分层策略 |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)