用日志补充分析证据,核心不是再装一个统计脚本,而是把服务器或CDN记录的原始请求,整理成能回答具体问题的证据链,再与流量统计工具的口径对照。最终交付物应是一份可复核的对照表:同一时间段、同一指标、两种来源的数值与差异原因。只有先明确这份交付物,才能倒推需要哪些日志字段、谁负责导出、按什么规则清洗、用什么标准验收。
日志能补充的证据类型,取决于你想验证什么。常见目标有三类:验证统计工具是否漏记、区分真实访问与机器请求、还原某个页面的实际请求路径。不同目标需要的字段不同,不能一份日志包打天下。
如果日志里缺少User-Agent或Referer,就只能做请求量核对,无法判断访问来源。这是选择方案时的硬约束:先看日志字段是否齐全,再决定分析能做到哪一步。
实际执行时通常有两种做法,适用条件不同。
方案一:抽样核对。从日志中抽取若干小时或若干千行,人工比对流量统计工具同一时段的会话数、页面浏览量。优点是成本低、上手快;缺点是只能发现明显偏差,无法给出全量结论。适合日志量大、只需判断“统计工具是否大致可信”的场景。
方案二:全量归并。把整段日志按会话规则归并,再与统计工具报表逐日对照。优点是能定位差异具体出现在哪一天、哪类请求;缺点是需要处理日志格式、时区、爬虫过滤规则。适合需要对外说明数据口径、或统计工具与业务数据长期对不上的场景。
判断选哪种,看两个条件:差异是否稳定出现,以及差异是否影响决策。如果只是偶发小偏差,抽样即可;如果差异持续存在且要写进报告,就必须全量归并。
假设最终要交付一份“日志与统计工具对照表”,倒推需要完成的任务如下。
责任划分要落到人:日志导出归运维,口径定义归分析方,验收归提出问题的业务方。没有验收人,对照表就只是中间产物。
验收时不要只比总数,要按维度拆开。可执行的检查项包括:同一路径的请求数是否一致;状态码分布是否一致;移动端与桌面端比例是否接近。若总数接近但某路径差异大,说明问题出在页面级统计,而不是整体漏记。
常见差异原因有:统计工具在客户端执行,用户禁用脚本或页面未加载完成时不会记录,而日志会记录;日志包含静态资源请求和爬虫,统计工具通常已过滤;两者时区或会话超时定义不同。这些是可能原因,不是已经定位的原因,需要逐项排除后才能下结论。
例如(假设场景):某日日志显示某页面请求一千次,统计工具显示六百次。先检查该页面是否大量被爬虫请求,再检查统计脚本是否放在页面底部导致提前离开未触发。两项都排除后,才考虑统计工具本身的口径问题。
先写一页对照表模板,列出时间、路径、日志请求数、统计工具数值、差异、待排除原因六列。拿最近一天的数据填一遍,如果某个字段填不出来,就说明日志字段或导出权限还没准备好,先补齐这一项,再扩大分析范围。