zoukankan      html  css  js  c++  java
  • Apache日志分析工具Awstats的安装和配置

        这些天由于几个不同的流量统计工具在统计数据上出现了很大差异,当时就想到了应该分析一下apache的access log,那里的数据应该是最权威的。刚开始为了应急写了一个简单分析工具,统计了一下简单的数据。而开源的Awstats应该是当前应用比较广泛,功能比较完全的工具。

          Awstats的安装和配置都是相当地简单,不过我还是走了一些弯路,其中最惨痛的教训就是:最好按照默认的方式进行配置。下面记录我安装和配置的过程。首先交待一下环境:64位的CentOS 5.6 + Apache Httpd 2.2

          1. 配置Apache的log输出方式。

          默认情况下apache的access.log到一定大小会被压缩,有些旧的也会被删除。在Apache的文档中没有找到关于access log管理的相关内容,希望有知道的同学不吝赐教。这里我把配置为每天一个文件,便于以后分析和备份。打开httpd.conf,找到access log配置的位置,将

          CustomLog logs/access_log common

    改为

          CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log.%Y%m%d 86400" combined

    其中rotatelogs是Apache提供的一个日志工具,可以通过which rotatelogs找出该工具的路径。另外一个改动时,将log的内容由common改为了combined,使得log中包含了更多了信息,而这也是 Awstats所需要的。如果日志配置在Virtual Hosts中,也同样修改就可以了。

          修改后重启httpd服务,就会看到在/var/log/httpd下产生了类似access_log.20110612的日志文件。

          2. 安装Awstats

          首先下载Awstats的安装包:awstats-7.0.tar.gz,也可以在下载页面上找到适合自己环境的安装文件。

          ]# wget http://prdownloads.sourceforge.net/awstats/awstats-7.0.tar.gz

          ]# tar xzvf awstats-7.0.tar.gz

          ]# mv awstats-7.0 /var/

          下面就可以按照Awstats的官方指南进行安装了:http://awstats.sourceforge.net/docs/awstats_setup.html。其中有几点需要注意的:

          (1)当询问apache的配置文件路径时,要写入当前环境中真实的apache配置文件路径,比如,我的就是:/etc/httpd/conf/httpd.conf

          (2)在询问Awstats配置文件存放的路径时,一定要使用默认的路径,否则后面会有意想不到的麻烦。

          (3)当要新建Awstats的配置文件时,会问配置文件的名称,其实这个时候是问要分析的log属于哪个域名,比如你的网站是www.mysite.com,就可以输入:www.mysite.com。

           在安装过程中,我一直是一路yes。安装结束时,会在/etc下面生成一个新的目录 awstats,并且在下面有一个名称为awstats.www.mysite.com.conf。

           这是再打开httpd.conf发现在最下面多了一些和Awstats相关的配置。

           在/var/lib下新建一个名为awstats的文件,用来存放分析日志后生成的数据文件。

          3. 配置Awstats

          安装完成后,还需要进行一下简单的配置,才能够开始使用Awstats。打开上面生成的配置文件 awstats.www.mysite.com.conf,找到LogFile,将其改为实际的日志文件的路径。需要注意的时,在第一步中,已经把日志文 件改为每天一个以当天日期命名的名字,那么这里的配置就是:

          LogFile=/var/log/httpd/access_log.%YYYY-0%MM-%DD

    表示分析的是当前最新的日志文件。关于这个配置可以参考其注释中的详细解释。

         4. 验证安装

         配置基本算完成了,下面进行验证:

         ]# cd /var/awstats/wwwroot/cgi-bin

         ]# perl awstats.pl -config=www.mysite.com -update

         如果你严格执行了上面的步骤,这一步就应该没有问题,可以看到类似下面的输出:

    Create/Update database for config "/etc/awstats/awstats.www.mysite.com.conf" by AWStats version 7.0 (build 1.971)

    >From data in log file "/var/log/httpd/access_log.20110611"...

    Phase 1 : First bypass old records, searching new record...

    Direct access after last parsed record (after line 545194)

    Jumped lines in file: 545194

     Found 545194 already parsed records.

    Parsed lines in file: 1677

     Found 0 dropped records,

     Found 0 comments,

     Found 0 blank records,

     Found 0 corrupted records,

     Found 0 old records,

     Found 1677 new qualified records.

          为了安全起见,我没有打开网页上的更新链接,而是在crontab配置了每10分钟运行一次上面的程序:
          */10 * * * * root cd /var/awstats/wwwroot/cgi-bin/;perl awstats.pl -config=www.mysite.com -update
     这样在页面就可以看到每10分钟刷新一次的统计结果了。
           5. 安装IP地址转化的插件
           在Awstats的统计报表中,有一个是显示IP所对应的实际地址,这个需要通过插件来实现。网上比较通用的方式是使用QQWry.dat来实现。但是为了找到这个插件是费了很长时间的功夫,因为很多地方都只能下载IP数据库,而不能下载插件。
           IP数据库可以通过:http://www.cz88.net/fox/ipdat.shtml下载。注意:这里下载的是一个ext的安装文件,安装后会有一个qqwry.dat文件,它就是要用到的ip数据库。这个IP数据库是会经常更新,所以我们也要保持更新。
           插件相关的文件可以通过:http://blogimg.chinaunix.net/blog/upfile/070103141422.rar 下 载(不知道这个网址什么时候会失效)。解压后里面有三个文件:qqhostinfo.pm、qqwry.pl和QQWry.Dat,其中第一个是插件文 件,第二个真正的执行转化的perl程序,第三个就是数据库了,可以用上面最新的数据库覆盖这个。将这个三个文件复制到/var/awstats /wwwroot/cgi-bin/plugins/目录下,并做如下修改:
          ]# chmod 755 qqhostinfo.pm
          ]# vim qqwry.pl
          将其中的./QQWry.Dat改为/var/awstats/wwwroot/cgi-bin/plugins/qqwry.dat。
          编辑Awstats的配置文件awstats.www.mysite.com.conf,找到
          #LoadPlugin="hostinfo"
          在其后新增一行
          LoadPlugin="qqhostinfo"
          完成以上所有步骤后,应该就可以在网页上看到了统计结果了。中文可能会显示成乱码,只需要把浏览器语言设为中文就可以了。
  • 相关阅读:
    前端线上项目汇总
    gulp构建工具学习汇总
    ES6知识点汇总
    页游技术点汇总中
    前后端方案汇总
    vim常用命令
    互联网哲学
    js调试技巧汇总中
    windows下Docker安装MySQL
    RabbitMQ几个常用面试题
  • 原文地址:https://www.cnblogs.com/see7di/p/2239763.html
Copyright © 2011-2022 走看看