文章目录

  • 前言
    • 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访问及某一个页面被访问的次数

  1. 查看有多少个IP访问:
 awk '{print $1}' log_file|sort|uniq|wc -l
  1. 查看某一个页面被访问的次数:
grep "/index.php" log_file | wc -l

2、查看每一个IP访问了多少个页面及个IP访问的页面数进行从小到大排序

  1. 查看每一个IP访问了多少个页面
wk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file > log.txtsort -n -t ' ' -k 2 log.txt  # 配合sort进一步排序
  1. 将每个IP访问的页面数进行从小到大排序:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n

3、查看某一个IP访问了哪些页面及去掉搜索引擎统计的页面

  1. 查看某一个IP访问了哪些页面
grep ^111.111.111.111 log_file| awk '{print $1,$7}'
  1. 去掉搜索引擎统计的页面
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个文件或页面

  1. 前十个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}
  1. 访问次数最多的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来计算和列出传输大小最大的几个文件

  1. 通过子域名访问次数,依据referer来计算
cat access.log | awk '{print $11}' | sed -e ' s/http:\/\///' -e ' s/\/.*//' | sort | uniq -c | sort -rn | head -20
  1. 列出传输大小最大的几个文件
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秒的文件和列出当前服务器每一进程运行的数量,倒序排序

  1. 列出传输时间超过30秒的文件
cat www.access.log |awk '($NF > 30){print $7}'|sort -n|uniq -c|sort -nr|head -20
  1. 列出当前服务器每一进程运行的数量,倒序排序
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
  1. 统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
    表示Apache能够处理1个并发请求,这个值Apache可根据负载情况自动调整
netstat -nat|grep -i "80"|wc -l
4341
  1. netstat -an 会打印系统当前网络链接状态,而grep -i “80” 是用来提取与80端口有关的链接的,wc -l 进行连接数的统计。最终返回的数字就是当前所有80端口的请求总数
netstat -na|grep ESTABLISHED|wc -l376
  1. 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、其他的收集

  1. 分析日志文件下某个日期访问页面最高的前20个URL并排序
cat access.log |grep '04/May/2012'| awk '{print $11}'|sort|uniq -c|sort -nr|head -20
  1. 查询受访页面的URL地址中 含有某个网址的IP地址
cat access_log | awk '($11~/\www.abc.com/){print $1}'|sort|uniq -c|sort -nr
  1. 获取访问最高的10个IP地址 同时也可以按时间来查询
cat linewow-access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10
  1. 时间段查询日志情况
cat log_file | egrep '15/Aug/2015|16/Aug/2015' |awk '{print $1}'|sort|uniq -c|sort -nr|head -1
  1. 统计网站流量(G)
cat access.log|awk '{sum+=$10} END {print sum/1024/1024/1024}'
  1. 统计404的连接
awk '($9 ~/404/)' access.log | awk '{print $9,$7}' | sort
  1. 统计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
  1. 每秒并发
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"
  1. 带宽统计
cat apache.log |awk '{if($7~/GET/) count++}END{print "client_request="count}'

Linux之 Shell分析日志文件相关推荐

  1. 几十个Shell分析日志文件脚本!

    点击蓝字 关注我们 因公众号更改推送规则,请点"在看"并加"星标"第一时间获取精彩技术分享 来源于网络,侵删 收集,整理一些服务器日志分析命令,可以用来分析自己 ...

  2. Shell 分析日志文件命令全面总结!

    更多专业文档请访问 www.itilzj.com 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令, ...

  3. Linux运维之认识与分析日志文件(rsyslog服务),时间同步服务(chronyd服务)及时间管理命令(timedatectl)

    一.实验环境(rhel7.0版本) 主机环境:rhel7.0 各主机信息 主机名 IP server 172.25.254.1 client 172.25.254.2 二.日志文件介绍 1.Linux ...

  4. 【转】使用 F#、MapReduce 和 Windows Azure 分析日志文件

    http://msdn.microsoft.com/zh-cn/magazine/gg983490.aspx 使用 F#.MapReduce 和 Windows Azure 分析日志文件 Noah G ...

  5. 服务器Shell分析日志命令

    近日在网上闲逛时,看到一些关于服务器shell进行日志分析的命令,觉得很不错就收集起来,自己也是做网站的,也喜欢没事鼓捣一下自己的服务器. 来源:这些 Shell 分析服务器日志命令集锦,优秀! 1. ...

  6. 鸟哥私房菜第19章——认识和分析日志文件

    1,日志记录系统在什么时候由哪个进程做了什么样的事情.日志文件可以解决系统方面的错误.解决网络服务的问题.过往事件记录薄. 2,日志文件可以帮助我们了解很多系统重要的事件,包括登陆者的部分信息,因此日 ...

  7. linux查看mysql连接日志文件,linux下查看mysql日志文件的方法

    查看mysql日志方法: mysql默认不允许我们查看日志.需要更改一些设置 1 vi 更改配置文件 允许用户查看日志文件 sudo vi /etc/mysql/mysql.conf.d/mysqld ...

  8. mysql 日志 超过 m,linux 下查找大日志文件,比如大于500M的文件

    在实际生产环境中,有的时候有些文件我们不知道占用多大,这个时候我们需要进行查找命令来进行查看占用文件的大小,从而达到文件的清理,释放磁盘,保障磁盘充足,让网站资源不浪费,稳定运行,那么我们需要在lin ...

  9. shell分析日志常用指令合集

    数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...

最新文章

  1. 3天我把DDD业务领域建模、数据库、聚合彻底撸干净了!
  2. java annotation入门_JAVA - Annotation 注解 入门
  3. CentOS 7添加开机启动服务脚本
  4. 二叉搜索树的删除操作可以交换吗_JavaScript数据结构 — 二叉搜索树(BST)ES6实现...
  5. 跨境电商erp有哪些功能?跨境erp是跨境电商卖家必备么?
  6. 移民火星住哪?盖房的事就交给AI机器人Justin吧
  7. HDU2097 Sky数【进制】
  8. C语言 scanf函数
  9. c语言 屏幕亮度调节_好手机的屏幕有什么不同?我们为何需要一块好屏幕?
  10. 机器学习大牛李飞飞的电脑配置
  11. 在线图片裁剪,关于使用cropperjs踩过的坑
  12. 小白做shopee平台,怎么解决货源问题,这三点一定要掌握
  13. 风变编程——自动化技术和教学的完美融合
  14. mui 图片预览(3)
  15. 幼儿园故事导入语案例_幼儿园活动教案导入语
  16. 安卓手机运行ios教程_英雄联盟手游公测,安卓/苹果iOS注册下载教程!
  17. Mac wifi 卡死
  18. 递归算法与非递归算法的转化
  19. 爬虫抓取某饿了app商铺的评论数据
  20. 方差、标准差、均方误差

热门文章

  1. Zabbix学习笔记(六)Zabbix的APi使用
  2. SCI论文发表流程详解
  3. 基于AT89C52数码管循环移位显示
  4. 【AI视野·今日CV 计算机视觉论文速览 第247期】Fri, 22 Apr 2022
  5. ARM Cortex-A77架构解读
  6. 徐小平:不要用兄弟情谊来追求共同利益,要用共同利益追求兄弟情谊
  7. 相似图片搜索原理三(颜色直方图—c++实现)
  8. NBA球员总得分预测——K近邻算法
  9. Server2003安装SP2补丁提示密钥无效的解决方法
  10. 手把手教你使用 Java 和 Redis 实现排行榜!