用途:诊断 Synthetic Monitoring 检查为何失败,分诊探针失败、判定失败范围并识别根因。
主要能力:按工作流执行——先用 gcx synthetic-monitoring checks status <ID> 获取状态(成功率达阈值即提前退出,high=95%、medium/默认=90%、low=75%);NODATA 时检查配置是否 enabled;再用 checks get <ID> -o json 提取 job、target、类型、探针列表、频率、超时、alertSensitivity 等;用 checks timeline <ID> --from now-1h --to now 做时间线分诊,按模式分类(全部探针为 0=目标宕机,部分=区域/网络,间歇=抖动/超时,某时点骤降=部署或配置变更,渐降=退化)。随后用 probes list -o json 将失败探针映射到区域,判定范围;数据源可用时用 gcx datasources list --type prometheus 解析 UID,再以 gcx metrics query -d <datasource-uid> 运行按探针成功率与 HTTP 阶段延迟的 PromQL。最后对照失败模式表分类(目标宕机、区域/CDN、SSL/TLS、DNS、超时、内容/断言、私有探针、限流)并给出下一步动作。
使用方式:全部通过 gcx 命令,不直接调用 Grafana API;代理处理用 -o json,展示用默认格式;时间序列用图表输出;错误集中到最后报告。
适用场景:检查失败排查、探针区域定位、SSL/DNS/超时/断言等失败模式判定。
限制:依赖 gcx 与 Prometheus 数据源;数据源列表可能 type 字段为空需按名称选取;探针列表失败则跳过地理映射;时间线无数据可先扩大到 now-6h;配置变更需转交 synth-manage-checks。具体阈值与失败模式表细节以资料为准。