AWStats的千万级日志解决方案:databasebreak=day + Canlendar.php 日历浏览

转载 2007年10月08日 12:35:00
原贴:http://www.chedong.com/blog/archives/001293.html

AWStats的千万级日志解决方案:databasebreak=day + Canlendar.php 日历浏览

作者:车东 发表于:2007-03-07 21:03 最后更新于:2007-04-15 19:04
版权声明:可以任意转载,转载时请务必以超链接形式标明文章和作者信息及本版权声明

你完全不用耐心的看完后面所有的说明,awstats在进行日志统计时,
命令行统计增加: -databasebreak=day
报表输出时增加: &databasebreak=day&day=DD
即可按天进行统计, 解决按月统计,归档数据过大导致统计过慢/失败的问题。

问题:
很多网站在流量从10万级增加到百万级以后就放弃了awstats作为统计,具体表现就是到月底的时候,统计数据会运行1天都运行不完。于是就改为webalizer或者analog了。其实这并非awstats统计效率不高:awstats很多丰富的统计指标:蜘蛛识别 浏览器识别,文件类型统计等,都是比Webalizer丰富的,Webalizer要实现类似的统计力度也会出现性能问题。

原因分析:
性能的瓶颈在哪里呢:awstats统计缺省时按月统计,到月底时候记住的头20多天的历史IP等累计统计指标,会使得DUMP数据文件变得很大(数百M),而awstats运行时,需要的内存量是dump数据文件的3-4倍。当这个monthly积累的数据导致awstats统计脚本载入内存的数据量过大,用到系统文件交换做内存的时候日志统计效率就会降低了(处理速度会低2-3个数量级),于是出现了运行一天都统计不完前一天日志的现象。

解决:
AWStats丰富的统计指标还是很有用的,而一个网站已经达到日千万级的访问请求,按天的详细的数据统计也是必须的了。所以:索性牺牲一下按月的独立IP统计,将日志改成按天统计,如果需要按月的汇总,可以利用awstats的dump数据成为一个中间数据源汇总统计。

其他问题:
1 按天的报表浏览:用Calendar.php做个日历浏览界面;
按天统计后,awstats的输出文件会变成awstatsMMYYYYDD.confname.txt 每天一个统计文件,而报表的输出需要增加 &databasebreak=day&day=DD 来指定某一天的数据。增加了日期后,awstats的报表输出有些不方便,awstats本身没有提供按日的浏览,可以自己做个日历前端,方便awstats的报表浏览。
2 日志数据源:最好是压缩的,因为日志上2G以后,文件系统出问题的可能性大。尽量还是压缩日志后,通过zcat管道给awstats进行统计;

类似的思路:
1 如果 databasebreak=day 仍然无法解决问题, 排除掉次要统计指标:过滤掉图片 js css等文件的请求日志;
2 如果仍然没有办法解决问题: 设置为小时级别截断 databasebreak=hour 然后用每天的同一个小时(比如:下午5点-6点)做为1天的抽样,进行每天的数据跟踪;

总之:为了统计精度/完整性牺牲重要的统计统计指标是不值得的。当流量提高到百万级别,即使损失了n%的精度,对于做出结论已经足够了。而且利用awstats 的dump data作为中间处理结果,进行数据挖掘也是很方便的(大部分是CSV,分项的很容易用grep截取分离出来)。

引用通告

以下是前来引用的链接: AWStats的千万级日志解决方案:databasebreak=day + Canlendar.php 日历浏览:

» 网站的外链/内链统计:来自Google的网站管理员工具 来自 车东[Blog^2]
Google的网站管理员工具有这样一个功能:查询相应网站的外链/内链数量和明细。从控制台,点击一个已经提交的网站:控制台 > http://www.chedong.com/blog/ > 含外部链接的网页 > 以下是导出的部分 chedong.com/blog的外链数量统计: 可惜不是按外链数量排序的,可以导出成EXCEL,报表如下: http://www.chedong.com/blog/ 17471http://www.chedong.com/blog/in... [阅读更多细节]

Comments

同意同意~ 曾经做过Desney的手机网站,一天Log 1600MB,疯...

确实如此,以前每到月底myjob的统计就是一个漫长痛苦的过程,在分析猜测得出的车老大所说的原因后,就改成按天统计了,不过不知道-databasebreak=day参数,每次都是分析得出报表后就移至相应的日期目录了。这样4G左右的日志也只需1个半小时就能搞定了,并且按天得出的报表对于运维的帮助更大,月度统计则通过每日记录的EXCEL文件搞定了。

这样4G左右的日志也只需1个半小时就能搞定了,并且按天得出的报表对于运维的帮助更大,月度统计则通过每日记录的EXCEL文件搞定了。

是不是我的參數設置有很大問題,我的網站日IP只有1万卻經常不能把每天的日誌分析完,我是用任務計劃每天晚上11點啓動統計命令,但是到第二天下午可能才能夠完成統計。是怎麽囘事?哪位能指點一下,不甚感激:)

恭喜恭喜:)

听说你得了个女儿?
恭喜先
没在这里公布啊?

你好,我改成按天分析后,6.5g的日志8个小时也分析不完,在系统管理器中perl的cpu占25%左右,虽然cup空闲。在我本机就快多了,cpu占有率100%,请问还需要设置什么地方呢?

服务器 是win2003,我的机器是win2000,请问跟这个有关系吗?谢谢

我5g多的日志 分析8个小时 请问是不是不正常啊

我现在用awstats分析,网页数偏大,因为网站用的shtml,页面里面嵌了好多别的“碎片”网页来显示,现在看awstats把这些都算在网页数里面去了,甚至连首页的登陆窗口嵌的php也算作一份了,请问有什么好办法能让awstats不统计这些页面,只统计url地址框里面“真正”的网页数?

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)

 

AWStats的千万级日志解决方案

awstats在进行日志统计时,命令行统计增加: -databasebreak=day 报表输出时增加: &databasebreak=day&day=DD 即可按天进行统计, 解决按月统计,归档数据...
  • jiedushi
  • jiedushi
  • 2011-05-09 11:02:00
  • 853

awstats分析tomcat日志安装配置说明

服务器环境:centos7.2 64位 tomcat8.5.6 author:yuruixin_china@163.com 安装配置awstats 1. 安装EPEL库 yum -...
  • yuruixin_china
  • yuruixin_china
  • 2017-01-11 16:12:00
  • 722

利用awstats分析tomcat日志

1.下载   ActivePerl:地址:  http://downloads.activestate.com/ActivePerl/releases/5.12.2.1202/   Awstats下...
  • linlzk
  • linlzk
  • 2015-11-10 17:53:29
  • 950

awstats分析多个日志

awstats分析多个日志 分析单个日志: LogFile="/usr/local/nginx/logs/host.access.log" 分析多个日志: 1)分开写 LogFile="/u...
  • ANLJF
  • ANLJF
  • 2011-09-20 11:08:33
  • 3080

强大的日志分析工具AWStats

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yahoon.blog.51cto.com/13184/40392 前言,公...
  • devilcell
  • devilcell
  • 2014-10-20 15:05:44
  • 1670

win7下日志分析工具awstats的搭建

先下载Awstats,我选择的是awstats-7.2.zip,网址(http://sourceforge.net/projects/awstats/)。下载完后解压缩到本地硬盘,我直接放到C盘根目录...
  • Jesse891012
  • Jesse891012
  • 2013-08-19 12:24:55
  • 2465

将awstats分析日志结果导入mysql

利用awstats分析web日志的结果只能导出为html或者pdf文件格式,想要导出为其他文件或者对分析结果再分析,例如对用户行为分析则显得有些力不从心,这就需要用到将awstats分析结果导入到my...
  • jiedushi
  • jiedushi
  • 2011-05-12 14:42:00
  • 2397

Nginx日志分析解决方案awstats

利用Nginx强大的日志功能可以做非常多的事情,比如点击统计、流量分析、在线人数统计以及其他高级数据挖掘等。 现在简单讲解下日志分析的思路。   一,日志的切割 周期性切割日志...
  • lumengabc
  • lumengabc
  • 2014-05-21 15:24:24
  • 1837

使用awstats分析apache日志

作者:老王 公司网站换了一个新的服务器,这次我想顺便装上awstats,用于统计数...
  • joliny
  • joliny
  • 2008-02-18 23:06:00
  • 762

发现一款日志分析工具AWStats,能取代网站统计程序

刚发现一日志统计工具,能分析Apache/IIS等,使用图标输出,统计得非常强,下面是例子:http://ns3744.ovh.net/awstats/awstats.pl?config=destai...
  • heiyeshuwu
  • heiyeshuwu
  • 2005-07-07 15:03:00
  • 2966
收藏助手
不良信息举报
您举报文章:AWStats的千万级日志解决方案:databasebreak=day + Canlendar.php 日历浏览
举报原因:
原因补充:

(最多只允许输入30个字)