目标
内部健康检查测的是你的服务器;用户测的是含 DNS、CDN、TLS 握手在内的整条链路。只有基础设施之外的探针才走用户路径,只有连续失败逻辑才不会对单次抖动狼来了。两者组合能发现用户真实经历的停机,并带着足以立刻行动的证据呼叫人类。
步骤要点
- 探测序列覆盖完整用户路径:经 CDN 的落地页、经网关的 API 读、再 POST 一条写路径,任一层坏都判失败。
- 告警用连续失败:30 秒间隔 × 阈值 3,单丢包不呼叫、90 秒持续故障必呼叫 critical。
- 查询 30 天 uptime_pct 与 downtime_ms,让停机时长成为可查账的事实而非估算。
- 启用多地域探针,捕捉单一观测点看不见的 DNS/CDN 故障。
- 人为暂停源站 60 秒做端到端演练:阈值后 PagerDuty 真的收到事件才算链路闭合。
排错提示
探针失败但用户正常,多半打的是内网端点或被 bot 挑战拦住,要探测用户键入的同一 URL 并放行探针 UA;每次部署都误报是阈值小于排水时长,按最大安全维护时长对齐“阈值×间隔”;探针被限流就给它独立 header/UA 并在限流器里豁免,路径本身保持不变。
适用边界
外部探针测可用性不测性能,延迟监控需要另一套合成计时;写路径探针会产生测试数据,要用沙箱命名空间或定期清理探针痕迹。
代码示例
checks:
- name: checkout-journey
requests:
- GET https://example.com/
- GET https://api.example.com/products
- POST https://api.example.com/cart
alerting:
failure_threshold: 3
interval: 30s
severity: critical