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.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服务器本身内存来调节

 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值