Linux实用命令分析nginx系统日志文件

一、背景介绍

对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
相关推荐
风曦Kisaki7 小时前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
小楼昨夜又东风1267 小时前
使用python快速拉包
linux
影寂ldy7 小时前
C# try-catch 异常处理全套笔记
服务器·数据库·c#
fei_sun7 小时前
黑洞路由(Null Route/空接口路由)
服务器·前端·javascript
Tipriest_8 小时前
ubuntu创建和更换当前swap大小
linux·运维·ubuntu
雨辰AI8 小时前
生产级实战:人大金仓 V9 标准化运维手册(日常巡检 + 监控告警 + 应急处置)
java·运维·数据库·后端
ejinxian8 小时前
微虚拟机 smolvm 与Docker 容器比较
运维·docker·容器·smolvm
ShiXZ2139 小时前
PDF-OCR文件识别篇(八):配置、运维与排错
java·运维·ocr·dubbo·springboot
爱码少年9 小时前
Docker如何一次查看多个容器日志
运维·docker·容器
WI8LbH7889 小时前
Ubuntu 部署Harbor
linux·运维·ubuntu