每个指标都是绿色‑OK,但你的用户无法登录
Source: Dev.to
为什么绿色仪表盘会骗人
我们常对自己说:如果 CPU 负载低,内存充足,HTTP 返回 200 OK,系统一定在正常工作。
这种假设是错误的。
基础设施指标衡量的是潜在状态,而不是实际状态。它们告诉你系统可能工作,却不告诉你它真的在工作。
这就像因为油箱满了就说你的车完全没问题,而实际上你有两个爆胎且没有方向盘。
基础设施指标是必要的,但它们并不能呈现全局。
如何构建完整的监控策略
将基础设施指标与工作流验证相结合:
基础设施层(传统监控)
- CPU、内存、磁盘、网络利用率
- 进程健康检查
- 资源饱和度指标
网络层
- TCP 端口连通性
- DNS 解析
- TLS 握手成功率
- 证书过期情况
应用层
- HTTP 响应码
- API 接口可用性
- 响应时间分位数
业务逻辑层(工作流监控)
- 用户注册完整结束
- 登录 → 会话 → 数据获取 正常工作
- 结算 → 支付 → 确认 成功
- 密码重置邮件 实际发送
每一层捕获的故障模式不同。基础设施指标捕获容量问题。网络检查捕获连通性问题。应用指标捕获崩溃。工作流检查捕获那些“一切看起来都健康”但实际上已中断的细微问题。
从关键路径开始
你不需要监控每一种可能的用户旅程。先从一条如果出错会导致恐慌的工作流开始——例如 注册 或 核心价值主张。
然后构建一个基本检查来验证该工作流:
- 用户真的能够创建账号吗?
- 用户真的点击按钮后,功能是否按预期执行?
把关注点从“我们的服务器健康吗?”转向“用户能否完成他们来到这里的目的?”
结论
你的基础设施指标会告诉你何时容量不足、何时进程崩溃、何时磁盘已满。
但它们不会告诉你何时认证令牌过期、何时 API 返回被包装在 200 响应中的错误,或何时后台任务停止处理。
如果你想知道系统是否真的可用,就按照用户的使用方式进行测试。尝试做他们在做的事,验证整个流程是否端到端可用。
监控基础设施和监控用户体验是有区别的,这也是我创建 Monitrics 的原因。