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 四大黄金指标的关系模型
四个指标并非孤立存在,而是构成一个因果闭环:流量驱动饱和度变化,饱和度影响延迟,延迟与错误共同决定用户体验。下图展示了这一核心关系。
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 本章小结
- 延迟:用户体验的直接度量,必须区分成功/失败请求。
- 流量:业务负载的规模信号,用于容量与弹性决策。
- 错误:系统正确性的晴雨表,包含显式与隐式错误。
- 饱和度:资源瓶颈的前置预警,是延迟恶化的根因之一。
- 四个指标构成因果链,质量门禁必须同时覆盖,缺一不可。