服务器日志采集配置:把 AI 爬虫日志管线搭起来
AI 优化的技术决策,最后都要落到“日志里到底来了谁”这个一手事实上。第三方工具的爬虫数据是模型推测,日志是现场记录——两条线谁准谁不准,方法论见日志分析(Log File Analysis)术语卡。本卡是施工卡:把 AI 爬虫的日志管线从零搭起来,分采集、存储、解析、看板四段。判断“那条流量是不是真的 GPTBot”属于验证问题,方法在爬虫日志验证方法档案,本卡只负责把流量完整、可靠地记下来并分类归账。
采集段:记什么、在哪记
字段层面,标准组合日志格式是起点,但 AI 爬虫分析要多加几样:请求时间(精确到秒,用于还原抓取节奏)、完整路径与查询串(区分参数变体)、状态码、响应字节数、UA 完整串、来源页——再加两个非默认字段:响应耗时与缓存命中标记。响应耗时回答“爬虫来的时候服务器累不累”,缓存标记回答“它拿到的是缓存版还是回源版”,这两个字段在排查“抓取挤压服务”与“AI 读到旧内容”时都是关键证据。UA 完整串要特别强调“完整”:不少默认配置会截断 UA 或记成简写,而具名爬虫的版本信息、家族标识全在串尾——截断的 UA 让解析段的映射凭空多出一堆“未识别”。
位置层面要分清两份日志的分工:边缘日志(CDN、WAF、负载均衡)记录全部到访,包括在边缘就被拦截或挑战的流量;源站日志只记录穿过边缘到达应用的流量。只看源站日志会系统性漏掉被边缘处理掉的部分——而“边缘拦了多少、拦的是谁”恰恰是策略复盘要回答的问题;只看边缘日志则看不到应用层的真实响应与耗时。两份都要,按请求标识或时间加 IP 对齐。部署在无自建服务器平台上的站点(全托管托管型)拿不到传统意义上的机器日志,替代路径是平台的访问日志导出或边缘日志产品——形态不同,字段齐不全的判断标准一致。
存储层面给两条工程纪律。一是全量记录、按窗口滚动:爬虫流量在总流量里的占比不大,全量记录的成本可控,而采样日志会漏掉低频但重要的访客——新爬虫的第一次到访往往就一条记录。二是保留窗口按分析需求定:爬虫台账做趋势至少要看季度,配合归档把冷数据留下来,删除策略别把分析窗口切短。归档格式选便于批量解析的纯文本或列式存储都行,判断标准只有一个:季度复盘时能把任意爬虫的任意季度记录拉出来重跑。
解析段:从 UA 字符串到爬虫台账
原始日志里的 UA 是一串文本,解析段把它变成台账。步骤固定四步:第一,提取与归一——把 UA 串截成产品标识加版本号,版本号变化不当作新爬虫,但入库存档原串备查;第二,映射到名单——对到爬虫全景表的具名条目,长尾与新面孔对官方清单,社区维护的一百多条 UA 清单可作底册参考(见社区清单 181 条 UA 数据卡与AI 爬虫全景档案表);第三,打用途标签——每条具名爬虫标注训练、检索、用户触发三型,统计与决策都按型分组;第四,接验证结果——验证过的流量打“已验证”标,UA 命中但 IP 未过的打“待核”标,两标分列。
解析段有一条最重要的纪律:映射不出来的流量不是“其他”,而是“未识别”。把它与“识别失败”混在一个兜底类里,台账的边界就糊了。未识别流量单独成列、按周人工过一遍——新爬虫、伪装流量、内部扫描都先落在这里,AI 爬虫名单在变长,这个列就是发现新访客的雷达屏。agent 类流量(真浏览器环境的任务型访客)值得在台账里单开一列:它们的行为模式与经典爬虫全然不同,混进任何一列都会污染那一列的解读。
工具选择上给一句实话:这个解析段用分析型日志工具、开源的日志管道或一段定期脚本都能做,工具不是成败关键;成败关键是映射表有人维护——名单每季度变一次,映射表不跟着变,台账三个月后就开始说谎。
看板段:周报里放哪几个数
台账建好后,看板固定四个视图。一是按爬虫分组的请求量趋势——谁在加速、谁是新面孔;二是状态码分布——对每个重点爬虫单看它的 404 率与异常率,AI 爬虫的重构地址行为让它们的 404 率天然偏高,量化背景见抓取效率与 404 治理;三是路径覆盖——高价值目录各被哪些爬虫抓过、低价值路径有没有流量漏进来;四是带宽占比——AI 爬虫占出口流量的比例及其趋势,这是成本对话里最有说服力的一个数。有条件再看第五个:抓取节奏分布——把重点爬虫的请求按小时分桶,看它抓得均匀还是突发,突发型流量对容量的威胁与均匀型完全不同,限速阈值也该按这个形态定。
节奏上以周为单位出数、以季度为单位复盘。周报看异常(新 UA、状态码突刺、某爬虫消失),季度复盘看策略(放行名单要不要调、限速规则有没有必要、边缘与源站日志对得上对不上)。把日志管线接进既有的运营节奏,而不是另起一套汇报体系——入口见AI 可见度诊断流程,技术体检那一步的消费方就是本卡的产出;监测侧的指标口径如果也要接日志数据,台账的爬虫分类就是两边的共同主键。
施工清单与常见翻车点
施工顺序照旧四段走:字段配齐、双份日志对齐、解析与台账上线、看板接进周报。翻车点按出现频率排:第一,只配了源站日志、把边缘拦截量漏在账外,抓取量的盘子里少了一大块;第二,日志里记的是截断 UA,具名映射对不上,台账里“未识别”虚高;第三,把 robots.txt 的取回请求与页面请求混算,规则抓取频次被当成页面抓取频次;第四,时区不一致——边缘与源站日志各用时区,对齐时差出几小时的裂缝。四条都在施工期花几分钟检查,比上线后再修便宜得多。