首页/云/可观测性速查/合成监控与拨测:在用户之前发现问题
监控体系与方法40 条

合成监控与拨测:在用户之前发现问题

用脚本或探测服务模拟用户请求(登录、下单、API 调用),按周期从多个位置发起并校验响应内容,在真实用户受影响前捕捉故障。

可观测性速查云更新于 2026-10-13

合成监控是什么

合成监控用脚本或探测服务模拟用户的关键操作:登录、查询、下单、调用接口,按周期从多个位置发起,并校验响应内容而不只是状态码。它回答的是「用户现在能不能完成这件事」,与只看内部指标的白盒视角互补。相比单点可用性探测,合成监控承载完整业务事务,因此更能发现「接口通但业务不通」的问题。

基本信息

实现手段探测器的多模块配置、浏览器自动化、脚本定时任务
校验内容状态码、关键字段、响应时间阈值
部署建议多地探测点,结果统一写入指标或日志
数据用途可用性告警、体验基线、发布验证

典型使用场景

  • 登录链路:周期性执行登录并校验返回令牌是否可用
  • 下单主流程:模拟完整下单并校验订单标识
  • 多地域体验:不同探测点分别发起,比较响应时间
  • 发布验证:上线后自动跑一轮关键事务
  • 第三方依赖:校验外部接口返回内容是否仍然符合预期

接入探测器

接入探测器
- job_name: blackbox-http
  metrics_path: /probe
  params:
    module: [http_2xx]                 # 选择一个已定义的探测模块
  static_configs:
    - targets:
        - https://www.example.com/healthz
        - https://api.example.com/ping
  relabel_configs:                     # 把目标地址传给探测器
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 127.0.0.1:9115      # 探测器实际地址

# 校验内容断言写在探测模块里,例如要求响应体包含关键字段
# 探测目标清单纳入变更流程:入口调整后同步更新,避免仍在测旧地址

探测设计与取舍

设计点做法原因
探测路径覆盖登录、下单等关键事务健康检查路径无法反映业务是否可用
探测地点多地部署探测点单点网络抖动会被误判为业务故障
断言内容状态码加关键字段只看状态码会漏掉内容级错误
探测频率按业务重要性与成本平衡过于频繁会干扰容量统计
结果落库统一写成指标或日志便于告警、趋势与复盘
探测目标清单要纳入变更流程:域名或入口调整后同步更新,否则会出现探测仍在测已下线的地址、显示全绿而真实入口故障的情况。
合成监控会产生真实业务数据:下单类探测应使用专门的测试账号与可识别的测试商品,避免污染业务统计与库存。

易错点

  • 断言只看状态码 200 会漏掉内容报错,应加入关键字段或关键字检查
  • 从单一机房探测容易误报,对端到探测点的网络抖动会被当成业务故障
  • 合成事务写入真实业务数据会污染统计与库存,必须使用测试账号与测试数据
  • 探测频率与业务量级不匹配时,探测流量会干扰容量判断与业务指标

数据来源与参考

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌