三大支柱

Metrics(指标)、Logging(日志)、Tracing(链路追踪)被公认为可观测性的三大支柱。这个概念最早由 Peter Bourgon 在 2017 年提出,后来被 CNCF(云原生计算基金会)采纳并推广,成为现代可观测性架构的基础框架。

三大支柱的概念之所以被广泛接受,是因为它提供了一个分类学框架,帮助团队思考「我们需要收集哪些类型的数据」。但这个框架也有其局限性——它强调的是数据类型,而非数据价值。在实践中,很多团队发现仅仅收集三类数据是不够的,还需要关注它们之间的关联关系

三类数据对比

维度MetricsLogsTracing
数据结构结构化数值半结构化文本/JSON结构化树形
数据量低(每指标每时间点一个值)高(每事件一条记录)中(每请求若干 Span)
查询模式聚合查询为主全文检索为主路径查询为主
存储成本
延迟接近实时有一定延迟有一定延迟
典型工具Prometheus、GrafanaELK、LokiJaeger、Zipkin

演进路径

大多数团队的可观测性演进路径是:

阶段一:Metrics 优先。从监控告警开始,首先解决「系统是否活着」的问题。这个阶段以 Prometheus/Grafana 为核心,指标覆盖基础设施和核心服务。

阶段二:Logs 补充。当 Metrics 无法解释问题时,开始收集日志。这个阶段以 ELK/Loki 为核心,日志覆盖应用层和业务层。

阶段三:Tracing 补全。微服务架构下问题定位越来越困难,开始引入链路追踪。这个阶段以 OpenTelemetry/Jaeger 为核心,覆盖服务间调用链路。

阶段四:数据关联。当三类数据各自完善后,开始建立关联机制,实现从告警到日志到链路的全链路追踪能力。