第二篇:AI日志分析实战教程——海量日志降噪与字段结构化提取(附Prompt模板与Python脚本)
上一篇讲了整个专栏的方法论:安全工作是信号提取、假设生成、决策行动三个动作的循环,AI该精准介入前两步,对抗式审查是必须跑的一环。这一篇开始进入具体场景,先讲信号提取层里最基础也最容易被做错的一件事——日志降噪和字段结构化。我见过太多团队把这一步想简单了,觉得"不就是把日志喂给AI,让它告诉我哪条有问题"。这个思路在日志量小的时候能凑合用,量一旦上来,问题就全暴露出来了。一、先算一笔账,看看日志量到底有多大拿一个中等规模的电商网站举例,日均PV(页面访问量)1000万,每次访问平均产生Nginx access log、应用层日志、WAF日志三条记录,一天就是3000万条。假设每条日志200字节,一天的原始日志体量是6GB左右,一个月180GB,一年超过2TB。这个量级,人工是绝对看不过来的。哪怕给你配一个10人的团队,每人每天工作8小时,每分钟看10条日志(这已经是很快的速度了),一天10个人也只能看4.8万条,占日均日志量的0.16%。这就是为什么信号提取层必须靠自动化手段先做一轮压缩,而不是指望人工肉眼筛选。传统方案靠正则表达式和规则引擎,比如用Nginx日志分析工具设一条规则:“5分钟内同一IP访问次数超过500次,判定为扫描行为”。这类规则简单粗暴,能过滤掉一部分噪音,但漏报和误报都不少——CDN节点、企业内网的NAT出口,都可能在5分钟内产生远超500次的正常访问,规则一刀切很容易把这些也当成攻击。二、日志降噪的本质是什么先别急着写Prompt,按第一性原理想清楚一件事:日志降噪要压缩的到底是什么。日志里的信息可以分成三层:原始文本