日志分析工具Awstats实战之Nginx篇(3)

注释:awstats.pl 会到 /etc/awstats目录下搜索,根据读取到的配置文件运行程序,去读取-config中的参数,把扩展成 awstats.
分析日志:运行后将这样的日志统计结果归档到一个awstats的数据库(纯文本)里;
然后是输出:分两种形式
1、一种是通过cgi程序读取统计结果数据库输出;
2、一种是运行后台脚本将输出导出成静态文件;
统计分析完成后,结果还在 Awstats 的数据库中。在 Apache 上,可以直接打开 Perl 程序的网页查看统计。 但Nginx 对 Perl 支持并不好,所以要换个方法,利用 awstats 的工具将统计的结果生成静态文件,这里方便我们还是用脚本来实现
vim /server/scripts/awstats.sh

输入以下内容
#!/bin/sh
Awstats_Dir="/usr/local/awstats"
[ -d /www/awstats ]||mkdir /www/awstats
$Awstats_Dir/wwwroot/cgi-bin/awstats.pl -update -config=www.linuxidc.com
$Awstats_Dir/tools/awstats_buildstaticpages.pl -update -config=www.linuxidc.com -awstatsprog=$Awstats_Dir/wwwroot/cgi-bin/awstats.pl -lang=cn -dir=/www/awstats

脚本内容讲解:
/usr/local/awstats/tools/awstats_buildstaticpages.pl    Awstats 静态页面生成工具
-update -config=www.linuxidc.com  更新配置项
-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl  Awstats 日志更新程序路径
-lang=cn    语言为中文
-dir= /www/awstats  统计结果输出目录

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

三、配置nginx实现安全访问
接下来我们要配置nginx使其能安全的访问到分析的数据
vim /usr/local/nginx/conf/nginx.conf

在server{}内添加如下内容:
server {
        listen      80;
        server_name  ;
        location / {
            root  /www/linuxidc;
            index  index.html index.htm;
            access_log /app/logs/www_access.log commonlog;
}
location ~ ^/awstats/ {
            root  /www/;
            index  awstats.;          #根据自己的网站域名进行更改首页文件
            autoindex on;
            access_log off;
            charset gb2312;
            auth_basic "Restricted";                                          #有些网站不愿意公开网站流量信息,所以加个认证
            auth_basic_user_file /usr/local/nginx/htpasswd.pass;  #该文件由apache的加密认证工具htpasswd创建
}
location ~ ^/icon/ {
            root  /usr/local/awststs/wwwroot;
            index  index.html;
            access_log off;
            charset gb2312;
}
    }

由于nginx没有好的加密认证工具,需要借助apache的htpasswd来实现加密认证功能
htpasswd -c -m /usr/local/nginx/htpasswd.pass linuxidcadmin      #用户名为linuxidcadmin

配置完毕之后,检查nginx语法,然后优雅重启之后,用游览器访问,输入账号密码之后即可查看统计信息了。
至此,awstats已经可以实现对Nginx的日志统计及静态化的安全访问功能了。
四、配置awstats自动运行
为了让整个日志的统计过程可以实现自动化,将awstats.sh脚本加入crontab定时任务中去,此时结合上面的定时切割任务,我们的crontab里面会有多出来两条定时任务
1 0 * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1
0 1 * * * /bin/sh /server/scripts/awstats.sh >/dev/null 2>&1

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/34c8b5fd74a4650decfd228243544a52.html