先把两边日志换算到同一时间基准,再按请求路径和响应状态配对,而不是直接比较时间戳字符串。抓取日志常用UTC,应用日志常用本地时区;服务器时钟还可能有偏移。对齐后再决定旧URL是保留、改写还是退出,否则容易把正常的404误判为故障,或把真实故障当成正常下线。
抓取日志里的时间通常表示请求发起或响应完成的时刻,应用日志可能记录请求进入、处理完成或写入队列的时间。两者相差几十毫秒到数秒都属正常,尤其在经过反向代理、CDN或消息队列时。
可区分的原因有几类:
先做一次换算测试:取同一天中访问量较低的时段,把应用日志时间统一转为UTC,再与抓取日志比对。如果差值从随机变为稳定的小偏移,说明主要是时区和记录点问题;如果差值持续变化,优先检查NTP同步和服务器时钟。
时间对齐后,仍会有同一秒内多个请求。此时用请求路径加响应状态码作为配对键,比单纯按时间排序可靠。抓取日志中的URL往往是完整地址,应用日志可能只记录路径,需要先统一去掉协议、域名和查询参数中无关的部分。
假设一个旧栏目页返回404,抓取日志显示某时刻请求了该地址,应用日志同一秒有多条记录。可以按以下顺序处理:
这个动作的结果会直接影响下一步:若两边状态一致,问题在下线策略或链接清理;若只有抓取日志有记录,问题在请求链路,而不是应用本身返回了404。
对齐事件后,旧URL的处理有三种方向,适用条件不同。
保留适用于该URL仍有外部链接、仍有用户直接访问,或内容只是暂时下线。保留时返回200或301,并确保页面内容与旧主题相关。若只是用robots.txt限制抓取,并不能可靠地把已索引URL移除,抓取限制和索引移除是两件事。
改写适用于旧URL对应的主题仍然存在,只是结构或命名变化。把旧地址301到最相关的新地址,并确认新地址可正常访问、内容对应。站点地图提交不保证收录,它只是发现线索。
退出适用于内容确实不再提供、没有合适替代页,且外部链接价值很低。此时返回404或410是可接受的,但要接受已索引URL会逐渐减少,而不是立即消失。
判断依据可以来自对齐后的日志:如果该路径在抓取日志中仍有稳定请求,且应用日志显示这些请求来自真实用户或外部链接,优先保留或改写;如果请求只来自少量自动抓取且持续下降,退出的代价更小。
假设某旧活动页准备下线,抓取日志显示每天仍有若干请求,应用日志中同一路径的请求时间比抓取日志晚8小时,且状态码为200。换算后确认是同一批请求,说明该页仍有访问。此时直接删除并返回404,会让这些访问落到错误页。更稳妥的做法是先301到同主题的新页面,观察一段时间后再决定是否彻底移除。这个例子中的数字仅用于说明换算和配对方法,不代表任何真实站点数据。
把时区换算规则、配对键、允许的时间窗口和最终处理决定写进一份简短记录。下次再出现时间不一致时,可以直接复用换算方式,而不是重新猜测。若后续发现请求量或抓取量归零,也不能单独证明处理正确,还可能是抓取频率调整、日志采样或链路变更所致,需要结合应用日志和代理日志一起判断。
最终要回答的不是“哪个日志更准”,而是“这两条记录是否指向同一次请求,以及这次请求是否还需要被服务”。对齐事件只是手段,保留、改写或退出的决定必须建立在对齐后的证据上。