Apache日志统计举例

加些来了解一下如何统计Apache的访问日志,一般可以用tail命令来实时查看日志文件变化,但是各种的应用系统中的日志会非常复杂,一堆长度超过你浏览极限的日志出现在你眼前时,你会觉得非常无奈,怎么办呢?这时可以用grep、sed、awk和sort等筛选工具帮助你解决这个问题。下面总结了几个常见分析方法。

(1)查看IP($1代表IP)

#cataccess_log | awk '{print $1}'

(2)对IP排序

#cataccess_log | awk '{print $1}'|sort

(3)打印每一重复行出现的次数,“uniq -c”表示标记出重复数量。

#cataccess_log | awk '{print $1}'|sort|uniq -c

(4)排序并统计行数

#cataccess_log | awk '{print $1}'|sort|uniq -c|sort -rn|wc -l

(5)显示访问前10位的IP地址,便于查找***源

#cat access_log|awk '{print $1}'|sort|uniq-c|sort -nr|head -10

注意awk '{print$1',它表示取日志的第一段,如果换成别的日志,其IP地址在第3段那么就要改变相应数值。

(6)显示指定时间以后的日志($4代表时间)

#cat access_log |awk'$4>="[23/Jul/2012:01:00:01"' access_log

推荐大家在排错时,同时打开多个终端,比如在一个窗口中显示错误日志,在另一个窗口中显示访问日志,这样就能够随时获知网站上发生的情况。

(7)找出访问量最大的IP,并封掉(对排错很有帮助)

#cat access_log |awk '{print $1}'|sort|uniq -c|sort -nr |more

9999192.168.150.179

11 192.168.150.1

#iptables -I INPUT -s 192.168.150.179 -j DROP

#iptables -I INPUT -s 192.168.150.0/24 -j DROP

如果将上面的Shell做以下变形就可以得出访问量TOP 10

#cat access_log |awk '{print $1}'|sort|uniq -c|sort -nr |head -10

(8)找出Apache日志中,下载最多的几个exe文件(下载类网站常用,这里以.exe扩展名举例)

[root@localhost httpd]# cataccess_log |awk '($7 ~/.exe/){print $10 "" $1 ""$4""$7}' |sort -n |uniq -c |sort -nr |head -10

2 - 192.168.150.1[25/Jul/2012:05:46:05/test.exe

1 -192.168.150.152[25/Jul/2012:05:46:47/test.exe

使用如下命令:

#cat access_log |awk `($10 >10000000&& $7 ~/.exe/) {print $7}` |sort –n|uniq –c|sort –nr|head -10

这条命令经过增加一个>10000000的条件判断内容就可以显示出大于10MB的exe文件,并统计对应文件发生次数,这条命令对于网站日常分析是非常有帮助的,大家可以灵活使用。

(12)用goaccess工具分析

GoAccess是一款开源、实时,运行在命令行终端下的web日志分析工具。该工具提供快速、多样的HTTP状态统计,如果你觉得以上管道、脚本麻烦的话,请用这个工具试试吧。

Debian Linux安装:

#ape-get install goaccess

#goaccess -f /var/log/apache2/access.log

运行效果如下:

轻按下箭头,我们看看goaccess给我们呈现更多的统计数据吧,细心的读者发现BW N /A 带宽怎么没统计出来?下面我们在加一个 -b 参数试试吧,如下图所示。

注意:以上工具和技巧同样适用于Nginx、Squid的访问日志。

Apache日志分析实战案例:


1.Apache Segmentaion Fault故障处理案例分析 http://chenguang.blog.51cto.com/350944/1384907

命令行下Apache日志统计举例相关推荐

  1. 详解Linux命令行下常用svn命令

    2019独角兽企业重金招聘Python工程师标准>>> 本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目 ...

  2. Linux命令行下常用svn命令的使用方法[转自:www.hackbase.com]

    本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: ...

  3. 命令行下 pdb 调试 Python 程序

    官方参考网站 The Python Debugger : https://docs.python.org/3/library/pdb.html gdb 调试命令的使用及总结:https://blog. ...

  4. 命令行下执行带参数php

    命令行下执行带参数php 命令行下执行php,不走apache等通信流程,没有http协议,所有get,post传参数不起作用.按普通应用程序传参数的方法进行. 1.test.php测试文件 查看复制 ...

  5. mysql登录密码特殊字符_mysql密码中有特殊字符在命令行下登录的操作

    使用MySQL过程中,我们经常会对一个字段进行排序查询,我们一般都是想要按照中文拼音首字母进行依次排序,但mysql中进行中文排序的时候,对汉字的排序结果往往都是错误的.这种情况 2021-02-04 ...

  6. WEBMIN在命令行下的安装

    从Webmin的主页(http://www.webmin.com)介绍,可以知道,Webmin内置一个web server,web server和所有的cgi程序都是用perl 5编写的.目前的Web ...

  7. 代码在eclipse下不报错,在doc命令行下报错--jar file和runable jar file

    今天开发一个小工具,引用了Log4j,来记录日志,在eclipse下运行,代码正常,打包成jar放到doc命令行下运行报错: Exception in thread "main" ...

  8. 在linux中安装oracle中文包,在Linux命令行下安装Oracle 10g

    Oracle 10g支持在命令行下用静默模式(Silent)安装,给那些没有安装图形界面的Linux系统提供了极大的便利. 下面以Fedora Core 6为例,介绍在命令行下安装OracleOrac ...

  9. Windows命令行下常用网络命令解释大全

    命令行下常用网络命令解释大全 1.Arp 显示和修改"地址解析协议"(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表.该命令只有在安装了 TCP/IP 协议之后才可用. ...

最新文章

  1. 百度程序员哀叹:回老家发现村里很多人开保时捷,道奇等豪车,比程序员有钱多了!...
  2. 四种主流的 API 架构风格对比
  3. win7下设置无线上网
  4. 探秘大型B2C网站如何实现高性能可伸缩架构技术
  5. Apollo自动驾驶入门课程第⑨讲 — 控制(上)
  6. 训练不出结果_训练赛惨败SKT?FPX直播透露拿冠军原因!Karsa再谈离开RNG?
  7. 五、RabbitMQ管理与高可用集群
  8. 绘制曲线设置颜色和样式
  9. php 汉字unico编码范围,汉字 Unicode 编码范围
  10. Unix编程艺术之第一部分
  11. 户籍管理系统php,户籍管理系统.rar - 源码下载|Windows编程|数据库编程|源代码 - 源码中国...
  12. oracle vm 文件复制,Oracle VM VirtualBox虚拟机怎么实现与主机之间的文件拖动
  13. 计算机语言元素周期表,多国语言的化学元素周期表
  14. java软件存储空间不够怎么办,eclipse内存不足怎么办 eclipse内存不够解决方法
  15. 招商银行笔试题之糖果分配
  16. 干货 | 视频插帧的方案实现与对比~~
  17. No suitable application records were found. Verify your bundle identifi
  18. java实现等待程序响应_java – Ning:连接到websocket并等待响应
  19. 2021-2025年中国兽医美容用具行业市场供需与战略研究报告
  20. PADS Logic图文教程(一):栅格的设置和显示

热门文章

  1. leetcode 贪心_利用贪心算法解LeetCode第1253题:重构2行二进制矩阵
  2. 苹果手机更改照片大小kb_苹果手机照片视频删除了怎样恢复?专业人士建议你这样做...
  3. android蓝牙串口 hc06,Android手机通过蓝牙模块HC-06连接Arduino串口输出
  4. 二次开发_企业ERP系统二次开发问题的探讨分析
  5. kafka 脚本发送_Kafka笔记归纳(第五部分:一致性保证,消息重复消费场景及解决方式)...
  6. 家用计算机机箱怎么选,DIY装机怎么选择电脑机箱 新手必读的电脑主机箱选购指南...
  7. 34988 Happy Reversal(二进制去取反)
  8. tuxedo错误码6_TUXEDE返回的所有错误代码
  9. 动态设置html字号,动态设置html的font-size值 (适配文字大小)
  10. 编写可靠bash脚本的一些技巧