Awstats是一个免费非常简洁而且强大有个性的网站日志分析工具,可以用来分析apache日记及nginx日志。我们这里只分享nginx日志分析


下载awstats开源软件

wget http://awstats.sourceforge.net/files/awstats-7.0.tar.gz  

解压  tar -zxvf awstats-7.0.tar.gz  

移动及改名  mv awstats-7.0 /usr/local/awstats  


修改权限

chown -R root:root /usr/local/awstats  

chmod -R =rwX /usr/local/awstats  

chmod +x /usr/local/awstats/tools/*.pl  

chmod +x /usr/local/awstats/wwwroot/cgi-bin/*.pl  


cd /usr/local/awstats/tools  

./awstats_configure.pl  

#现在进入配置文件,按照下面的输入  


#  none  (因为nginx已经安装好了,所以是none)  

#  y    (创建新的一个配置文件)  

#  analyse  (基于什么域名)  

#    

#A SIMPLE config file has been created: /etc/awstats/awstats.analyse.conf  

#You should have a look inside to check and change manually main parameters.  

#You can then manually update your statistics for 'analyse' with command:  

#> perl awstats.pl -update -config=analyse  

#You can also build static report pages for 'analyse' with command:  

#> perl awstats.pl -output=pagetype -config=analyse  


#-----> Create config file '/etc/awstats/awstats.analyse.conf'  

#                 Config file /etc/awstats/awstats.analyse.conf create


以上步骤默认会产生配置文件 ==>> /etc/awstats/awstats.analyse.conf


awstats 配置文件的命名规则:awstats.website.conf


修改配置文件 


# vim /etc/awstats/awstats.analyse.conf   

#  LogFile="/var/log/httpd/mylog.log"

改为  LogFile="/usr/local/nginx/logs/access.log"


#日志数据库路径创建

mkdir -p /var/lib/awstats  

 /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=analyse  


awstats.pl 会去读取-config中的参数,把 analyse 扩展成 awstats.analyse.conf 去 /etc/awstats 目录或者当期目录下搜索,根据读取到的配置文件运行程序。


分析日志:运行后将这样的日志统计结果归档到一个AWStats的数据库(纯文本)里;

然后是通过后台脚本将输出导出成静态文件;


先生成存放awstats生成的静态文件的目录,我这里用的是/var/www/analyse/awstats

mkdir /var/www/analyse/awstats  


 cd /usr/local/awstats/tools/awstats_buildstaticpages.pl -update  -config=analyse -lang=cn -dir=/var/www/analyse/awstats



awstats_buildstaticpages.pl 会根据 -config 的参数去读取里面的 DirData 路径下数据库配置文件,然后生成静态的html文件,生成的文件重定向到/var/www/analyse/awstats/


最后是nginx的配置文件,根据自己路径配置


    server {
        listen       8000;
        server_name  localhost;
        root /var/www/awstats;
        index index.html;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;


        location ~ ^/awstats/ {
            root /var/www/awstats;
            autoindex on;
            index    index.html;
            access_log off;
        }


        location ~ ^/icon/ {
         root /usr/local/awstats/wwwroot/;
         index index.html;
         access_log off;
         }
                 }


访问之前确认一下html文件是否生成

cd /var/www/analyse/awstats


日志库文件有没有产生

cd /var/lib/awstats/

awstats082016.analyse.txt



访问: ip:8000/awstats/xxx.html



定时处理写入crond:

shell:

#!/bin/bash

mv /usr/local/nginx/logs/access.log /data/log/nginx/access_$(date -d "today" +"%Y%m%d").log

kill -USR1 `cat /data/log/nginx/nginx.pid`

定时产生html文件


57 23 * * * /bin/bash /data/script/cut_nginx_log.sh
58 23 * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -update  -config=analyse -lang=cn -dir=/var/www/analyse/awstats




web界面: