2. Golden Signals 概述:Google SRE 四大黄金指标

在 SRE 实践中,监控指标的数量可能成千上万,但真正能反映系统健康状态、指导故障应急与容量规划的,是 Google 在《SRE 运维解密》中提出的 四大黄金信号(Golden Signals):延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation)。这四个维度构成了可观测性的最小完备集,也是质量门禁策略的指标底座。

核心观点: 如果只能监控 4 个指标,那就选 Golden Signals。它们覆盖了用户体验、业务负载、系统正确性与资源瓶颈,缺一不可。

2.1 四大黄金指标定义与核心价值

指标 定义 核心价值 典型度量对象
延迟(Latency) 请求从发出到收到完整响应所消耗的时间 直接反映用户体验;区分成功请求与失败请求的延迟 P50/P95/P99 响应时间、网络往返时间
流量(Traffic) 系统当前承载的请求量级或数据吞吐量 衡量业务负载规模,用于容量规划与弹性伸缩 QPS、RPS、带宽、并发连接数
错误(Errors) 请求处理失败的比率或数量 判断系统是否在正确提供服务;包含显式错误与隐式错误 HTTP 5xx 率、4xx 率、业务错误码、超时
饱和度(Saturation) 系统资源被使用的程度,通常以百分比或剩余容量表示 预警资源瓶颈,在延迟恶化前提前干预 CPU 使用率、内存占用、磁盘 I/O 队列、连接池水位
关键区分: 延迟与饱和度容易混淆。延迟是结果,饱和度是原因。当 CPU 饱和度超过 80% 时,请求排队导致延迟飙升——先有饱和度升高,后有延迟恶化。

2.2 四大黄金指标的关系模型

四个指标并非孤立存在,而是构成一个因果闭环:流量驱动饱和度变化,饱和度影响延迟,延迟与错误共同决定用户体验。下图展示了这一核心关系。

Golden Signals 四大黄金指标关系模型 Golden Signals 四大黄金指标关系模型 流量 Traffic 饱和度 Saturation 延迟 Latency 错误 Errors 负载增加 资源竞争 → 排队 超时 → 失败 重试风暴 → 流量放大 因果链:流量 → 饱和度 → 延迟 → 错误 → 流量(重试放大)

2.3 各指标在日志质量门禁中的落地要点

在日志驱动的质量门禁体系中,Golden Signals 需要从原始日志中提取、聚合,并转化为可触发门禁的指标。以下是每个指标的日志化落地要点:

  • 延迟(Latency):日志中必须记录 request_duration_ms 或 response_time 字段。门禁关注 P99 延迟是否超过阈值(如 500ms),以及成功请求与失败请求的延迟分离。
  • 流量(Traffic):通过日志计数统计 QPS/RPS。门禁关注流量突增(如 5 分钟内增长 3 倍)或突降(可能表示上游故障)。
  • 错误(Errors):日志中需明确标记 status_code、error_code。门禁关注错误率(如 5xx 率 > 1%)或特定业务错误码的值。
  • 饱和度(Saturation):日志中可携带 cpu_usage、memory_usage、queue_depth 等上下文。门禁关注饱和度是否超过 80% 且持续上升。
常见陷阱: 只监控平均延迟而忽略 P99;只统计 HTTP 5xx 而忽略业务逻辑错误(如返回 200 但 body 中 error=true);将饱和度与延迟混为一谈,导致告警滞后。质量门禁必须对四个指标分别设置独立阈值与聚合窗口。

2.4 从指标到门禁:一个日志驱动的示例

假设一个 API 网关的日志行包含以下结构化字段:

{
  "timestamp": "2025-03-01T10:00:00Z",
  "method": "POST",
  "path": "/api/order",
  "status_code": 200,
  "duration_ms": 450,
  "cpu_usage_pct": 72,
  "error_code": ""
}

基于此日志,质量门禁可以定义如下规则:

门禁规则 Golden Signal 触发条件 动作
高延迟阻断 延迟 P99 duration_ms > 1000ms 持续 2 分钟 拒绝新请求,返回 503
流量突增告警 流量 QPS 较基线增长 > 200% 触发弹性扩容
错误率熔断 错误 5xx 率 > 5% 持续 1 分钟 熔断下游调用
饱和度预缩容 饱和度 cpu_usage_pct > 85% 持续 3 分钟 提前扩容或降级非核心功能

这四条规则覆盖了四大黄金信号,且全部基于日志中的结构化字段实时计算,无需额外埋点——这正是“日志驱动 Golden Signals”的核心优势。

2.5 本章小结

  • 延迟:用户体验的直接度量,必须区分成功/失败请求。
  • 流量:业务负载的规模信号,用于容量与弹性决策。
  • 错误:系统正确性的晴雨表,包含显式与隐式错误。
  • 饱和度:资源瓶颈的前置预警,是延迟恶化的根因之一。
  • 四个指标构成因果链,质量门禁必须同时覆盖,缺一不可。