① 對網站的pv進行數據統計數據的來源是網站伺服器的log日誌嗎
網站的統計數據來源於伺服器的log日誌?
這個問題,牽扯太多,我整理下思路說下吧。(關於技術的發展史,是需要很長的一個篇幅了,由於我現在沒有整理好...所以呢先發下面的)
0.簡要回答
首先,網站的統計數據一部分是來源於 靜態伺服器的log做日誌分析的,但它是原始方法,為什麼說是原始方法呢,因為日誌分析局限性很多,而且由於互聯網信息化的高速發展,多樣化的需求統計的出現,導致日誌做分析很難去實現特定的統計,再加上大數據的推波助瀾,讓我們可以相對容易的處理海量數據;
網站統計架構的發展簡單史;
從而發展到現在,一般前端(PC、手機、小程序等)統計使用埋點去統計數據,後端使用 主流的大數據集群架構 來實現 數據的統計、處理、篩選、歸類等,再加上web框架的展示層做大數據可視化屏幕、前端展現, 中間加上 各種中間件做潤滑;(介紹大數據架構也是需要單獨的篇幅來說明的,結構如下,這個架構稱之為lambda+架構 經典架構)
2、網站統計的經典架構
目前也有一些新型架構的出現了Kappa之類;本片不做延展了.
5、數據收集腳本執行
數據收集腳本(ga.js)被請求後會被執行,這個腳本一般要做如下幾件事:
1、通過瀏覽器內置javascript對象收集信息,如頁面title(通過document.title)、referrer(上一跳url,通過document.referrer)、用戶顯示器解析度(通過windows.screen)、cookie信息(通過document.cookie)等等一些信息。
2、解析_gaq收集配置信息。這裡面可能會包括用戶自定義的事件跟蹤、業務數據(如電子商務網站的商品編號等)等。
3、將上面兩步收集的數據按預定義格式解析並拼接。
4、請求一個後端腳本,將信息放在http request參數中攜帶給後端腳本。
6、後端執行數據收集、清洗、篩選、處理等 生成需求數據(也就是我們要看的數據);
下面有個表 就是 一般收集時候的基本數據;
名稱 途徑 備注
訪問時間 web server Nginx $msec
IP web server Nginx $remote_addr
域名 javascript document.domain
URL javascript document.URL
頁面標題 javascript document.title
解析度 javascript window.screen.height & width
顏色深度 javascript window.screen.colorDepth
Referrer javascript document.referrer
瀏覽客戶端 web server Nginx $http_user_agent
客戶端語言 javascript navigator.language
訪客標識 cookie
網站標識 javascript 自定義對象
業務特徵值我們自有業務的特殊需求.
後端的處理流程,由最開始的 大數據統計架構 已經展示了。
好了 整體 介紹了個大概, 具體的話 就是需要詳細闡述 大數據統計架構的介紹了...
我整理完會發布關於 大數據統計架構.
但是現在 應該很少人需要自己去處理 這么龐大而復雜的架構了,一般選擇都使用 現有的
網路統計、友盟統計、諸葛io、神策、極光、Growingio 等。