最近項目需要一個數據收集分析的功能,做了一些調研。
目前做網絡統計的方式有兩大類:
1. Page Tagging, 即頁面埋點;web端用js,移動端使用共用api。
2. Log file Analysis, 即log過濾分析;
兩者對比如下:
web端目前主流Page Tagging框架有如下:
1. Google Analytics
基本流程:
優點:做的最好最全的,內容很強大,並且提供了很多的定製化報告。
缺點:由於我天朝的原因,GA訪問不穩定。而且有延時。
2. 百度統計、騰訊TA、量子恆道、CNZZ等
全部是仿照GA。不過量子恆道後臺因爲使用了storm,所以可以提供實時報告,似乎是收費的。
3. 開源框架
找了半天,只有Piwik和Open Web Analytics。兩個均是Php+Mysql實現。不符合我們分佈式的“高大尚”……被放棄了。
不過個人感覺還是不錯的,尤其他們也提供Logfile過濾處理功能。
Log File Analysis的框架數量倒是很多,但主流並不多見,因爲限制很多。
1. Twitter Rainbird
N年前就號稱要開源,因爲使用了beta版本的內部Cassandra未能開源,至今未見!
2. Logstash + elasticsearch + Kibana 套件
新時代的“三件套”,值得一提的是三個任意都可以單獨使用。Kibana的界面很贊。logstash支持很多服務器的log分析。
3. flume + 後端分析
flume等同於logstash,兩者有很多相似之處。後端分析之所有沒有寫出來是什麼,因爲有太多種搭配,例如flume +kafka + storm, 甚至flume+elasticsearch+kibana都OK的。
PS:
在搜索這個資料時發現一個好東西——分佈式追蹤系統。國內知名的如阿里的“鷹眼”,國外twitter的Zipkin。後者已經開源(猛擊這裏),前者問了下阿里的哥們,明確說不會開源……囧 他們都是基於Google的Dapper論文(又見Google論文!),github上有一個原文+翻譯的,share出來,猛擊這裏。有時間去研究一下。
移動端的數據統計分析的現況,結果令人驚訝:
1. 國外flurry 一統天下
2. 國內友盟被阿里收購,TalkingData目前市場佔有率第一。其他半死不活。