合成监控(Synthetic Monitoring)是指从外部定期发送模拟真实用户访问的脚本化请求,持续测量服务可用性和响应性能的监控手法。由于无需等待真实用户操作即可发现问题,因此能够及早发现故障并主动应对。
合成监控的原理是,从部署在世界各地的监控节点向目标服务发送 HTTP 请求,验证响应时间、状态码和响应体的内容。从简单的存活监控(ping)到登录流程、重定向链的追踪,可以定义复杂的场景。工具示例有 Datadog Synthetic Monitoring、Amazon CloudWatch Synthetics、Pingdom。
在短链接服务中,有一种设计是持续测量重定向的 P95 延迟,在超过阈值(例:200ms)时发出告警。此外,通过从多个区域进行监控,还能检测到仅在特定地区发生的 DNS 解析延迟和 CDN 故障。
实现上的注意点是,为避免监控请求混入实际访问统计,需要通过 User-Agent 或请求头加以识别并将其从统计中排除的机制。监控的间隔因服务和工具而异。