2013-09-30 08:01:01
来 源
itjs.cn
Apache
这里分享一下awstats日志统计分析详细配置步骤,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

1.通过awstats分析apache日志(或者NGINX日志,含使用代理日志分析)

2.借助GEOIP分析到国家名称

3.借助QQWRY.PL和QQ纯真IP库分析IP所在中国的具体区域

+++++++++++++++++++++++++++++++++++++++++++++++++

一、所有软件包列表

awstats-7.0.tar.gz      (日志分析软件)

Geo-IP-1.38.tar.gz      (国家地区的查询)

GeoIP.tar.gz

Net-XWhois-0.90.tar.gz   (反查)

URI::Escape perl模块     (搜索字符乱码问题解决需要的PERL模块)

qqwry.pl                 (雷傲论坛IP所在区域查询程序)

qqwry.dat                (QQ纯真IP库)

------

下载连接

awstats-7.0:

http://nchc.dl.sourceforge.net/project/awstats/AWStats/7.0/awstats-7.0.zip

GeoIP-1.4.8:

http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz

GeoIP:

http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz

qqwry.dat:

http://down1.newxing.com/D.php/P,ucTQu4_,u23qy8ZHfrm3B6rcgPoL,zH_B03if9XMGG/VD8pXAjL3HZHZorKTvZIVSri3hJL_QuA_,8g3H8L_,nL46yHXicKTCypvUwn-drjZCq2/7N1Y7QpH3RxI/NewXing.html

qqwry.pl:

http://www.kuoyue.cn/Sfile/qqwry.pl

二、解压所有软件包

tar xvf awstats-7.0.tar.gz

tar xvf Geo-IP-1.38.tar.gz

tar xvf GeoIP.tar.gz

三、安装awstats

3.1 建立awstats配置文件存放的目录

mkdir /etc/awstats

3.2 安装awstats

mv awstats-7.0 /usr/local/awstats

3.2 建立日志分析结果存放目录

mkdir -p "/usr/local/awstats/data/"

3.4 修改目录属性,使得apache-web服务器有访问权限,这里使用apache用户和apache组启动apache

chown -R apache:apache  /usr/local/awstats/data/

3.5 生成目标站点日志分析配置文件

/usr/local/awstats/tools/awstats_configure.pl

输入apache配置文件 httpd.conf路径

输入awstats配置文件路径

输入日志格式

输入要分析的站点域名

四、安装Geo-IP

安装Geo-IP,必须先安装geoip库,而不能先安装geo-ip

4.1 安装GeoIP

./configure --prefix=/usr/local/geoip

make

make install

4.2 安装Geo-IP

perl Makefile.PL LIBS='-L/usr/local/geoip/lib' INC='-I/usr/local/geoip/include'

make

make install

升级IP库

/usr/local/geoip/bin/geoipupdate  -v

五、安装 Net-XWhois

cd Net-XWhois-0.90

perl Makefile.PL

make;make install

六、安装qqwry.pl:国内IP所在地分析

6.1 把QQWry.Dat, qqhostinfo.pm, qqwry.pl 等3个文件复制到 awstats/wwwroot/cgibin/plugins 下面。并授权755

记得把QQWry.Dat都改成小写,方便书写

cp qqhostinfo.pm qqwry.pl  qqwry.dat /usr/local/awstats/wwwroot/cgi-bin/plugins/

cd /usr/local/awstats/wwwroot/cgi-bin/plugins/

chmod 755 qqhostinfo.pm qqwry.pl  qqwry.dat

6.2 修改qqwry.pl

vi /usr/local/awstats/wwwroot/cgi-bin/plugins/qqwry.pl

修改qqwry.pl文件中

把这个my $ipfile="./QQWry.Dat";

改成

my $ipfile="${DIR}/plugins/qqwry.dat"; 

记得${DIR} 中的DIR一定要大写哦

七、安装perl URI::Escape 模块

perl -MCPAN -e shell

> install URI::Escape

八、配置awstats端的apache解析perl

vi /usr/local/apache/conf/httpd.conf

在最后加上

#

# Directives to add to your Apache conf file to allow use of AWStats as a CGI.

# Note that path "/usr/local/awstats/" must reflect your AWStats Installation path.

#

Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"

Alias /awstatscss "/usr/local/awstats/wwwroot/css/"

Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"

ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"

#

# This is to permit URL access to scripts/files in AWStats directory.

#

<Directory "/usr/local/awstats/wwwroot">

Options FollowSymLinks +ExecCGI

AddHandler cgi-script .pl

Order allow,deny

Allow from all

</Directory>

九、日志分析目标服务器的apache配置,重点配置apache日志部分

#

#增加分割日志,需要安装cronolog,请自行下载rpm包安装

CustomLog "|/usr/sbin/cronolog /var/log/apache/access_log_%Y_%m_%d" combined

#定义格式类型

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

#如果使用了(代理)CDN的话,就把%h 改成 %{X-Forwarded-For}i

LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

十、awstats配置文件设置

配置文件,/etc/awstats/awstats.www.yousite_domain.com.conf

10.1 配置日志分析类型

LogType=W

# Enter the log file type you want to analyze.

# Possible values:

#  W - For a web log file web日志,默认

#  S - For a streaming log file

#  M - For a mail log file

#  F - For a ftp log file

# Example: W

# Default: W

#

LogFormat=1

# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)

# 1 - apache combined日志格式

10.2 配置日志分析目标站点

SiteDomain="www.yousite_domain.com"

# 这里站点如www.yousite_domain.com

HostAliases="www.yousite_domain.com yousite_domain.com 127.0.0.1 localhost"

# 站点别名

10.3 配置目标日志所在路径和日志文件名格式

LogFile="/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-24"

# 分析前一天日志(%DD-24),日志文件所在路径/var/log/apache_100_log/,日志文件名格式如:access_log_2011_07_07

#LogFile="/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0"

# 分析当天日志(%DD),日志文件所在路径/var/log/apache_100_log/,日志文件名格式如:access_log_2011_07_07

10.4 配置日志分析结果存放路径

DirData="/usr/local/awstats/data"

10.5 配置国际IP分析:GEOIP部分的配置

把前面的#去掉

LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat"

这里是/usr/local/geoip/share/GeoIP/GeoIP.dat

10.6 配置国内IP分析:qqwry配置

#增加

LoadPlugin="qqhostinfo"

#开启,去掉前面的注释

LoadPlugin="tooltips"   

# 解决搜索乱码问题

LoadPlugin="decodeutfkeys"  

十一、awstats的日志分析脚本

11.1 分析当天日志

修改/etc/awstats/awstats.www.yousite_domain.com.conf 文件的LogFile一行,如下

LogFile="/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0"

通过命令把当天日志同步到/var/log/apache_100_log目录下

执行

perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update

11.2 分析前一天的日志

修改/etc/awstats/awstats.www.yousite_domain.com.conf 文件的LogFile一行,如下

LogFile="/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-24"

通过命令把前一天日志同步到/var/log/apache_100_log目录下

执行

perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update

11.3 统计制定的日志文件,如access_log_2011_06_29

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=www.yousite_domain.com -update -LogFile=/var/log/apache_100_log/access_log_2011_06_29

十二、awstats日志分析结果的访问

http://ip(域名)/awstats/awstats.pl?config=www.yousite_domain.com

其中www.yousite_domain.com 是/etc/awstats/awstats.www.yousite_domain.com.conf 配置文件中的SiteDomain值

十三、awstats统计脚本

13.1 统计当天日志

修改/etc/awstats/awstats.www.yousite_domain.com.conf 文件的LogFile一行,如下

LogFile="/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0"

假设目标apache服务器192.168.1.100的日志存放在/var/log/apache/,awstats分析服务器同步apache日志存放在/var/log/apache_100_log

-------------------------------------

#!/bin/sh

rsync -aug 192.168.1.100:/var/log/apache/ /var/log/apache_100_log/

cd /usr/local/awstats/wwwroot/cgi-bin

perl awstats.pl -update -config=www.yousite_domain.com

13.2 统计前一天的日志

修改/etc/awstats/awstats.www.yousite_domain.com.conf 文件的LogFile一行,如下

LogFile="/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-24"

假设目标apache服务器192.168.1.100的日志存放在/var/log/apache/,awstats分析服务器同步apache日志存放在/var/log/apache_100_log

-------------------------------------

#!/bin/sh

rsync -aug 192.168.1.100:/var/log/apache/ /var/log/apache_100_log/

cd /usr/local/awstats/wwwroot/cgi-bin

perl awstats.pl -update -config=www.yousite_domain.com

13.3 统计所有日志文件

修改/etc/awstats/awstats.www.yousite_domain.com.conf 文件的LogFile一行,如下

LogFile="/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0"

假设目标apache服务器192.168.1.100的日志存放在/var/log/apache/,awstats分析服务器同步apache日志存放在/var/log/apache_100_log

-------------------------------------

#!/bin/bash

rsync -avg 192.168.1.100:/var/log/apache/ /var/log/apache_100_log/

for f in $(ls /var/log/apache_100_log/)

do

echo $f

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=www.yousite_domain.com -update -LogFile=/var/log/apache_100_log/$f

done

13.4 统计多域名

通过生产多个这样的/etc/awstats/awstats.www.yousite_domain.com.conf配置文件,

/etc/awstats/awstats.www1.yousite_domain.com.conf

/etc/awstats/awstats.www2.yousite_domain.com.conf

如何执行

/usr/local/awstats/tools/awstats_updateall.pl now  -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl

十四、awstats debug,一次统计超过默认的(unique url reach flush limit of 20000)

可以修改

 vi /usr/local/awstats/wwwroot/cgi-bin/awstats.pl

$LIMITFLUSH = 这个值,比如改成20000,等根据awstats服务器本身内存来调节

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。