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. 如果"一切是IO"“一切是file”是成立的,那么上述的想法也一定可以实现吧 awk对apache日志分析 ---

    定时执行 自动化处理 直接入库 再去读取这个file入库: root@VM---ubuntu:/var/log/apache2# awk '{print $1 "\t" $7}' ...

  2. Apache日志分析_shell命令行

    说明: 1.我的日志预先设定好按日生成文件:"CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/www.website ...

  3. Linux下apache日志分析与状态查看方法

    假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] “GET /Public/Css/index.css HTTP/1.1″ 30 ...

  4. Linux 下 apache 日志分析与状态查看[转]

    假设apache日志格式为: 118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] “GET /Public/Css/index.css HTTP/1.1″ 3 ...

  5. Apache 日志分析(一)

    日志格式: 101.38.166.177 – – [10/Jun/2016:14:19:19 +0800] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 1 ...

  6. Nginx/Apache日志分析脚本

    1,查看apache进程: ps aux | grep httpd | grep -v grep | wc -l 2,查看80端口的tcp连接: netstat -tan | grep "E ...

  7. Apache 日志分析(二)

    01.查看IP cat access_log | awk ‘{print $1}’   02.对IP排序 cat access_log | awk ‘{print $1}’ | sort   03.打 ...

  8. Linux apache日志分析常用命令汇总

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

  9. elk系列7之通过grok分析apache日志

    preface 说道分析日志,我们知道的采集方式有2种: 通过grok在logstash的filter里面过滤匹配. logstash --> redis --> python(py脚本过 ...

随机推荐

  1. 由一个RABBITMQ监听器死循环引出的SPRING中BEAN和MAPPER接口的注入问题

    1 @Slf4j 2 @RestController 3 @Component 4 public class VouchersReceiverController implements Message ...

  2. 周末被一个BUG折腾的欲仙欲死

    有一个应用场景:从网上得到大量的文字信息,保存到本地. 因为不停地获取文章,导致本地存储很快就变大.所以想到了简单地压缩. 网上找了一段压缩的代码: +(NSData*)zipContent:(NSS ...

  3. 在树莓派上部署InfoPi

    如果仅仅想试用InfoPi,请参照此文在Windows上试用.在Windows上部署比在树莓派上部署简单得多. 先说明一下,我用的系统是Raspbian(2014-06-20发布的). 用户pi,工作 ...

  4. 一般处理程序上传文件(html表单上传、aspx页面上传)

    html 表单上传文件        一般处理程序由于没有 apsx 页面的整个模型和控件的创建周期,而比较有效率.这里写一个用 html 表单进行文件上传的示例.        1. 表单元素选用 ...

  5. Linux监控分析实战-1

    监控概述及5个大指标 cpu mem   内存 io        磁盘交互 load     负载 Network 网络 它们之间关系是相互彼此依赖,任何一个高负载都会到导致其他指标出现问题: 网卡 ...

  6. ubuntu包管理

    查看某个文件属于哪个包dpkg -S add-apt-repository 包名software-properties-common命令名/usr/bin/add-apt-repository/usr ...

  7. electron知识点

    1.打开chrome开发工具栏: BrowserWindow.openDevTools();

  8. 可以链接不同源的资源的html元素(能实现跨域)

    可以链接不同源的资源的html元素(能实现跨域): img.script.css.video.audio.object.embed.applet.@font-face.frame.iframe等. ( ...

  9. C#实现略缩图

    public class GenerateThumbnail { private Image imageFrom; /// <summary> /// 源图的路径(含文件名及扩展名 /// ...

  10. DELPHI 各版本下载

    各版本中国下载地址: http://pan.baidu.com/s/1eQ1QGy2 http://pan.baidu.com/s/1qWK3mw8 (有新版本发布时,会同步最新官网地址) ───── ...