Linux下安装awstats日志统计分析
1. 下载安装
cd /data/software
wget http://prdownloads.sourceforge.net/awstats/awstats-7.0-1.noarch.rpm
2. 开始配置
安装依赖包:
yum -y install perl-libwww-perl.noarch perl-CPAN
rpm -ivh awstats-7.0-1.noarch.rpm
cd /usr/local/awstats/tools
perl awstats_configure.pl
3. 将缺省awstats.model.conf 命名成common.conf
cd /etc/awstats
mv awstats.model.conf common.conf
4. 修改公共配置, 查找到对象项目 去除前面的 # 号,并修改对应的路径
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /usr/local/awstats/plugins/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/awstats/plugins/GeoLiteCity.dat"
LoadPlugin="decodeutfkeys"
DNSLookup=0
关闭awstats配置文件中反向dns查找(DNSLookup=0)。
DNSlookup是用来根据参观者ip查询参观者的网域/国家信息。一般情况下DNS查询的很慢,具体取决于网络环境和系统配置。关闭DNSlookup会节省99%的分析时间。实际测试62M日志(30万条记录)如开启dnslookup分析时间在2小时以上,而关闭dnslookup的话分析时间在1分钟,极大缩短了分析时间。关掉dnslookup的损失就是无法获得参观者的国家信息,awstats官方建议如需要国家信息,采用更加精确的geoip插件来代替dnslookup。
5. 修改模板程序
vi /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
查找 $LIMITFLUSH = 5000
将他的值增加10倍,默认为5000 设置为 50000 可以有效提高统计的速度(减少磁盘IO),并避免按月汇总数据导致的统计文件过大;
6. 添加统计站点的配置文件 命名规则:awstats.sitename.conf
按照下面的样例设置配置文件:日志路径请按自己服务器日志命名方式修改
vi awstats.www.yourdomain.com.conf
录入:
Include "common.conf"
LogFile="/home/logs/www.yourdomain.com/%YYYY-24/%MM-24/access.%YYYY-24%MM-24%DD-24.log"
SiteDomain="www.yourdomain.com"
HostAliases="yourdomain.com"
DefaultFile="index.html"
DirData="/home/awstats/htdocs"
HostAliases 有则写,无则删除
DirData 分析页面输出目录,为当前 nginx 或这 apache 配置的web访问目录
日志文件需要每天进行切割保存便于统计
如何自动切割 : http://blog.csdn.net/zhouzme/article/details/18909185
新增配置则直接 cp awstats.www.yourdomain.com.conf awstats.www.anotherdomain.com.conf 复制后修改配置域名即可
7. 安装插件
cd /data/software
wget http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar zxvf GeoIP.tar.gz
cd ./GeoIP-1.4.8
./configure
make && make install
wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.40.tar.gz
tar zxvf Geo-IP-1.40.tar.gz
cd Geo-IP-1.40
perl Makefile.PL
如果出现错误: perl Makefile.PL PP=1
make && make install
wget http://search.cpan.org/CPAN/authors/id/B/BR/BRICAS/Geo-IPfree-1.121660.tar.gz
tar zxvf Geo-IPfree-1.121660.tar.gz
cd Geo-IPfree-1.121660
perl Makefile.PL
make && make install
mkdir /usr/local/awstats/plugins
cd /usr/local/awstats/plugins
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoLiteCity.dat.gz
gunzip GeoIP.dat.gz
8. 生成静态文件
将图标文件拷贝到 web 根目录
cp /usr/local/awstats/wwwroot/icon/ /home/awstats/htdocs -rf
/usr/local/awstats/tools/awstats_buildstaticpages.pl -config=www.yourdomain.com -lang=cn -dir=/home/awstats/htdocs -update
9. 定时生成
crontab -e
# awstats
0 0 * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -config=www.yourdomain.com -lang=cn -dir=/home/awstats/htdocs -update
10. 配置外网访问当前生成的页面
如:http://awstats.yourdomain.com/awstats.www.yourdomain.com.html 即可访问
完成。
注意:每次统计的数据都是昨天的,当天数据只有第二天才能看到