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


GoAccess 是一个用来统计 Apache Web 服务器的访问日志的工具
查找相关文章:centos GoAccess apache 日志

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 |