AWStats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。相对于另外一个非常优秀的开放源代码的日志分析工具Webalizer,AWStats的优势在于:
1. 界面友好:可以根据浏览器直接调用相应语言界面(有简体中文版)
2. 基于Perl:并且很好的解决了跨平台问题,系统本身可以运行在GNU/Linux上或Windows上(安装了ActivePerl后);分析的日志直接支持Apache格式 (combined)和IIS格式(需要修改)。Webalizer虽然也有Windows平台版,但目前已经缺乏维护;AWStats完全可以实现用一套系统完成对自身站点不同WEB服务器:GNU/Linux/Apache和Windows/IIS服务器的统一统计。
3. 效率比较高:AWStats输出统计项目比Webalizer丰富了很多,速度仍可以达到Webalizer的1/3左右,对于一个日访问量 百万级的站点,这个速度都是足够的;
4. 配置/定制方便:系统提供了足够灵活但缺省也很合理的配置规则,需要修改的缺省配置不超过3,4项就可以开始运行,而且修改和扩展的插件还是比较多的;
5. AWStats的设计者是面向精确的"Human visits"设计的,因此很多搜索引擎的机器人访问都被过滤掉了,因此有可能比其他日志统计工具统计的数字要低,来自公司内部的访问也可以通过IP过滤 设置过滤掉。
6. 提供了很多扩展的参数统计功能:使用ExtraXXXX系列配置生成针对具体应用的参数分析会对产品分析非常有用。
Awstats是一个免费非常简洁而且强大有个性的统计工具。它可以统计您站点的如下信息:
一:访问量,访问次数,页面浏览量,点击数,数据流量等
二:精确到每月、每日、每小时的数据
三:访问者国家
四:访问者IP
五:Robots/Spiders的统计
六:纺客持续时间
七:对不同Files type 的统计信息
八:Pages-URL的统计
九:访客操作系统浏览器等信息
十:其它信息(搜索关键字等等)
更多与其他工具:Webalizer, analog的比较请参考:
http://awstats.sourceforge.net/#COMPARISON
AWStats的运行模式是这样的:
1. 分析日志:运行后将这样的日志统计结果归档到一个AWStats的数据库(纯文本)里;
2. 然后是输出:分两种形式
一种是通过cgi程序读取统计结果数据库输出;
一种是运行后台脚本将输出导出成静态文件;
去官网下载软件源码
http://nchc.dl.sourceforge.net/project/awstats/AWStats/7.0/awstats-7.0.tar.gz
安装配置
# ll awstats-7.0.tar.gz -rw-r--r-- 1 root root 1254327 5月 23 05:06 awstats-7.0.tar.gz # tar xf awstats-7.0.tar.gz # mv awstats-7.0 /usr/local/awstats # cd /usr/local/awstats # ls docs README.TXT tools wwwroot # perl tools/awstats_configure.pl //配置安装AWStats日志分析软件
----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur ----- This tool will help you to configure AWStats to analyze statistics for one web server. You can try to use it to let it do all that is possible in AWStats setup, however following the step by step manual setup documentation (docs/index.html) is often a better idea. Above all if: - You are not an administrator user, - You want to analyze downloaded log files without web server, - You want to analyze mail or ftp log files instead of web log files, - You need to analyze load balanced servers log files, - You want to 'understand' all possible ways to use AWStats... Read the AWStats documentation (docs/index.html).
-----> Running OS detected: Linux, BSD or Unix
-----> Check for web server install
Enter full config file path of your Web server. Example: /etc/httpd/httpd.conf Example: /usr/local/apache2/conf/httpd.conf Example: c:\Program files\apache group\apache\conf\httpd.conf Config file path ('none' to skip web server setup): > /etc/httpd/conf/httpd.conf //web主配置文件位置
-----> Check and complete web server config file '/etc/httpd/conf/httpd.conf' Add 'Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"' Add 'Alias /awstatscss "/usr/local/awstats/wwwroot/css/"' Add 'Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"' Add 'ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"' Add '<Directory>' directive AWStats directives added to Apache config file.
-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf' File awstats.model.conf updated.
-----> Need to create a new config file ? Do you want me to build a new AWStats config/profile file (required if first install) [y/N] ? y
-----> Define config file name to create What is the name of your web site or profile analysis ? Example: www.mysite.com Example: demo Your web site, virtual server or profile name: > www.sxkeji.com.cn
-----> Define config file path In which directory do you plan to store your config file(s) ? Default: /etc/awstats Directory path to store config file(s) (Enter for default): >
-----> Create config file '/etc/awstats/awstats.www.sxkeji.com.cn.conf' Config file /etc/awstats/awstats.www.sxkeji.com.cn.conf created.
-----> Restart Web server with '/sbin/service httpd restart' 停止 httpd: [确定] 正在启动 httpd: [确定]
-----> Add update process inside a scheduler Sorry, configure.pl does not support automatic add to cron yet. You can do it manually by adding the following command to your cron: /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.sxkeji.com.cn Or if you have several config files and prefer having only one command: /usr/local/awstats/tools/awstats_updateall.pl now Press ENTER to continue...
A SIMPLE config file has been created: /etc/awstats/awstats.www.sxkeji.com.cn.conf You should have a look inside to check and change manually main parameters. You can then manually update your statistics for 'www.sxkeji.com.cn' with command: > perl awstats.pl -update -config=www.sxkeji.com.cn You can also read your statistics for 'www.sxkeji.com.cn' with URL: > http://localhost/awstats/awstats.pl?config=www.sxkeji.com.cn
Press ENTER to finish... # mkdir /var/lib/awstats //创建数据目录文件 |
# vim /etc/awstats/awstats.www.sxkeji.com.cn.conf # cat /etc/awstats/awstats.www.sxkeji.com.cn.conf | grep -vnE '^$|^#' | less 51:LogFile="/var/log/httpd/access_log" //Apache日志文件位置 63:LogType=W 122:LogFormat=1 //使用httpd默认的日志格式 134:LogSeparator=" " 153:SiteDomain="www.sxkeji.com.cn" 168:HostAliases="sxkeji.com.cn www.sxkeji.com.cn 127.0.0.1 localhost" 188:DNSLookup=2 203:DirData="/var/lib/awstats" //数据目录文件 |
分析命令
# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl --update --config=www.sxkeji.com.cn //会自动调用/etc/awstats/awstats.www.sxkeji.com.cn.conf这个配置文件 Create/Update database for config "/etc/awstats/awstats.www.sxkeji.com.cn.conf" by AWStats version 7.0 (build 1.971) From data in log file "/var/log/httpd/access_log"... Phase 1 : First bypass old records, searching new record... Searching new records from beginning of log file... Phase 2 : Now process new records (Flush history on disk after 20000 hosts)... Jumped lines in file: 0 Parsed lines in file: 6 Found 0 dropped records, Found 0 comments, Found 0 blank records, Found 0 corrupted records, Found 0 old records, Found 6 new qualified records. |
本地访问:
http://localhost/awstats/awstats.pl?config=www.sxkeji.com.cn
非本地访问:
http://IP/awstats/awstats.pl?config=www.sxkeji.com.cn