监控的价值不在于图表数量,而在于能否说明用户何时受影响、故障位于哪一层、采取措施后是否恢复。把延迟、流量、错误和饱和度放在同一时间轴,并按环境、服务与路由对齐,才能从现象逐步缩小范围。四类信号需要联合判断,单看一条曲线容易把结果误当成原因。 🧭
延迟描述请求完成耗时,应关注分布而非只看平均值。中位数体现常见请求,p95和p99揭示尾部慢请求;按路由、区域和状态码拆分,避免大量健康的静态请求掩盖关键接口问题。直方图桶若过粗,分位数会失真,因此需结合原始桶与窗口长度解释变化。
流量是单位时间内的请求或任务数量,为其他变化提供背景。请求量突增可能来自正常活动、爬虫或客户端重试。错误应同时查看计数与比例,例如错误率=失败请求数/有效请求总数,并区分参数拒绝、依赖超时和服务端异常;分母口径不一致时,跨服务比较没有意义。
饱和度表示资源接近处理上限或已形成等待,包括线程池排队、连接池等待、消息积压和磁盘队列。CPU使用率只是线索:CPU不高时,线程仍可能被锁或外部调用占住;连接使用率较高,也要看等待时长和请求是否受影响。📈
p95、p99上扬,常提示少数路径或排队请求变慢;中位数与尾部一起抬升,更像整体处理能力下降。再按路由和依赖拆开验证。所有信号应采用相同服务、环境和时间窗口。聚合粒度太粗会抹去“先错误、后排队”这样的先后关系;粒度太细则会让低流量指标抖动。保留短窗口排障视图和长窗口趋势视图,并确认各系统时钟已同步。🔬
CPU升高与慢请求同时出现,不代表CPU必然是根因:慢请求引发的重试也会增加负载。连接池接近满额但没有等待,未必已影响服务;反之,少数长事务占住连接,即使整体利用率一般,也可能让关键请求排队。客户端提前取消还会使服务端错误数偏低。判断因果要对照调用时序、资源等待和请求结果,并寻找能够验证的瓶颈证据。
⚠️ 排障提醒:先核对指标定义、统计分母、时钟同步和采样间隔,再推断原因。曲线同步不等于事件相同;变更配置或扩容后,应观察同一组信号是否按预期恢复。
一组实用的最小看板应覆盖入口请求率、按路由拆分的成功率与延迟分位、主要依赖耗时,以及关键资源等待或积压。告警条件要包含持续时间和适用范围,避免短暂尖峰反复打扰,也避免全站汇总掩盖单一路由故障。
如果值班人员能用这组信号说清影响范围、最早异常、可能瓶颈和恢复条件,监控才真正形成了从发现到验证的诊断链。✅