cheng029 发表于 2012-7-9 22:41:38

网站日志分析平台nginx+awstats+crontab

一,日志的切割
nginx日志格式
    log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

shell脚本如下:
#!/bin/bash
logs_path="/nginx/logs/"
mv${logs_path}access.log   ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /nginx/logs/nginx.pid`
其中 "/nginx/logs" 指的是nginx的log日志文件所在目录,生成的日志文件是以昨天日期命名的。
合并与排序日志:
ls *.gz | xargs -n1 gzip -d
logs_path="/var/log/nginx/bj/"
sort -k 4 ${logs_path}*-access.log* > ${logs_path}bjmama_$(date -d "yesterday" +"%Y%m%d").log

二,Awstats的安装和配置
安装
# tar zxvf awstats-7.0.tar.gz
# cp -r awstats-7.0/usr/local/awstats
# cd /usr/local/awstats/tools
# perl awstats_configure.pl

安装时设置的域名为:www.bjmama.comAwstats的配置文件默认会存储在/etc/awstats/目录下会自动生成 awstats.www.bjmama.com.conf(配置多站点分析,就要从这里下手)。
配置
vi awstats.www.bjmama.com.conf
LogFile="/nginx/logs/access_%YYYY-24%MM-24%DD-24.log"
这个意思是要去读取nginx昨天的日志文件,关于后边%YYYY-24%MM-24%DD-24的设置
SiteDomain="www.bjmama.com"

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

三,开始分析、生成结果
# mkdir /var/lib/awstats
# chmod 777 /var/lib/awstats
使用这个命令:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.bjmama.com

这个命令会把结果生成到/var/lib/awstats 目录下 awstatsXXXX.www.XXXX.com.txt文件。
生成html页面
perl /usr/local/awstats/tools/awstats_buildstaticpages.pl -update \ -config=www.bjmama.com -lang=cn \ -dir=/html/awstats \ -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
这样就会在/html/awstats目录下生成很直观的html分析结果页。

四,自动化
0 0 * * * cut_nginx_log.sh
0 1 * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.bjmama.com
0 2 * * * perl /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=www.bjmama.com -lang=cn -dir=/html/awstats -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl


五,nginx出统计报表
APACHE访问页面出现500错误,nginx能正常
建立站点目录   
   location /gz {
         alias   html/awstats/gz;
         indexawstats.www.gzmama.com.html;
         auth_basic "GZ input you user name and password";
         auth_basic_user_file /opt/nginx/conf/pass/gz_pass;
      }


0 发表于 2013-3-13 19:45:58

过来看看的

sdfsdnfslk 发表于 2013-5-15 22:45:35

支持一下:lol

超酷小 发表于 2013-5-16 06:48:28

走过了年少,脚起了水泡

waid 发表于 2013-5-16 20:28:47

解释就是掩饰,掩饰就是编故事!

x625802392 发表于 2013-5-17 11:50:39

我是个凑数的。。。

ddlddx0000 发表于 2013-5-17 23:35:51

月经不仅仅是女人的痛苦,也是男人的痛苦。
页: [1]
查看完整版本: 网站日志分析平台nginx+awstats+crontab