Linux之 Shell分析日志文件
文章目录
- 前言
- 1. 查看有多少个IP访问及某一个页面被访问的次数
- 2、查看每一个IP访问了多少个页面及个IP访问的页面数进行从小到大排序
- 3、查看某一个IP访问了哪些页面及去掉搜索引擎统计的页面
- 4、查看2015年8月16日14时这一个小时内有多少IP访问
- 5、查看访问比较靠前的IP和访问次数最多的10个文件或页面
- 6、通过子域名访问次数,依据referer来计算和列出传输大小最大的几个文件
- 7、列出输出大于200000byte(约200kb)的页面以及对应页面发生次数
- 8、如果日志最后一列记录的是页面文件传输时间,则列出到客户端最耗时的页面
- 9、列出最耗时(超过60s)的页面以及对应页面发生次数
- 10、列出传输时间超过30秒的文件和列出当前服务器每一进程运行的数量,倒序排序
- 11、查看apache当前并发访问数
- 12、可以使用如下参数查看数据
- 13、输出每个ip的连接数,以及总的各个状态的连接数
- 14、其他的收集
前言
自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试!
1. 查看有多少个IP访问及某一个页面被访问的次数
- 查看有多少个IP访问:
awk '{print $1}' log_file|sort|uniq|wc -l
- 查看某一个页面被访问的次数:
grep "/index.php" log_file | wc -l
2、查看每一个IP访问了多少个页面及个IP访问的页面数进行从小到大排序
- 查看每一个IP访问了多少个页面
wk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file > log.txtsort -n -t ' ' -k 2 log.txt # 配合sort进一步排序
- 将每个IP访问的页面数进行从小到大排序:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n
3、查看某一个IP访问了哪些页面及去掉搜索引擎统计的页面
- 查看某一个IP访问了哪些页面
grep ^111.111.111.111 log_file| awk '{print $1,$7}'
- 去掉搜索引擎统计的页面
awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l
4、查看2015年8月16日14时这一个小时内有多少IP访问
awk '{print $4,$1}' log_file | grep 16/Aug/2015:14 | awk '{print $2}'| sort | uniq | wc -l
5、查看访问比较靠前的IP和访问次数最多的10个文件或页面
- 前十个ip地址
awk '{print $1}' |sort|uniq -c|sort -nr |head -10 access_log
uniq -c 相当于分组统计并把统计数放在最前面
cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10cat access.log|awk '{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}
- 访问次数最多的10个文件或页面
cat log_file|awk '{print $11}'|sort|uniq -c|sort -nr | head -10cat log_file|awk '{print $11}'|sort|uniq -c|sort -nr|head -20awk '{print $1}' log_file |sort -n -r |uniq -c | sort -n -r | head -20
6、通过子域名访问次数,依据referer来计算和列出传输大小最大的几个文件
- 通过子域名访问次数,依据referer来计算
cat access.log | awk '{print $11}' | sed -e ' s/http:\/\///' -e ' s/\/.*//' | sort | uniq -c | sort -rn | head -20
- 列出传输大小最大的几个文件
cat www.access.log |awk '($7~/\.php/){print $10 " " $1 " " $4 " " $7}'|sort -nr|head -100
7、列出输出大于200000byte(约200kb)的页面以及对应页面发生次数
cat www.access.log |awk '($10 > 200000 && $7~/\.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100
8、如果日志最后一列记录的是页面文件传输时间,则列出到客户端最耗时的页面
cat www.access.log |awk '($7~/\.php/){print $NF " " $1 " " $4 " " $7}'|sort -nr|head -100
9、列出最耗时(超过60s)的页面以及对应页面发生次数
cat www.access.log |awk '($NF > 60 && $7~/\.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100
10、列出传输时间超过30秒的文件和列出当前服务器每一进程运行的数量,倒序排序
- 列出传输时间超过30秒的文件
cat www.access.log |awk '($NF > 30){print $7}'|sort -n|uniq -c|sort -nr|head -20
- 列出当前服务器每一进程运行的数量,倒序排序
ps -ef | awk -F ' ' '{print $8 " " $9}' |sort | uniq -c |sort -nr |head -20
11、查看apache当前并发访问数
对比httpd.conf中MaxClients的数字差距多少
netstat -an | grep ESTABLISHED | wc -l
12、可以使用如下参数查看数据
ps -ef|grep httpd|wc -l1
- 统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
表示Apache能够处理1个并发请求,这个值Apache可根据负载情况自动调整
netstat -nat|grep -i "80"|wc -l
4341
- netstat -an 会打印系统当前网络链接状态,而grep -i “80” 是用来提取与80端口有关的链接的,wc -l 进行连接数的统计。最终返回的数字就是当前所有80端口的请求总数
netstat -na|grep ESTABLISHED|wc -l376
- grep ESTABLISHED 提取出已建立连接的信息。
netstat -nat||grep ESTABLISHED|wc
可查看所有建立连接的详细记录。
13、输出每个ip的连接数,以及总的各个状态的连接数
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'
14、其他的收集
- 分析日志文件下某个日期访问页面最高的前20个URL并排序
cat access.log |grep '04/May/2012'| awk '{print $11}'|sort|uniq -c|sort -nr|head -20
- 查询受访页面的URL地址中 含有某个网址的IP地址
cat access_log | awk '($11~/\www.abc.com/){print $1}'|sort|uniq -c|sort -nr
- 获取访问最高的10个IP地址 同时也可以按时间来查询
cat linewow-access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10
- 时间段查询日志情况
cat log_file | egrep '15/Aug/2015|16/Aug/2015' |awk '{print $1}'|sort|uniq -c|sort -nr|head -1
- 统计网站流量(G)
cat access.log|awk '{sum+=$10} END {print sum/1024/1024/1024}'
- 统计404的连接
awk '($9 ~/404/)' access.log | awk '{print $9,$7}' | sort
- 统计http status
cat access.log |awk '{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}'cat access.log |awk '{print $9}'|sort|uniq -c|sort -rn
- 每秒并发
watch "awk '{if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}' log_file|sort -k 2 -nr|head -n10"
- 带宽统计
cat apache.log |awk '{if($7~/GET/) count++}END{print "client_request="count}'
Linux之 Shell分析日志文件相关推荐
- 几十个Shell分析日志文件脚本!
点击蓝字 关注我们 因公众号更改推送规则,请点"在看"并加"星标"第一时间获取精彩技术分享 来源于网络,侵删 收集,整理一些服务器日志分析命令,可以用来分析自己 ...
- Shell 分析日志文件命令全面总结!
更多专业文档请访问 www.itilzj.com 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令, ...
- Linux运维之认识与分析日志文件(rsyslog服务),时间同步服务(chronyd服务)及时间管理命令(timedatectl)
一.实验环境(rhel7.0版本) 主机环境:rhel7.0 各主机信息 主机名 IP server 172.25.254.1 client 172.25.254.2 二.日志文件介绍 1.Linux ...
- 【转】使用 F#、MapReduce 和 Windows Azure 分析日志文件
http://msdn.microsoft.com/zh-cn/magazine/gg983490.aspx 使用 F#.MapReduce 和 Windows Azure 分析日志文件 Noah G ...
- 服务器Shell分析日志命令
近日在网上闲逛时,看到一些关于服务器shell进行日志分析的命令,觉得很不错就收集起来,自己也是做网站的,也喜欢没事鼓捣一下自己的服务器. 来源:这些 Shell 分析服务器日志命令集锦,优秀! 1. ...
- 鸟哥私房菜第19章——认识和分析日志文件
1,日志记录系统在什么时候由哪个进程做了什么样的事情.日志文件可以解决系统方面的错误.解决网络服务的问题.过往事件记录薄. 2,日志文件可以帮助我们了解很多系统重要的事件,包括登陆者的部分信息,因此日 ...
- linux查看mysql连接日志文件,linux下查看mysql日志文件的方法
查看mysql日志方法: mysql默认不允许我们查看日志.需要更改一些设置 1 vi 更改配置文件 允许用户查看日志文件 sudo vi /etc/mysql/mysql.conf.d/mysqld ...
- mysql 日志 超过 m,linux 下查找大日志文件,比如大于500M的文件
在实际生产环境中,有的时候有些文件我们不知道占用多大,这个时候我们需要进行查找命令来进行查看占用文件的大小,从而达到文件的清理,释放磁盘,保障磁盘充足,让网站资源不浪费,稳定运行,那么我们需要在lin ...
- shell分析日志常用指令合集
数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...
最新文章
- 3天我把DDD业务领域建模、数据库、聚合彻底撸干净了!
- java annotation入门_JAVA - Annotation 注解 入门
- CentOS 7添加开机启动服务脚本
- 二叉搜索树的删除操作可以交换吗_JavaScript数据结构 — 二叉搜索树(BST)ES6实现...
- 跨境电商erp有哪些功能?跨境erp是跨境电商卖家必备么?
- 移民火星住哪?盖房的事就交给AI机器人Justin吧
- HDU2097 Sky数【进制】
- C语言 scanf函数
- c语言 屏幕亮度调节_好手机的屏幕有什么不同?我们为何需要一块好屏幕?
- 机器学习大牛李飞飞的电脑配置
- 在线图片裁剪,关于使用cropperjs踩过的坑
- 小白做shopee平台,怎么解决货源问题,这三点一定要掌握
- 风变编程——自动化技术和教学的完美融合
- mui 图片预览(3)
- 幼儿园故事导入语案例_幼儿园活动教案导入语
- 安卓手机运行ios教程_英雄联盟手游公测,安卓/苹果iOS注册下载教程!
- Mac wifi 卡死
- 递归算法与非递归算法的转化
- 爬虫抓取某饿了app商铺的评论数据
- 方差、标准差、均方误差