WEB日志分析
WEB正确日志格式分析
域 | 内容 | 含义 |
$1 | 192.168.1.5 | 远程主机IP %h |
$2 | - | 占位符 %l |
$3 | - | 占位符 %u |
$4 | 21/Mar/2020:16:34:53 | 服务器完成请求处理时间,日/月/年:小时:分钟:秒:时区 %t |
$5 | +0800 | 时区 |
$6 | GET | 方法 |
$7 | /noindex/css/bootstrap.min.css | 资源URL |
$8 | HTTP/1.1 | 协义 |
$9 | 200 | 返回状态 |
$10 | 19341 | 发送给客户端部字节数 |
日志统计举例
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{print $1}'
对IP排序
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{print $1}'|sort
打印每一个重复出现IP的次数,
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{print $1}'|sort|uniq -c
排序并统计行数
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{print $1}'|sort|uniq -c|sort -rn|wc -l
显示访问前10的IP地址
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{print $1}'|sort|uniq -c|sort -rn|head -10
显示指定时间以后的日志
[root@master ~]# cat /etc/httpd/logs/access_log |awk '$4>="21/Mar/2020:16:34:13"{print}'
找出访问最大的IP地址并封掉
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{print $1}'|sort|uniq -c|sort -rn|more
找出日志中下载最的几个css文件,
[root@master ~]# cat /etc/httpd/logs/access_log |awk '($7~/css/){print $10" "$4" "$7" "$1}'|sort -n|uniq -c|sort -rn|head -10 6 241 [21/Mar/2020:16:34:52 /noindex/css/fonts/Light/OpenSans-Light.woff 192.168.1.5 6 240 [21/Mar/2020:16:34:52 /noindex/css/fonts/Light/OpenSans-Light.ttf 192.168.1.5 6 239 [21/Mar/2020:16:34:52 /noindex/css/fonts/Bold/OpenSans-Bold.woff 192.168.1.5 6 238 [21/Mar/2020:16:34:53 /noindex/css/fonts/Bold/OpenSans-Bold.ttf 192.168.1.5 5 241 [21/Mar/2020:16:34:53 /noindex/css/fonts/Light/OpenSans-Light.woff 192.168.1.5 5 240 [21/Mar/2020:16:34:53 /noindex/css/fonts/Light/OpenSans-Light.ttf 192.168.1.5 5 240 [21/Mar/2020:16:34:51 /noindex/css/fonts/Light/OpenSans-Light.ttf 192.168.1.5 5 239 [21/Mar/2020:16:34:53 /noindex/css/fonts/Bold/OpenSans-Bold.woff 192.168.1.5 5 238 [21/Mar/2020:16:34:52 /noindex/css/fonts/Bold/OpenSans-Bold.ttf 192.168.1.5 5 238 [21/Mar/2020:16:34:51 /noindex/css/fonts/Bold/OpenSans-Bold.ttf 192.168.1.5
[root@master ~]# cat /etc/httpd/logs/access_log |awk '($10>=1000 && $7~/css/){print $10" "$4" "$7" "$1}'|sort -n|uniq -c|sort -rn|head -10 1 5081 [21/Mar/2020:16:47:08 /noindex/css/open-sans.css 192.168.1.4 1 5081 [21/Mar/2020:16:34:13 /noindex/css/open-sans.css 192.168.1.5 1 19341 [21/Mar/2020:16:47:08 /noindex/css/bootstrap.min.css 192.168.1.4 1 19341 [21/Mar/2020:16:34:13 /noindex/css/bootstrap.min.css 192.168.1.5 大于等于1k
简单统计流量
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{sum+=$10}'
统计401访问拒绝的数量
[root@master ~]# cat /etc/httpd/logs/access_log |awk '(/401/)'|wc -l
[root@master ~]# cat /etc/httpd/logs/access_log |awk '{print $9}'|sort|uniq -c|sort -rn
查看某一时间的IP连接数
[root@master ~]# grep "2020:16:47" /etc/httpd/logs/access_log |awk '{print $4}'|sort|uniq -c|sort -rn
错误日志分析、
错误日志记录等级
紧急程序 | 等级 | 说明 |
0 | emerg | 出现紧急情况使得系统不可用,如宕机 |
1 | alert | 需要立即引起注意的情况 |
2 | crit | 关键错误,危险情况的警告,由于配置不当所致 |
3 | error | 一般错误 |
4 | warm | 警告信息,不算错误信息,主要记录服务器出现的某种信息 |
5 | notice | 需要引起注意的情况 |
6 | info | 值得报告的一般信息,比如服务器重启 |
7 | debug | 由于运行于debug模式所产生的信息 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?