centos 下apache日志文件分析工具GoAccess

| | 2012/07/08 09:22 , mdy
Linux 服务器 , 评论(0) , 阅读(5906) , Via 本站原创
Tags: ,
centos 下apache日志文件默认存放在 /var/log/httpd/
找到一篇文章:centos 下apache日志文件分析工具awstats

http://lcuc.org.cn/node/1500

GoAccess 是一个用来统计 Apache Web 服务器的访问日志的工具,可即时生成统计报表,速度非常快。
项目地址 http://sourceforge.net/projects/goaccess/
300M的日志10秒就分析完了。在网站被攻击的时候用于快速定位非常有用。
在Centos下的安装步骤如下:

# yum install glib2
# yum install GeoIP-devel.x86_64
# wget http://jaist.dl.sourceforge.net/project/goaccess/0.4/goaccess-0.4.2.tar.gz
# tar zxvf goaccess-0.4.2.tar.gz
# cd goaccess-0.4.2
# ./configure
# make
# make install

用法:

# goaccess -f /var/log/httpd/access_log

1、查看当天有多少个IP访问:

awk ‘{print $1}’ log_file|sort|uniq|wc -l

2、查看某一个页面被访问的次数:

grep “/index.php” log_file | wc -l

3、查看每一个IP访问了多少个页面:

awk ‘{++S[$1]} END {for (a in S) print a,S[a]}’ log_file

4、将每个IP访问的页面数进行从小到大排序:

awk ‘{++S[$1]} END {for (a in S) print S[a],a}’ log_file | sort -n

5、查看某一个IP访问了哪些页面:

grep ^111.111.111.111 log_file| awk ‘{print $1,$7}’

6、去掉搜索引擎统计当天的页面:

awk ‘{print $12,$1}’ log_file | grep ^\”Mozilla | awk ‘{print $2}’ |sort | uniq | wc -l

7、查看2009年6月21日14时这一个小时内有多少IP访问:

awk ‘{print $4,$1}’ log_file | grep 21/Jun/2009:14 | awk ‘{print $2}’| sort | uniq |