1.1 三信号概念总览:日志、链路、指标的定义与关系

在可观测性工程中,日志(Log)、链路(Trace)、指标(Metric) 被称为“三信号”(Three Pillars)。它们各自从不同维度描述系统状态,只有将三者联动分析,才能实现真正的智能运维。

1.1.1 三信号定义与核心特征

信号类型 英文 核心定义 数据形态 典型用途
日志 Log 离散的、带时间戳的事件记录,描述“发生了什么” 非结构化/半结构化文本(JSON、纯文本) 错误排查、审计、详细上下文分析
链路 Trace 一次请求在分布式系统中的完整调用路径,描述“请求经历了什么” Span 树结构(Trace ID + Span ID) 性能瓶颈定位、依赖关系分析、请求追踪
指标 Metric 可聚合的、时序化的数值测量,描述“系统状态如何” 时序数据(时间戳 + 数值 + 标签) 告警、趋势分析、容量规划、SLO 监控
关键认知:三信号不是孤立的“三个工具”,而是同一系统行为在不同抽象层次上的投影。日志提供细节,链路提供路径,指标提供趋势。

1.1.2 三信号关系模型

三信号之间通过元数据关联形成闭环:

  • 指标 → 链路:当指标(如 P99 延迟突增)触发告警时,可下钻到对应时间窗口内的链路数据,找到慢请求的调用链。
  • 链路 → 日志:从链路中的 Span 携带的 Trace ID,可关联到该请求产生的所有日志,获取详细的错误堆栈或业务上下文。
  • 日志 → 指标:对日志中的关键字段(如错误码、响应时间)进行聚合计算,可生成新的指标(如错误率、平均延迟)。
三信号关系与联动闭环图 三信号关系与联动闭环 日志 (Log) 发生了什么? 链路 (Trace) 经历了什么? 指标 (Metric) 状态如何? 聚合计算 告警下钻 Trace ID 关联 元数据关联 Trace ID / Service Name / Timestamp

1.1.3 三信号联动修复的价值

传统运维中,三信号通常被割裂使用:指标告警后手动查日志,日志查完再手动追踪链路。这种“串行排查”模式在微服务架构下效率极低。三信号联动修复的核心价值体现在:

价值维度 传统割裂模式 三信号联动模式 效率提升
故障定位速度 人工切换工具,平均 MTTD 15~30 分钟 自动关联下钻,MTTD 缩短至 1~3 分钟 10x
根因分析准确率 依赖个人经验,误判率 > 40% 数据驱动关联,误判率 < 10% 4x
告警噪音过滤 大量重复告警,Signal/Noise 比低 通过链路上下文过滤无效告警 显著提升
自动化修复能力 仅支持简单阈值自愈 支持基于链路上下文的精准自愈 新能力
实战案例:某电商平台大促期间,支付接口 P99 延迟从 200ms 飙升至 5s。联动修复流程:指标告警 → 自动关联链路发现“支付网关”Span 耗时异常 → 下钻日志发现数据库连接池耗尽 → 自动触发连接池扩容。全程 90 秒,避免了一次大规模故障。

1.1.4 三信号联动修复的典型流程

一个标准的三信号联动修复闭环包含以下步骤:

  1. 指标检测:通过预定义的 SLO/SLI 指标(如错误率、延迟、吞吐量)触发告警。
  2. 链路下钻:从告警时间窗口内,自动提取异常指标对应的链路样本,识别异常 Span 和故障服务。
  3. 日志关联:从异常 Span 中提取 Trace ID,关联该请求产生的所有日志,定位具体错误原因(如 SQL 慢查询、OOM、网络超时)。
  4. 根因判定:综合三信号数据,通过规则引擎或 AI 模型判定根因。
  5. 自动修复:执行预定义的修复动作(如重启、扩容、降级、限流)。
  6. 反馈闭环:修复后指标恢复,链路恢复正常,日志错误消失,闭环确认。
三信号联动修复流程 三信号联动修复闭环流程 ① 指标检测 SLO 告警触发 ② 链路下钻 异常 Span 识别 ③ 日志关联 Trace ID 查询 ④ 根因判定 规则/AI 分析 ⑤ 自动修复 扩容/降级 反馈闭环:指标恢复 → 链路正常 → 日志错误消失
常见误区:不要试图在所有场景下都做全链路联动。对于低频、非关键路径的告警,联动成本可能高于收益。建议先对核心服务(如支付、登录、下单)建立联动修复机制,逐步扩展。

1.1.5 三信号联动修复的技术栈概览

实现三信号联动需要统一的数据采集、存储和分析平台。以下是业界主流技术栈:

信号 采集层 存储层 分析层 联动关键
日志 Fluentd / Logstash / Filebeat Elasticsearch / Loki Kibana / Grafana 日志中携带 Trace ID
链路 OpenTelemetry SDK / Jaeger Agent Jaeger / Tempo / Zipkin Jaeger UI / Grafana Span 携带 Service Name 和 Timestamp
指标 Prometheus Exporter / Telegraf Prometheus / VictoriaMetrics / Thanos Grafana / Alertmanager 指标标签包含 Service Name