Synthetic Monitoring:用主动探测覆盖真实用户之前

设计分层合成监控,从 DNS、TLS、HTTP 到关键业务流程,控制探测频率与误报。

文章目录 · 4 节

真实用户监控只能观察已经发生的访问,合成监控则持续主动执行预定义路径。它适合发现无人访问时段的故障,也能从多个网络位置验证外部体验。

按层设计探测

基础层检查 DNS、TCP 和 TLS,接口层验证状态码、响应体与延迟,业务层执行登录、搜索或下单等关键旅程。每层失败应给出不同的诊断线索。

modules:
  https_2xx:
    prober: http
    timeout: 5s
    http:
      valid_status_codes: [200]
      fail_if_body_not_matches_regexp: ['"status":"ok"']

仅返回 200 不代表功能正常,断言应覆盖最小业务语义,但不要让探测产生真实收费、库存或通知副作用。

控制可信度

  • 从至少两个独立地域探测外部服务
  • 使用专用测试账号并监控凭证有效期
  • 将探测频率计入目标系统容量
  • 单点失败先确认探测节点自身健康

告警策略

对连续失败、多个地域同时失败和关键流程失败设置不同严重度。维护窗口和计划发布应通过统一静默机制处理。

收尾清单

定期从告警反向验证探测能否发现已知故障。记录每条探测覆盖的 SLI、负责人、依赖和安全清理步骤。