RED 与 USE 方法:为服务和资源建立排障入口

用 RED 观察请求体验,用 USE 检查资源瓶颈,并把两套方法连接成可执行的故障定位路径。

文章目录 · 4 节

指标很多不等于可观测性完整。RED 关注 Rate、Errors、Duration,适合从用户请求出发;USE 关注 Utilization、Saturation、Errors,适合检查 CPU、磁盘和网络等资源。

先从用户影响开始

对每个入口服务至少回答三个问题:每秒收到多少请求、失败比例是多少、延迟分布如何。延迟应使用直方图分位数,而不是只看平均值。

sum(rate(http_requests_total[5m]))
sum(rate(http_requests_total{code=~"5.."}[5m])) / sum(rate(http_requests_total[5m]))
histogram_quantile(0.99, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

再进入资源层

CPU 使用率高是 utilization,运行队列和 throttling 是 saturation,机器检查或网卡丢包是 errors。对磁盘则分别观察忙碌度、队列等待和设备错误。

vmstat 1
iostat -xz 1
sar -n DEV 1

建立关联

  • RED 异常但 USE 正常,检查依赖、锁和应用逻辑
  • RED 与某资源 saturation 同时变化,优先验证因果关系
  • USE 异常但暂无用户影响,判断是否处于容量风险窗口
  • 为每个信号写清单位、窗口和负责人

收尾清单

看板首屏先展示 RED,再提供到 USE 的下钻链接。告警应基于用户影响或迫近的资源耗尽,而不是所有利用率变化。