需要实现一个统计系统浏览器端请求类似于 http://analytics.com/index.htm?action=pv¶1=1¶2=2...
http://analytics.com/index.htm?action=close&arg1=a1&arg2=a2...这样的URL,通过分析Apache的日志来收集这些数据因为定制性较强,现成的软件如 Awstats 并不能满足需求如果设定Apache日志的固定格式,然后导入日志到mysql表中分析的话,似乎又缺乏一定的灵活性如果用shell脚本来分析的话,本人shell功底不足,也不清楚是否可行希望有经验的高手予以指导,多谢!
其实你提到的入库是有人用的,我记不清是手册里还是哪里专门介绍了怎样把apache日志自动入库的方法
当然你可以用类似的,比如你想精确到天,那你每天就会有一个统计,入库也好,文件也好,具体情况还要看你的最终数据量了
要用大量的数据即时生成肯定会慢的,awstats常用的做法也是生成页面,查看的时候都是生成好的html
http://analytics.com/index.htm?action=pv¶1=1¶2=2...
假如像是这样的URL应该如何入库分析呢?http://analytics.com/index.htm?pv,1,2,3,string,char
假如像这样记录,然后用Load data infile导入到表的话,我感觉好像缺乏灵活性
同步的时候,使用grep或者sed做初步的过滤,只选择感兴趣的信息,不必同步整个文件。处理同步来的数据,php/perl/python里面就很好做了,匹配出关键字和值,借助关联数组进行统计,
最好在同步的时候,就完成字符串的重组,到解析的时候,就不需要用正则了,正则性能很低的。
每次统计,可以把临时结果写人mysql数据库临时表中,定期将临时结果汇总,写入最终结果表