合成拨测是什么
合成拨测是用脚本化的探针按固定频率主动请求目标服务,把『用户觉得慢』翻译成可跟踪的数字:可用性、时延分位与丢包率。探针要分布式部署在地域与运营商维度上,并且与被测系统解耦,否则被测系统一挂,探针一起消失,监控就失去意义。
基本信息
| 适用平台 | 任意 Linux 探针机;数据侧通常接入时序库与看板 |
|---|---|
| 采集内容 | HTTP 状态码、DNS/连接/首字节/总耗时、丢包率 |
| 对比工具 | curl -w 轻量探针、blackbox_exporter + Prometheus |
| 告警口径 | 分位数与趋势(P95/P99、连续 N 次失败),不用单点采样 |
典型使用场景
- 上线前的体验基线:留下各地区、各运营商的 P95 时延,作为后续劣化判断依据
- CDN 或线路切换验证:切换前后用同一批探针数据对比,而不是靠个别用户反馈
- SLA 举证:对客户或供应商提供带时间戳的可用性与分位数据
- 故障复盘的数据源:与真实用户监控(RUM)交叉验证,区分探针盲区与真实劣化
轻量探针
轻量探针
while true; do
ts=$(date +%s)
# 拆出 DNS、TCP、TLS、首字节与总耗时,便于归因到具体阶段
out=$(curl -sS -o /dev/null -m 10 -w '%{http_code} %{time_namelookup} %{time_connect} %{time_appconnect} %{time_starttransfer} %{time_total}' https://example.com/ 2>/dev/null)
echo "$ts $out"
sleep 60
done >> /var/log/probe/example.log指标判读
| 指标 | 含义 | 异常指向 |
|---|---|---|
| 可用性 | 成功请求占比 | 骤降多为服务端或链路中断 |
| P95/P99 时延 | 长尾体验 | 均值正常而 P99 劣化,常见于排队与重传 |
| name_lookup | DNS 解析耗时 | 偏高指向本地 DNS 或上游解析 |
| connect / appconnect | TCP 与 TLS 握手耗时 | 偏高指向链路往返时延或证书链问题 |
拨测数据要与真实用户监控交叉验证:探针固定走少数出口,覆盖不到的用户路径只有 RUM 能暴露;两类数据结论不一致时优先排查探针所在网络。
探针频率与并发要有上限,分布式探针叠加会对目标服务形成压测效应;生产站点上把间隔、超时与并发写进探针配置并评审。