女装/监控与告警/跨系统链路追踪
L5X17P1
设计稿 v2.0
‹ 数据质量告警SLA 与任务运行台账 ›☰ 总览功能地图
王
王运营
总部 · 商品运营

跨系统链路追踪

X17:一个 traceId 贯穿 ERP / WMS / TMS / OMS,把"单据卡在哪一跳"从经验判断变成可检索证据。断链定位有三条路径:按 traceId 检索、按单据号反查、按状态机卡点巡检。

今日链路
1,284条
平均 span 数 7.2 · 单链路最长 33.0 秒
单据链路成功率
99.74%
近 30 日 5,412 条,断链 14 条
当前断链
3条
签收回执 2 · 运单回传 1
断链定位时长
6分钟
改造前人工排查均值 45 分钟
采样率
20 / 100%
常态 20% · 告警链路 100% 全采样
链路日志留存
30天
审计类操作日志 3 年(见 mon-log)

链路检索

X17 · 检索即定位
检索路径适用场景
按 traceId已知链路标识(告警、日志、工单里带出)
按单据号反查只有业务单据号,通过业务键映射到 traceId
按状态机卡点不知道单号,按"超 SLA 未推进"批量捞出

链路调用链 · tr-20251018-023108-4c7e9b21

端到端 32.98 秒 · 同步 span 合计 3,932 ms
复制 traceId导出链路
02:31:08.004 · OMS 单证服务
创建调拨单 TR20251018-014,1,240 ms,成功(businessKey = OMS:TR20251018-014)
02:31:09.244 · 智能调补 outbox
决策单据落库并写 outbox 表,12 ms;幂等键 = batchId + 行号
02:31:09.256 · ERP 单据中心
回写 wms_doc_header,340 ms;按 docNo upsert(重试无损)
02:31:15.100 · WMS 拣货
生成拣货单 WH01-PK-20251018-0031,1,860 ms(含 5.8 秒排队)
02:31:40.500 · TMS 运单
创建运单 TMS-20251018-77120,480 ms
02:31:41.100 · WMS 拣货作业
波次拣货完成 12 件 / 4 SKU,作业耗时 23.5 秒(人工等待)
02:32:10.880 · TMS 揽收
揽收扫描成功,链路端到端 32.98 秒,单据状态推进到「运输中」
2025-10-20 18:40 · TMS → OMS 断链
TMS 已送达网点,但门店签收回执(POD)未回传 OMS —— 单据状态停留「运输中」,链路在此断开
2025-10-21 09:12 · 巡检任务
单据状态 7 天未推进,自动生成告警 AL-EX-1014 并关联本 traceId

Span 明细(耗时 · 状态 · 上下游系统 · 幂等键)

同步耗时合计 3,932 ms = 1,240 + 12 + 340 + 1,860 + 480
#系统服务 / 操作开始时刻耗时状态关键属性(幂等键 / 单号)
1OMSorder-center · POST /transfer/create02:31:08.0041,240 ms成功businessKey = OMS:TR20251018-014
2智能调补trace-outbox · 决策单据 outbox 落库02:31:09.24412 ms成功batchId + 行号(幂等)
3ERPerp-gateway · POST /doc/upsert02:31:09.256340 ms成功upsert by docNo(重试安全)
4WMSwms-picking · 拣货单生成02:31:15.1001,860 ms成功pickingNo = WH01-PK-20251018-0031
5TMStms-waybill · 运单创建02:31:40.500480 ms成功waybillNo = TMS-20251018-77120
6WMSwms-picking · 波次拣货作业(人工)02:31:41.10023,540 ms成功12 件 / 4 SKU / 作业员 A012
7TMStms-scan · 揽收扫描02:32:10.880220 ms成功揽收网点 杭州中转场
8TMS → OMSPOD 签收回执(门店签收 → OMS)2025-10-20 18:40未回传断链应为 waybillNo + 签收时间 + 签收人
共 8 行
每页

断链定位方法

① 按 traceId 检索
日志、告警、工单均携带 traceId,一键出全链路视图,缺失的 span 即断点
② 按单据号反查
ERP 单号 / WMS 拣货单 / TMS 运单号 → 通过业务键索引映射到 traceId
③ 状态机卡点巡检
单据状态超 SLA 未推进即自动抓链路(本例 7 天未推进,SLA 为 48 小时)
④ 下游数量对账
按 traceId 汇总上下游数量/金额,差异即断链证据
traceId 透传
HTTP header X-Trace-Id / MQ 消息头 / outbox 记录三处强制透传
关联字段
traceId + businessKey + 幂等键 + batchId,四字段可互相反查

链路卫生三条硬要求

① 外部系统必须接受并回传 traceId,否则在集成层补写网关日志;② 出站调用必须携带幂等键,重试才不留脏数据(X13);③ 采样策略按告警优先 —— 常态 20%,凡产生告警的单据链路必须 100% 全采样,否则事后无法复盘。

断链卡点分布(近 30 日 14 条)

按卡点聚合,才知道该修哪一跳
门店签收回执未回传(TMS→OMS)6 条
运单号未回传门店端(TMS→门店端)3 条
ERP 回写超时后重试成功(无损)3 条
WMS 拣货单锁定冲突(重试成功)2 条
卡点平均停留ownerRunbook
签收回执5 天 4 小时周工 · 物流组RB-06
运单回传3 小时 12 分赵工 · 集成组RB-07
ERP 回写重试即恢复孙工 · 单据组RB-05

典型断链案例

断链不是"网络问题",多数是回传责任没定义清楚
案例链路影响现象与证据处置与根治
门店签收回执缺失(本页案例)TMS → OMS断链 7 天TMS 显示 10-20 18:40 已送达网点,门店实际已收货但未在门店端确认;OMS 单据状态停留「运输中」,达成率少计 12 件、结算延迟 7 天门店端补录 POD(E8)→ 回执回传幂等入库 → 巡检任务自动关闭;同时给门店端加"48 小时未确认"提醒(AL-06)
ERP 回写超时后重试智能调补 → ERP无损(幂等拦截)首次 POST /doc/upsert 超时(340 ms 阈值 500 ms 但网关抖动),重试第 2 次成功;第 1 次实际已落库,被 docNo 唯一键拦截无需人工介入;保留两次 span 作为"重试无损"证据(X13 幂等边界)
WMS 拣货单生成失败智能调补 → WMS重试 2 次共 +8 秒库存锁定冲突(同一 SKU 被另一波次锁定),第 1、2 次返回 LOCK_CONFLICT退避重试 + 冲突 SKU 分波处理;链路标记 degrade,事后核对拣货数量一致
TMS 运单号未回传门店TMS → 门店端降级可用运单创建成功但回传超时,门店端看不到物流轨迹,客服咨询量上升降级使用 ERP 出库单号查询;链路补一次异步回传(MQ 重投)
共 4 行
每页
i设计说明:链路追踪的价值不在"画得漂亮",而在于把责任边界画出来 —— 每一跳谁负责、承诺多久回传、超时谁升级。本页每条断链案例都直接指向一个 runbook 与一个 owner,否则追踪只是一张好看的图。