
Charity Majors曾精准概括当前科技行业可观测性(Observability)的现状:一种彻底的大规模混乱。从Trace到Span,再到日志与指标的关系,开发者困惑重重。尽管Honeycomb团队致力于厘清这些概念,但解释“日志即垃圾”以及“日志与Trace本质同一”仍极具挑战。
这种混乱的根源之一,或许正是OpenTelemetry。虽然它构成了现代可观测性技术栈的基石,但其将遥测数据严格划分为Trace、Metrics和Logs三大支柱的呈现方式,人为制造了复杂性。OpenTelemetry官方文档及术语表(包含60多个术语)强化了这种割裂感,让用户误以为Trace是一种独立且神圣的概念,而非数据的一种形态。
Scuba:被低估的可观测性范式
在Meta工作期间,笔者体验过业内领先的可观测性系统——Scuba。其核心理念极简:操作“宽事件(Wide Events)”。宽事件本质上是带有名称和值的字段集合,类似JSON文档。无论是API调用还是后台作业,所有相关上下文信息均可写入其中,为应对“未知的未知”奠定基础。
Scuba的优势在于其强大的探索能力。通过原生采样(Native Sampling)机制,系统在写入事件时记录采样率,UI层自动修正展示结果,用户无需手动计算。面对异常警报,工程师可通过过滤和分组对数据进行“切片和切块”,快速定位问题。例如,通过按活动类型、用户操作系统及版本层层下钻,即便在不了解系统全貌的情况下,也能迅速缩小故障范围。由于Scuba处理原始事件且不预先聚合,高基数(Cardinality)不再是瓶颈,任何字段均可自由探索。
重构思维模型:万物皆宽事件
离开Meta后,外部可观测性市场的分裂令人沮丧。实际上,OpenTelemetry中的核心概念均可映射为宽事件:
- Traces与Spans:仅是增加了SpanId、TraceId和ParentSpanId字段的宽事件。通过拓扑排序即可还原分布式追踪视图。
- Logs:结构化日志本质即为宽事件。即使是非结构化日志,也可通过提取模板哈希值转化为可查询的宽事件,从而快速识别常见错误。
- Metrics:可视为定期发出的系统状态宽事件。与Prometheus等抓取式系统不同,宽事件模型无需担心基数限制。
将三者统一为宽事件,不仅简化了架构,更释放了交叉关联分析的潜力。无论是连续分析配置文件数据构建火焰图,还是利用AI工具挖掘数据关联,单一系统即可胜任。
当前,Honeycomb和Axiom等供应商正试图打破“三大支柱”的迷思,提供更自然的数据交互方式。行业亟需更多参与者跟进,终结可观测性领域的混乱局面,回归简单与高效。