自建 vs 托管:OpenTelemetry 自建栈与 SaaS 的选型决策
Team A:Grafana Cloud,月订阅约 $2k(读者自填),2 名 SRE 不全职运维观测栈。Team B:自建 LGTM,机器约 $3k/月 + 0.5 FTE SRE,总 TCO 约 $10k/月(人力按团队月薪自填)。Team B 保留 180 天 Trace、自定义 PromQL、数据不出 VPC。
OpenTelemetry 成熟后,自建不再是超大厂专属——但人力与迁出成本常被低估。本文给 TCO 假设模型与决策矩阵,不列 Datadog/Grafana Cloud/ARMS 单价表(会过期)。成本公式延续 存储与成本;国内商业选项见 中国厂商对比。
一、连续谱,不是二元
flowchart LR
SaaS[全托管] --> Hybrid[混合]
Hybrid --> Self[全自建]
Hybrid --> SaaS
可组合:Metrics 托管 + Logs 自建;Traces 双写;Profile 按需 SaaS。
二、自建 LGTM 架构
2.1 组件对照
| 字母 | 组件 | 系列深度篇 |
|---|---|---|
| L | Loki | 08 Logs, 09 管道 |
| G | Grafana | 各篇 Dashboard |
| T | Tempo | 10 Traces |
| M | Mimir | 06 Prometheus, 07 TSDB |
中枢:11 OpenTelemetry Collector。
2.2 最小生产拓扑
3× (16 vCPU, 64GB RAM, 500GB SSD) + S3 兼容对象存储
Collector DaemonSet → Distributor → Ingester → Object Store
2.3 人力模型
| 阶段 | FTE | 内容 |
|---|---|---|
| 初始化 | 2–4 周 × 1–2 人 | 搭建、集成、规范 |
| 日常 | 0.3–0.5 FTE | 升级、容量、compaction |
| 事故 | 按需 | 管道阻塞、查询超时 |
三、托管架构抽象
托管方承担:升级、多租户隔离、baseline 安全补丁。你承担:埋点规范、埋点哲学、SLO 规则语义。
计费维度通常:Host 数、ingest GB、Active Series、保留期档位——读者向厂商索取计量样例,代入下文公式,不用本文虚构单价。
四、TCO 假设模型
4.1 总公式
\[TCO_{month} = C_{compute} + C_{storage} + C_{network} + C_{human} + C_{overage} + C_{training}\]
与 20-storage-cost §2 一致。
4.2 Scenario A(200 服务 / 5000 Pod)
| 假设 | 值 |
|---|---|
| QPS | 50000 |
| Log 行/请求 | 3 × 512B |
| Trace 采样 | 治理前 100% head |
| Span/请求 | 8 |
日增量公式见 20 篇 §2.2–2.3。
4.3 Scenario B(治理后)
| 杠杆 | 倍数 |
|---|---|
| Trace head 1% + tail error | ×0.05–0.15 |
| Log INFO 10% | ×0.3–0.4 |
| Retention 缩短(非 SLO) | ×0.5 |
4.4 规模临界点(工程判断)
| 规模 | 倾向 |
|---|---|
| <100 节点 | 托管省心 |
| 100–500 | POC 双写 |
| >500 或 >10 TiB log/day | 自建边际成本常更低 |
图示见 tco-comparison.svg。
4.5 代入模板
# 读者 worksheet(复制到表格)
C_storage_self = GiB_month × $/GiB-month × retention
C_storage_saas = ingest_GiB_day × 30 × $/GiB-ingest
C_human = FTE × $/month
TCO_self = C_compute + C_storage_self + C_human
TCO_saas = subscription + C_overage
五、五维决策矩阵
| 维度 | 倾向自建 | 混合 | 倾向托管 |
|---|---|---|---|
| 数据量 | >10 TiB/day | 1–10 | <1 |
| 团队 | ≥1 SRE | 0.3 FTE | 无 TSDB 经验 |
| 合规 | VPC 强约束 | 国内合同 | 无 |
| 查询 | 超大 PromQL | 偶发 | 标准 Dashboard |
| 预算 | CapEx | 混合 | OpEx |
计分:≥3 维自建 → LGTM POC;≥3 维托管 → SaaS POC;否则混合。
六、混合与渐进迁移
6.1 Collector fan-out
exporters:
prometheusremotewrite/mimir:
endpoint: http://mimir:9009/api/v1/push
otlphttp/grafana-cloud:
endpoint: https://otlp-gateway-prod.grafana.net/otlp
service:
pipelines:
metrics:
receivers: [otlp]
exporters: [prometheusremotewrite/mimir, otlphttp/grafana-cloud]6.2 迁移阶段
- 双写 30 天
- Grafana 数据源并行
- 告警切自建 Recording Rules
- 停 SaaS 写入(保留只读备)
反向迁移同理。
七、与治理层联动
- 18-slo:SLI 数据 retention 不可短于 SLO 窗口
- 19-alerting:Alertmanager HA 自建需 3 副本
- 20-storage-cost:降本杠杆顺序
- 21-multi-tenancy:托管多租户 vs Mimir tenant
- 23-china-vendors:国内托管选项
八、自建收益与代价
| 收益 | 代价 |
|---|---|
| 数据自主 | compaction/WAL 运维 |
| 无限保留(成本允许) | 0.3–0.5 FTE |
| 自定义查询 | 安全补丁自负 |
| 合规 VPC | 容量规划 |
九、托管收益与代价
| 收益 | 代价 |
|---|---|
| 低初始人力 | 超额费非线性 |
| 快速上线 | 查询/保留上限 |
| 含升级 | 迁出 PB 级慢 |
十、POC 设计(30 天)
| 周 | 任务 |
|---|---|
| W1 | 双写 + 采样对齐 |
| W2 | Dashboard/告警对等 |
| W3 | 故障注入 24-playbook |
| W4 | TCO 填表 + 决策 |
十一、工程坑点
- 签合同前未确认默认保留期,上线后只剩 7 天。
- 未做 Trace 数据量 POC,按量计费后账单失控。
- 以为 OTel 兼容等于可无缝迁出,专有 attribute 未映射。
- 未测迁出 API 吞吐,历史数据导出按月计。
- TCO 只算机器,漏算人力、超额与跨 AZ egress。
- 未记录计量口径,账单争议没有对照证据。
- 自建 Compaction 无告警,查询超时后才发现堆积。
十二、落地清单
- TCO 是否含人力、超额与培训,而不只算机器
- 是否评估 LGTM 与托管成本曲线交叉点
- 是否完成 OTLP 双写与历史数据迁出 POC
- 合同是否写清默认保留期与计量口径
十三、常见误解
| 误解 | 事实 |
|---|---|
| 自建只算机器 | 人力常为主项 |
| 托管总价固定 | 超额与迁出隐性 |
| 必须一次全迁 | OTel 支持渐进 |
| 小团队绝不能自建 | 可只自建 Loki+Tempo |
十四、系列收束
从 全景 到本篇,可观测性被拆解为:信号分层、数据模型、三大支柱、内核与网络、eBPF、SLO 与告警、成本与多租户、混沌、国内选型、事故剧本、自建决策。下一步回到 系列索引 按路径复习。
十五、关键概念回顾
- TCO = 机器 + 存储 + 网络 + 人力 + 超额 + 培训
- 规模与合规决定曲线交叉点
- OTel Collector 是迁移枢纽
- 用假设模型而非报价表做决策
上一篇:事故复盘剧本
回到系列索引:可观测性工程
参考资料
- Grafana Labs, LGTM, https://grafana.com/about/lgtm/
- OpenTelemetry, Collector, https://opentelemetry.io/docs/collector/
- Google, Site Reliability Workbook, Ch.5
- 本系列 20-storage-cost
- 本系列 23-china-vendors
- Charity Majors et al., Observability Engineering, O’Reilly
读完这篇,下一步读什么
优先读同系列或同问题的下一篇,把单篇消费变成主题集群。
【可观测性工程】中国可观测性厂商对比:阿里 ARMS、腾讯 APM、华为 AOM、观测云、夜莺、DeepFlow
中国可观测性市场三条技术路线拆解:云托管、创业 SaaS、开源自建。对照本系列开源栈深度篇,给出场景匹配、锁定风险、信创约束与 TCO 假设模型,不做厂商排名或报价表。
【可观测性工程】Traces 栈与采样:Jaeger、Tempo、Zipkin、SkyWalking
拆解 Jaeger、Tempo、SkyWalking 架构差异与采样策略(头部/尾部/自适应),给出 W3C TraceContext 传播、OpenTelemetry tail_sampling 配置与选型框架。
可观测性工程
从 Metrics、Logs、Traces 到 Profiling、eBPF、OpenTelemetry 与 SLO 治理,面向中国工程团队的可观测性系统化手册。全 25 篇。
【可观测性工程】埋点哲学:粒度、采样、基数爆炸与成本模型
埋点不是多加几行日志,而是一整套关于什么该记、什么该采样、什么该丢弃的工程决策体系。从信号分层、基数控制、采样策略到落地规范与工程坑点,给出可操作的埋点治理框架。