坏气十足 发表于 2015-11-27 15:57:41

awstats日志统计分析实战笔记

  转自:http://hi.baidu.com/xiutuo/blog/item/4444d544a6f67456510ffec4.html

  +++++++++++++++++++++++++++++++++++++++++++++++++
秀脱之awstats日志统计分析实战笔记
QQ:    6541657
Email: xiutuo@gmail.com
------------------------------------------
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.plqqwry.dat /usr/local/awstats/wwwroot/cgi-bin/plugins/
cd /usr/local/awstats/wwwroot/cgi-bin/plugins/
chmod 755 qqhostinfo.pm qqwry.plqqwry.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 &quot;/usr/local/awstats/wwwroot&quot;>
Options FollowSymLinks &#43;ExecCGI
AddHandler cgi-script .pl
Order allow,deny
Allow from all
</Directory>
  九、日志分析目标服务器的apache配置,重点配置apache日志部分
#
#增加分割日志,需要安装cronolog,请自行下载rpm包安装
CustomLog &quot;|/usr/sbin/cronolog /var/log/apache/access_log_%Y_%m_%d&quot; combined
#定义格式类型
LogFormat &quot;%h %l %u %t \&quot;%r\&quot; %>s %b \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; combined
#如果使用了(代理)CDN的话,就把%h 改成 %{X-Forwarded-For}i
LogFormat &quot;%{X-Forwarded-For}i %l %u %t \&quot;%r\&quot; %>s %b \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; 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=&quot;www.yousite_domain.com&quot;
# 这里站点如www.yousite_domain.com
HostAliases=&quot;www.yousite_domain.com yousite_domain.com 127.0.0.1 localhost&quot;
# 站点别名
  10.3 配置目标日志所在路径和日志文件名格式
LogFile=&quot;/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-24&quot;
# 分析前一天日志(%DD-24),日志文件所在路径/var/log/apache_100_log/,日志文件名格式如:access_log_2011_07_07
#LogFile=&quot;/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0&quot;
# 分析当天日志(%DD),日志文件所在路径/var/log/apache_100_log/,日志文件名格式如:access_log_2011_07_07
  
10.4 配置日志分析结果存放路径
DirData=&quot;/usr/local/awstats/data&quot;
  10.5 配置国际IP分析:GEOIP部分的配置
把前面的#去掉
LoadPlugin=&quot;geoip GEOIP_STANDARD /pathto/GeoIP.dat&quot;
这里是/usr/local/geoip/share/GeoIP/GeoIP.dat
  10.6 配置国内IP分析:qqwry配置
#增加
LoadPlugin=&quot;qqhostinfo&quot;
#开启,去掉前面的注释
LoadPlugin=&quot;tooltips&quot;   
# 解决搜索乱码问题
LoadPlugin=&quot;decodeutfkeys&quot;
  
十一、awstats的日志分析脚本
11.1 分析当天日志
修改/etc/awstats/awstats.www.yousite_domain.com.conf 文件的LogFile一行,如下
LogFile=&quot;/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0&quot;
  通过命令把当天日志同步到/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=&quot;/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-24&quot;
通过命令把前一天日志同步到/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=&quot;/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0&quot;
  假设目标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=&quot;/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-24&quot;
  假设目标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=&quot;/var/log/apache_100_log/access_log_%YYYY-0_%MM-0_%DD-0&quot;
  假设目标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服务器本身内存来调节
页: [1]
查看完整版本: awstats日志统计分析实战笔记