先给结论:源站返回正常,并不等于抓取链路正常。当边缘节点异常时,你要保留的不是“源站截图”,而是能证明“抓取方在边缘侧收到了什么”的那一组证据。核心是三类:边缘节点自身的响应头与状态码、源站与边缘的响应差异记录、以及异常发生的时间边界。缺少这三类,后续任何排查都只能靠猜。
同样是“源站正常、边缘异常”,处理方向取决于异常是否稳定复现。
条件一:异常稳定复现。 此时可以按固定路径取证,证据链容易闭合。你需要保留同一 URL 在边缘节点和源站两条路径上的完整响应,包括状态码、响应头、响应体长度和耗时。
条件二:异常间歇出现。 此时单次抓取大概率抓不到异常,必须靠持续记录。你需要保留带时间戳的连续采样,而不是某一次的结果。间歇异常的常见合理解释包括边缘缓存过期抖动、回源超时重试、节点间配置不一致、抓取方自身重试策略差异。这些解释在没有连续记录时无法区分。
两种条件的取证动作不同:稳定复现时优先固定单次完整证据;间歇出现时优先固定时间序列。把间歇异常当成稳定异常处理,最容易只留一份“看起来正常”的样本,反而丢掉关键证据。
下面每条都对应一个具体判断,不是泛泛的日志留存。
一个实际动作:对同一批 URL,同时向边缘节点和源站发起请求,把两组响应按字段并排记录。这个动作的结果会直接决定下一步——如果差异只出现在响应头,排查方向是边缘配置;如果差异出现在响应体,排查方向是回源链路或缓存内容。
假设某站点有 1000 个 URL,其中 50 个在边缘节点返回了与源站不同的内容长度。假设这 50 个 URL 集中在同一批边缘节点,而其余节点正常。
此时如果只保留“源站正常”的证据,你会得出“站点没问题”的结论,但抓取方看到的是边缘侧的不一致响应。正确的下一步是:把这 50 个 URL 按边缘节点分组,记录每组的响应差异,再核对这批节点的配置是否与其他节点不同。如果分组后发现差异只出现在一个节点组,排查范围就从全站缩小到该节点组。如果分组后没有规律,说明问题可能不在节点配置,而在回源路径或缓存策略。
这个例子的数字仅用于说明分组比较的方法,不代表任何真实站点的规模或结果。
保留证据的目的是缩小排查范围,不是直接得出“已修复”的结论。几点边界要写清楚。
当你手里同时有边缘响应、源站响应、时间序列和节点分组记录时,可以按下面的顺序推进。
每一步的结果都会改变下一步的方向。如果第一步就发现源站也有差异,那么边缘证据只能作为辅助,不能作为主线索。反过来,如果源站完全正常而边缘稳定复现差异,那么边缘配置就是首要排查对象。
最后提醒一点:证据要可复查。也就是说,换一个人、换一个时间,用同样的请求方式,应该能得到可对比的记录。做不到可复查的记录,在后续判断中价值有限。