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-XWhoiscd 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解析perlvi /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服务器本身内存来调节
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。