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
相关推荐
zx_7414848114 分钟前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS26 分钟前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿37 分钟前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog1 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞2 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲2 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz2 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
浅念-2 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
日常筹谋记3 小时前
自动化仓储安全防护工况评估:明治传感器AS-33C技术适配性分析
大数据·运维·创业创新·业界资讯
susplus3 小时前
【ARM 裸机开发 (IMX6ULL-mini)】GNU工具、Makefile 工程构建、链接脚本详解|C 语言点灯 + 蜂鸣器驱动
linux·arm·makefile·imx6ull