当然,说起网站流量统计,现在开源的也有,免费的也有,xx统计,xx统计,网上随便可以找到,个人之所以写这个工具的,完全出于个人喜好,作为一个“职业”码农,在码农的路子上也走了几年了,想自己有点儿东西而已,当然,写的不好的,源听指教,勿喷。
背景
要说背景,除了自己想写点儿东西外,还真有点儿背景;之前在公司做一个项目,项目大改版后,做试点,既然做试点,肯定要统计用户使用情况,所以接入了埋点系统,至于接的什么系统,这里就不说了,能说的只有:老外做的,估计N年前的东西了,统计结果差不多要隔天才能出。当然,我们项目对统计实时性要求不高,so,没啥问题。但作为一个有那么丁点儿逼格的程序猿,身处互联网大环境下,怎么可以忍受实时性这么慢的系统呢,所以,个人就有了写这个系统的想法。至于好不好,随他去吧,个人喜好而已。
项目架构
说起项目架构,还真不好意思用架构这个词,因为在我心里,架构一般都是很牛逼的系统才会有系统架构设计,我这个系统呢,小打小闹,谈不上架构,所以只能说说结构; 结构呢,也很简单,可以分为三层(也算符合MVC结构):V,使用highcharts做统计报表展示。C,springMVC,M,为了更高效率,所以这里选择了redis做数据存储。 统计结果实时出,但是报表只统计当前时间前15天数据。
系统使用框架
从上面的描述,基本已经清楚了系统所使用的框架:Highcharts+Jquery+Bootstrap+SpringMVC+Redis
系统功能
- 统计网站PV量。
- 统计页面按钮点击量。
- 统计页面链接等的点击量。
- 统计每天活跃用户数。
- 统计每天活跃用户IP分布情况等。
测试数据截图
按钮统计项配置
PV统计项配置
按钮点击量统计结果
链接点击量统计结果
PV量统计结果
用户活跃量统计结果
用户访问IP分布情况(只统计国内IP情况)
性能
作为一个统计网站,系能应该是最重要的了,但太可惜,因为个人只有一台四五年前的笔记本,做压力测试实在太可怜,所以对系统的性能未做测试。希望有兴趣的朋友可以测试测试,小弟不胜感激。
接入方式
如果这个工具不幸让你看上,想用来一试,倍感荣幸,可以继续往下看。 因为功能比较简单,所以接入方式也很简单: 1. 部署系统到你的服务器,先在配置菜单下配置你需要的统计项。 2. 将本项目中commoncount.js拷贝到你需要做埋点的项目某个目录中。 3. 修改commoncount.js中baseUrl值,修改为你项目路径。 4. 将commoncount.js引入引入你需要做埋点的页面。 5. 再给需要统计的按钮、链接等的onclick事件上添加相应统计方法,pv统计加在onload上即可。
后记
如果觉得此工具对你有用,并且想引入到你的项目,可以自行做二次开发,或者联系我可做功能增强。