想统计24小时内有哪些IP来访问过我的网站(LAMP),怎么实现?
在网站首页加一个记录IP的功能。
直接分析Apaches的日志。
应该选1 还是 2?
我现在的想法,选2.
但,实际怎么写?最好perl或者PHP。
谁能写个样子出来?
回复内容:
用什么语言都可以,最好perl或者PHP。
在网站首页加一个记录IP的功能。
直接分析Apaches的日志。
应该选1 还是 2?
我现在的想法,选2.
但,实际怎么写?最好perl或者PHP。
谁能写个样子出来?
两种方法目前都在用
用的piwik,原理是在页面上埋下JS代码片段,页面被访问后发ajax请求到服务端进行统计。优点是易部署,易统计。缺点是侵入性,即要破坏页面的原来的结构(至少要加一段代码);同时也受制于客户端,客户端如果关闭JS,或者请求发送失败,都会导致统计失效。
piwik是自己部署的,也可以使用cnzz, 腾讯统计,量子统计等第三方的服务,免费的。
统计日志,这个方案原理是把访问的日志收集起来并分析得到结果,我现在用的是awstats,这货用起来可以完成基本的统计任务,但是如果不做详细设置的话,统计的结果可能不是很理想。另外因为日志累积起来容量很大,一个日访问百万左右的站点,得到的日志可能都是G级别的,为了不影响主站点的web服务,大多数情况是把日志汇总到另一台服务器去计算,每天同步几个G甚至是几十G或者更多的日志,这对网络有较高的要求。当访问量再大一些,同时对访问量实时性有要求后,就需要实时回传日志,实时统计了,这时候就要部署消息传递系统了,有一套开源的较为成熟的方案是ELK,分别是elstackSearch,logstatsh,kibana。当需要实时回传时,再搭配消息传递机制以及redis缓存服务,想想就是不一般的复杂,不过部署完之后有点高科技的感觉……
以上是针对中小型的站点的一些访问量统计方案的个人理解,有些地方可能有误解,仅供参考。
对于大型站点,应该因站而异了吧。
我知道的有统计网站,cnzz链接。题主可以参考。
百度统计 腾讯统计都可以啊
http://tongji.baidu.com