1. 服务画像概述

1.1 服务画像的定义

服务画像是对单个服务在运行态所有可观测维度的结构化数字快照。它把散落在监控、日志、调用链、CMDB、变更系统、事件平台中的原始数据,按统一元模型聚合为服务级特征向量,使每个服务都拥有一份可量化、可对比、可预测的“数字身份”。

核心公式: 服务画像 = 静态元数据 + 动态运行时指标 + 历史行为模式 + 依赖拓扑

服务画像不是静态的 CMDB 属性表,而是随时间推移不断自更新的时序特征集合。它覆盖以下维度:

维度 典型字段 数据来源
基础元数据 服务名称、Owner、Git 仓库、语言栈、框架版本 CMDB / 代码扫描
运行时指标 QPS、P99 延迟、错误率、CPU/内存水位 监控系统(Prometheus / Datadog)
依赖拓扑 上游调用方、下游依赖、中间件、DB、缓存 调用链 / 服务网格
变更特征 发布频率、回滚率、配置变更次数 CI/CD 平台 / 变更管理
事件历史 MTBF、MTTR、告警收敛比、故障类型分布 事件管理平台(PagerDuty / Opsgenie)
容量特征 资源规格、利用率峰值、扩缩容记录、限流触发次数 容器平台 / 容量管理系统

1.2 核心价值

服务画像在 SRE 日常工作中提供四个关键价值:

  1. 标准化认知 — 消除团队对同一服务的理解偏差,所有 SRE 和研发看到同一份“服务身份证”。
  2. 异常快速定位 — 当告警触发时,画像提供基线对比,一眼识别是“正常波动”还是“画像漂移”。
  3. 容量预测基础 — 只有建立服务级资源画像,才能基于历史趋势做精准的容量预测与资源规划。
  4. 自动化决策输入 — 弹性伸缩、故障自愈、混沌实验等自动化动作依赖画像作为输入特征。
实践建议: 服务画像的初始版本不必追求全维度覆盖。建议从“运行时指标 + 依赖拓扑”两个维度起步,每两周迭代一个维度,3 个月内完成全维度覆盖。

1.3 在 SRE 体系中的定位

服务画像处于 SRE 数据中台的核心枢纽位置,向上支撑稳定性治理,向下整合可观测数据。下图展示了服务画像在 SRE 体系中的定位:

服务画像在 SRE 体系中的定位 监控指标 调用链 / 拓扑 CMDB / 元数据 事件 / 变更 服务画像引擎 聚合 · 归一 · 基线 · 存储 异常检测 画像漂移识别 容量预测 资源趋势规划 故障定位 MTTR 复盘基线 自动化决策 弹性伸缩 业务价值:稳定性提升 · 资源成本优化 · 运维效率倍增 SLA 达标率 ↑ | 资源浪费 ↓ | MTTR 缩短 | 容量规划准确率 ↑

从图中可以看出,服务画像处于数据采集层与业务价值层之间的桥梁位置。它不直接产生稳定性,但所有稳定性能力——异常检测、容量预测、故障定位、自动化决策——都依赖画像提供标准化输入。

1.4 服务画像与相关概念的关系

概念 与服务画像的关系 区别
CMDB CMDB 是画像的静态数据源之一 CMDB 偏资产配置,画像包含运行时动态特征
资源画像 资源画像是服务画像的子集,聚焦 CPU/内存/存储 服务画像更全面,包含业务指标、依赖、变更等
应用拓扑 拓扑是画像的依赖维度 拓扑只描述连接关系,画像包含时序指标与行为
SLI/SLO SLI 是画像的黄金指标维度 SLO 是目标,画像是实际运行状态的记录
常见误区: 不要把服务画像做成“大而全的 CMDB”。画像的核心价值在于动态基线和趋势分析,而非静态属性堆砌。如果画像数据超过 24 小时未更新,它就已经开始贬值。

1.5 服务画像的成熟度模型

根据业界实践,服务画像的建设可分为四个成熟度阶段:

  • L1 — 手工台账: 依赖人工维护 Excel 或 Wiki,数据滞后、不完整、不可信。
  • L2 — 自动化采集: 从监控、CMDB 自动拉取数据,但各维度独立存储,缺乏关联分析。
  • L3 — 统一画像引擎: 建立画像元模型,多维度数据归一聚合,支持基线对比与趋势分析。
  • L4 — 智能画像自治: 画像自动发现新服务、自动更新依赖、自动识别画像漂移并触发修复流程。
课程目标: 本课程将帮助团队从 L2 向 L3 跨越,建立可落地的服务画像引擎,并基于画像开展资源画像、MTTR 复盘与容量预测工作。