用途
合成监控是一类计划探测(scheduled probes),在发布后持续运行。它用于在真实用户不活跃时(例如凌晨流量为零)持续验证应用是否正常。资料强调:RUM 告诉你「发生了什么」,合成监控告诉你「此刻正在发生什么」,二者互补而非替代——合成覆盖已知路径与可预测输入,RUM 发现真实用户打破系统的各种方式。
主要能力
- 探测关键用户旅程:登录、搜索、结账、注册、核心工作流等 5-10 个最重要流程成为探针列表。
- 探针设计:涵盖首页加载、登录流程、核心工作流、API 健康、搜索、结账、第三方集成等,并给出频率与超时建议(如首页 1 分钟/10 秒,登录 5 分钟/15 秒,API 健康 1 分钟/5 秒)。
- 非破坏性探测模式:只读操作、沙箱交易、创建后立即删除、合成标记等安全模式;避免创建真实订单/工单、触发真实通知、修改共享资源、无法自动清理的操作。
- 专用测试账号:邮箱含 synthetic/monitor、数据库标记 is_synthetic、从分析/计费/邮件活动/支持队列以及 RUM 和 SLO/错误预算管线中排除、预置稳定测试数据、凭据放入密钥管理器并按季度轮换、每个并发探针独立账号。
- 平台选型:Checkly(Playwright 原生、代码优先、Git 集成、Rocky AI 代理、CLI、MCP 服务器)、Datadog Synthetic、Grafana Synthetic Monitoring、AWS CloudWatch Synthetics、New Relic Synthetics、Better Stack、Uptime Kuma,以及 Playwright/k6/Puppeteer + cron 自建。资料建议新方案避免使用 Pingdom 这类遗留可用性工具。
- 告警集成:单次失败仅记录;同区域连续 2 次失败告警;2 个以上区域连续 2 次失败呼叫值班;延迟超过基线 2 倍持续 10 分钟为警告,超过 3 倍持续 5 分钟呼叫值班;连续 3 次超时告警。按收入路径分级路由,维护窗口内抑制合成告警并从错误预算中排除。
- SLA 验证:可用性 =(总分钟数 - 故障分钟数)/ 总分钟数 × 100;给出 99.0%、99.9%、99.95%、99.99% 对应的月度停机时间;响应时间按分位数而非平均值跟踪;错误预算消耗按剩余比例决定行动(>50% 正常发版,25-50% 谨慎,<25% 冻结非关键部署,耗尽进入故障模式)。
- 多区域监控:全球服务至少 3 个区域;分别跟踪区域延迟;通过响应头(x-cache、cf-cache-status)验证 CDN 缓存。
使用方式
资料提供「快速路由表」:选平台、写探针、探针运行但用户仍报故障、告警噪声过大或漏报、计算 SLA 停机预算、凌晨探针失败且值班不知如何排查,分别对应不同章节。探针可用 Playwright(TS/JS)、Puppeteer、k6(JS)或 Python 编写;自管理可用 GitHub Actions 定时 cron,托管方案如 Checkly 从多位置按固定频率运行。探针应环境感知,同一代码可对 staging 与生产运行,仅更换 base URL 与阈值。
适用场景
适用于已发布应用需要持续可用性验证的团队,尤其是关键收入路径(登录、结账、API 健康)需要最短频率与值班呼叫的场景、存在静默失败(数据同步、后台任务、webhook)的场景,以及有明确 SLA/SLO 需要验证的场景。
限制与注意事项
资料明确指出若干反模式:探针过于复杂导致频繁误报(应单一关键路径、30 秒内、5 个断言以内);对每次失败都告警;无测试账号隔离;只监控快乐路径(返回 200 但登录未成功仍属故障);探针失败无运行手册。探针应断言用户目标是否达成,而非仅状态码。具体收费、价格、各平台的详细能力与使用步骤在本资料中暂未提供。