什么是合成监控(Synthetic Monitoring)?新手指南

合成监控用自动化脚本模拟用户行为,7×24 主动探测服务的可用性、性能与关键业务流程。三大类型、与 RUM 的区别、适用场景一次讲清。

最佳实践
什么是合成监控(Synthetic Monitoring)?新手指南技术指南封面

合成监控是一种主动式监控:用自动化脚本(机器人客户端)按照预设频率模拟用户行为,去探测你的网站、API 或关键业务流程是否正常工作。它的价值在于"没人访问时也在盯着"——凌晨三点没人下单,合成监控照样每 5 分钟走一遍下单流程,坏了立刻告警,而不是等早上第一个真实用户来发现。

工作原理

以最经典的可用性探测为例:监控器每分钟向你的首页发起一次 HTTP GET 请求,期望收到 200 OK。如果连续几次没收到正确响应,就创建事件(incident)并通知值班人员。

升级玩法是在探测里加关键字断言:不只看 200,还检查返回 HTML 里是否包含"注册"按钮的标记——防止"页面返回 200 但内容全错"的假健康。

三大类型

1. 可用性监控(Availability)

服务活着吗?包括:

  • Uptime 监控:定期请求 URL,校验状态码与响应内容;
  • Ping 监控:ICMP 层面探测主机/网络设备可达性;
  • 端口监控:TCP/UDP 层面确认数据库端口、邮件端口在监听;
  • SSL 证书监控:证书剩余有效期,过期前告警;
  • DNS 监控:域名解析结果是否正确。

2. 性能监控(Web Performance)

不只"活着没有",还看"活得好不好":首屏加载时间、各资源瀑布、Web Vitals(LCP/CLS/INP)。用真实浏览器内核定期渲染页面,产出可对比的性能趋势。

3. 事务监控(Transaction Monitoring)

也叫"多步脚本监控":用浏览器自动化(如 Playwright)走完整业务流程——登录 → 搜索商品 → 加购物车 → 提交订单。单点探测全绿不代表业务链路通,事务监控盯的是"钱能不能收到"。

合成监控 vs 真实用户监控(RUM)

合成监控 RUM
数据来源 模拟请求 真实用户
时机 7×24 主动,含无人时段 有用户访问才有数据
环境 固定、可控(便于对比趋势) 真实复杂(设备/网络五花八门)
回答的问题 "系统现在能用吗?" "真实用户体验如何?"

两者是互补关系:合成监控提供全天候、可对比的基线数据,RUM 提供真实世界的完整分布。只上 RUM 的网站,凌晨的宕机要等早上才发现。

多地域探测的意义

服务在上海可用,不代表在欧洲可用——DNS 污染、跨国链路、CDN 区域故障都可能造成"局部不可用"。成熟的合成监控从多个地理节点发起探测,且告警前要求多个节点同时确认失败,避免单节点网络问题造成误报。

观测云对照

观测云的可用性监测(拨测)覆盖上述全部类型:HTTP/TCP/ICMP/DNS/SSL 探测任务支持多地域节点与秒级频率,可用率、响应时间自动成图;异常时按钉钉/企微/飞书/Webhook 告警。拨测数据与后端 APM、RUM 数据天然关联——用户报障时,先看拨测是否也红:红则是服务端问题,绿则指向特定区域或客户端环境,定界时间从小时级缩到分钟级。

常见问题(FAQ)

Q:合成监控会不会产生大量"假流量"污染统计?
A:会有一点,但可控。探测请求带特定 UA 标识,分析时过滤即可;相比之下漏报宕机的代价大得多。

Q:探测频率设多少?
A:核心业务 1-5 分钟一次;辅助服务 10-30 分钟。频率越高发现越快,但对服务的额外压力也越大(虽然单次探测的压力通常可忽略)。

Q:内部系统(不对外)能用合成监控吗?
A:能。观测云支持自建拨测节点部署在内网,监控内部 OA、ERP、内部 API 的可用性。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台