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
相关推荐
roman_日积跬步-终至千里4 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
野犬寒鸦4 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
HalvmånEver4 小时前
Linux:线程互斥
java·linux·运维
番茄灭世神5 小时前
Linux应用编程介绍
linux·嵌入式
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][mmc][mmc_sdio]
linux·笔记·学习
Forsete5 小时前
LINUX驱动开发#9——定时器
linux·驱动开发·单片机
JY.yuyu5 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
森G5 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
驱动探索者5 小时前
linux mailbox 学习
linux·学习·算法
alice--小文子6 小时前
cursor-mcp工具使用
java·服务器·前端