凌晨的告警

凌晨,客户投诉涌入:页面加载极慢,部分功能无响应。

你打开监控看板:CPU 正常、内存正常、磁盘正常、接口成功率 99.9%。

监控没问题,但业务明显不对。


为什么会出现这种情况

传统监控关注的是基础设施健康,而不是用户体验。以下这些问题,在传统监控里往往看不到:

  • 线程池积压:慢请求占满线程,新请求排队,但成功率还是 99.9%
  • 下游 API 超时:第三方服务变慢,但没有监控这个依赖
  • 数据库连接池耗尽:连接数满了,但数据库 CPU 还是正常的
  • GC 频繁但未超阈值:每次 GC 暂停 200ms,累积下来用户体验很差
  • 特定功能响应退化:某个接口从 100ms 变成 2 秒,整体成功率不受影响

这些问题的共同特征:非致命、不报错、但持续损害用户体验


小团队为什么更容易中招

  1. 监控设计跟着方便走,而不是跟着业务需求走
  2. 缺乏趋势分析,只看当前值,不看变化趋势
  3. 没有 7×24 响应机制,非工作时间出问题发现晚

有效监控需要回答的三个问题

1. 用户是否在经历慢?

监控 P95/P99 响应时间,而不只是平均值和成功率。

2. 关键路径是否在退化?

对核心业务流程(登录、下单、支付)单独监控,设置独立告警。

3. 出了问题有人能立即响应吗?

监控工具再好,没有响应机制也是摆设。


结论

稳定性不只是监控工具的问题,而是需要完整的机制和闭环反馈。

有效的监控体系应该能在用户感知到问题之前就发出告警——这需要从「资源视角」转向「用户体验视角」。