← 中文资源

简体中文版本

配置用户认同的外部拨测监控

从数据中心之外沿真实用户路径拨测,按连续失败告警并跟踪停机时长,按正确严重级别呼叫值班。

阅读英文原文

目标

内部健康检查测的是你的服务器;用户测的是含 DNS、CDN、TLS 握手在内的整条链路。只有基础设施之外的探针才走用户路径,只有连续失败逻辑才不会对单次抖动狼来了。两者组合能发现用户真实经历的停机,并带着足以立刻行动的证据呼叫人类。

步骤要点

  1. 探测序列覆盖完整用户路径:经 CDN 的落地页、经网关的 API 读、再 POST 一条写路径,任一层坏都判失败。
  2. 告警用连续失败:30 秒间隔 × 阈值 3,单丢包不呼叫、90 秒持续故障必呼叫 critical。
  3. 查询 30 天 uptime_pct 与 downtime_ms,让停机时长成为可查账的事实而非估算。
  4. 启用多地域探针,捕捉单一观测点看不见的 DNS/CDN 故障。
  5. 人为暂停源站 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