科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件AWStats简介:Apache/IIS的日志分析工具 (2)

AWStats简介:Apache/IIS的日志分析工具 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Apache/IIS的日志分析工具

作者:sixth 来源:赛迪网 2007年10月29日

关键字: IIS Apache AWStats Linux

  • 评论
  • 分享微博
  • 分享邮件

AWStats安装备忘

AWStats的运行模式是这样的:

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

然后是输出:分两种形式

一种是通过cgi程序读取统计结果数据库输出;

一种是运行后台脚本将输出导出成静态文件;

以下是2个针对单个站点日志统计例子:

一个是在GNU/Linux上通过CGI方式的输出,

一个是在Windows 2000上的基于静态页面的导出

下载/安装

http://sourceforge.net/projects/awstats/ 下载安装包后:

GNU/Linux:tar zxf awstats-version.tgz

awstats的脚本和静态文件缺省都在wwwroot目录下: 将cgi-bin目录下的文件都部署awstats.pl程序到/home/apache/cgi-bin/awstats/ 下

mv awstats-version/wwwroot/cgi-bin /path/to/apache/cgi-bin/awstats

#把图标等文件目录复制到WEB的HTML文件发布目录下:/home/apache/htdocs/ 下发布

更多的批量更新脚本等在tools 目录下,可以一并放到cgi-bin/awstats/ 目录下,

Windows 2000:按照后台脚本模式运行,直接解包,然后移动到D:\AWStats目录下

把图标icon目录复制到IIS的发布目录下:inetpub/icon

数据源日志格式和按天的截断规则

对于Apache:日志格式好设置:设置成combined格式即可,日志截断麻烦一点:需要安装cronolog工具,将日志设置成按天截断:

CustomLog "|/usr/local/sbin/cronolog /path/to/apache/logs/access_log.%Y%m%d" combined

比如:logs/access_log.20030326

日志是压缩格式,可以使用gzip -d < /home/apache/logs/access_log.%YYYY-24%MM-24%DD-24.gz | 动态解压缩统计。

对于IIS:缺省有比较好的日志按天截断规则,但是IIS的日志格式比较不适合AWStats统计,

因此最好直接去掉所有日志字段,然后严格按照以下列表设置

日期 date

时间 time

客户IP地址 c-ip

用户名 cs-username

方法 cs-method

URI资源 cs-uri-stem

协议状态 sc-status

发送字节数 sc-bytes

协议版本 cs-version

用户代理 cs(User-Agent)

参照 cs(Referer)

相比IIS缺省设置:

减少的有:

服务器IP地址

服务器端口

URI查询

增加的有:

发送字节数

协议版本

参照

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

AWStats的主程序awstats.pl会自动根据站点名调用相应站点的配置文件:awstats.sitename.conf

比如:运行./awstats.pl -config=chedong 调用的就是同目录下的 awstats.chedong.conf 配置文件;

如果没有指定-config,还会找当前目录下的awstats.conf或者/etc/awstats.conf作为缺省配置文件。

所以最好把缺省的awstats.model.conf 重命名成 awstats.yoursite.conf;比如:awstats.chedong.conf,

对于多个站点的统计,AWStats的配置文件包含功能还是非常有用的,我们可以把通用的配置放在一个文档中,然后用(5.4版本以后开始支持) Include配置将通用配置包含在各个具体配置文件的头部,然后用其他配置覆盖通用配置中的相应属性,比如:

Include="common.conf"

LogFile="/path/to/bbs/access_log"

SiteName="bbs.chedong.com"

最少的配置文件修改:LogFile SiteDomain LogFormat

对于在GNU/Linux上统计Apache日志只需修改:LogFile SiteDomain这2个选项

GNU/Linux LogFile="/path/to/apache/logs/access_log.%YYYY-24%MM-24%DD-24"

Windows 2000 LogFile="d:\iis_logs\W3SV3\ex%YY-24%MM-24%DD-24.log"

这个配置的意思是用24小时前的年份,月份,日期拼出的日志文件名;

SiteDomain="www.chedong.com"

站点的名称,缺省是空的,如果为空,AWStats将拒绝运行;

对于统计IIS日志需要多修改一个:

LogFormat=2

缺省值是1:Apache日志,2是IIS日志

其他需要注意的事项:

AWStats缺省不过滤swf文件,会把.swf算成PageView,所以如果站点上swf文件主要是广告的话最好还是要过滤掉:

日志分析

./awstats.pl -update -config=sitename -lang=cn

比如:./awstats.pl -update -config=chedong

会自动调用awstats.chedong.conf这个配置文件

统计输出

GNU/Linux http://localhost/cgi-bin/awstats/awstats.pl?config=chedong

Windows 2000 http://localhost/awstats/awstats.chedong.html

日志统计自动运行

GNU/Linux上:crontab -e: 每天8点10分运行

#update awstats

10 8 * * * (cd /path/to/apache/cgi-bin/awstats/; ./awstats.pl -update -config=chedong)

Windows 2000上:设置每天8点10分运行

D:\Perl\bin\perl.exe d:\AWStats\tools\awstats_buildstaticpages.pl -update -config=chedong -lang=cn -dir=c:\inetpub\awstats\ -awstatsprog=d:\awstats\wwwroot\cgi-bin\awstats.pl

多站点日志统计

AWStats自带了一个批处理工具:tools/awstats_updateall.pl,可以批量地遍历一个目录下所有地配置文件并运行统 计。因此剩下的工作就主要是日志的同步问题了。

针对多个站点,很多配置选项是重复的,如果每个配置文件都修改维护起来会很麻烦,AWStats从5.4版本开始提供了配置文件包含的功能,所以我们可 以配置一个通用配置,比如:common.conf

然后其他站点的配置设置为:可以通过后面的选项覆盖和缺省不一致的配置。

awstats.bbs.chedong.conf

Include "chedong.common.conf"

LogFile "/path/to/bbs_log"

SiteName "bbs.chedong.com"

awstats.www.chedong.conf

Include "chedong.common.conf"

LogFile "/path/to/www_log"

SiteName "www.chedong.com"

HostAliases="chedong.com"

统计指标说明

参观者:按来访者不重复的IP统计,一个IP代表一个参观者;

参观次数:一个参观者可能1天之内参观多次(比如:上午一次,下午一次),所以按一定时间内(比如:1个小时),不重复的IP数统计,参观者 的访问次数;

网页数:不包括图片,CSS, JavaScript文件等的纯页面访问总数,但如果一个页面使用了多个帧,每个帧都算一个页面请求;

文件数:来自浏览器客户端的文件请求总数,包括图片,CSS,JavaScript等,用户请求一个页面是,如果页面中包含图片等,所以对服 务器会发出多次文件请求,文件数一般远远大于文件数;

字节:传给客户端的数据总流量;

来自REFERER中的数据:日志中的参考(REFERER)字段,记录了访问相应网页之前地址,因此如果用户是通过搜索引擎的搜索结果点击 进入网站的,日志中就会有用户在相应搜索引擎的查询地址,这个地址中就可以通过解析将用户查询使用的关键词提取出来:

比如:

2003-03-26 15:43:58 123.123.123.123 - GET /index.html 200 192 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) http://www.google.com/search?q=chedong

AWStats在搜索引擎的关键短语和关键词统计方面的功能还是比较完整的:可以对全世界3百多种机器爬虫进行识别,并且可以识别大部分主流国际化搜索引 擎和很多地区的本地语言搜索引擎。

Hacking AWStats

基于地理信息的插件安装:

GeoIP 和 Geo::IPfree(awstats 5.5+)

GeoIP和Geo::IPfree都免费的是国家/IP的影射表,比通过DNS反相解析域名得到的统计准确,而且速度快。GeoIP的API都是免费 的,缺省库是免 费的,收费的是它的数据更新服务。Geo::IPfree不仅代码是公开的,而且库数据也是公开的。

GeoIP安装:

先下载C库:GeoIP C解包后

%./configure; make

#make install

然后下载Perl库:GeoIP Perl解包后

%perl MakeFile.PL; make

#make install

Geo::IPfree安装:

下载Geo::IPfree解 包后

%perl Makefile

%make

#make install

配置:通过在配置文件中启用GEOIP相关插件:

LoadPlugin="geoip GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoIP.dat"

LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoLiteCity.dat"

MaxMind目前免费提供了GeoIP和GeoIPCityLite数据包:可以定期每个月从以下地址下载

http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章