一、背景介绍
对Web服务器的access.log日志进行分析至关重要,主要原因包括 识别攻击行为:检测SQL注入、XSS、暴力破解、扫描器等攻击尝试
异常访问发现:发现异常IP、高频请求、非常规时间访问等可疑行为 DDoS识别:通过请求频率分析识别潜在攻击流量
响应时间分析:找出响应缓慢的页面或API接口 流量热点识别:了解哪些资源最受欢迎,优化资源配置
错误诊断:通过HTTP状态码(如500、404)快速定位问题 带宽消耗分析:识别大文件下载或异常流量消耗
用户分布:了解访客地域、设备、浏览器分布 访问路径:分析用户在网站中的浏览路径
通过系统化的日志分析,不仅可以提升网站安全性和性能,还能获得宝贵的业务洞察,支持数据驱动的决策制定。
二、IP访问前十追踪
bash
awk '{print $1}' access.log awk | sort | uniq -c | sort -nr | head -n 10

三、接口请求方式前三排名
bash
awk '{print $6}' access.log awk | sort | uniq -c | sort -nr | head -n 3

四、不同时间段访问记录排名
bash
awk '{split($4,t,":"); s=t[2]*3600+t[3]*60+t[4];
if(s<32400) p="00:00:00-09:00:00";
else if(s<43200) p="09:00:00-12:00:00";
else if(s<64800) p="12:00:00-18:00:00";
else p="18:00:00-00:00:00";
a[p]++}
END{for(i in a) print i, a[i] | "sort -k2rn"}' access.log

五、请求最多的接口排名前十
bash
awk '{print $7}' access.log awk | sort | uniq -c | sort -nr | head -n 10
