網站日志流量分析系統


一、概述

  背景:在互聯網應用中,日志是非常重要的數據,因為互聯網項目往往要求是7*24不間斷運行的,所以能獲取到監控系統運行的相關日志數據並進行分析就顯得非常重要。網站流量統計是改進網站服務的重要手段之一,通過獲取用戶在網站的行為數據,進行分析,從而得到有價值的信息,並基於這些信息對網站進行改進。

  日志種類:

  ①系統日志開發人員在系統后台代碼中增加的日志輸出語句,如果是Java語言,通常采用log4j或slfj框架技術進行一些日志語句的輸出,但這類輸出信息並不全面,不能細致地把系統運行信息進行輸出。

  ②埋點日志:在現有系統集成相應代碼,捕捉系統特定的事件,輸出一些相關的信息。 

二、業務指標

①PV(Page View)

  訪問量:也叫點擊量,即一天之內整個網站中的頁面被訪問的次數(對同一個頁面重復訪問也記為不同的PV)

②UV(Uniquer Visitor)

  獨立訪客數:即一天之內訪問網站的人數(同一個人在一天之內訪問網站多次,也只能算一個UV)

③VV(Visit View)

  會話總數:即一天之內會話總的數量,所謂一次會話,指的是從訪問第一個頁面開始,會話開始,直到訪問最后一個頁面結束,關閉所有頁面,會話結束;會話可以認為在訪問第一個頁面時開始,訪問所有頁面完成並關閉或超過指定時長沒有后續訪問都認為會話結束。

④BR(Bounce Rate)

  跳出率:即一天之內跳出的會話總數占所有會話總數的比率。所謂跳出指的是一個會話中只訪問過一個頁面會話就結束了。跳出會話占全部會話的比率,稱為跳出率。這個指標在評價推廣活動的效果時非常的有用。

⑤NewIP

  NewIP:即新增IP總數,一天內訪問網站的所有IP去重后,檢查有多少是在歷史數據中未出現過的,這些數量指的就是新增的IP總數,這個指標可以一定程度上體現網站新用戶的增長情況。

⑥NewCust

  NewCust:即新增獨立訪客數,一天之內訪問網站的人中,有多少人是在歷史記錄中從來沒有出現過的。這個指標可以從另一個角度體現網站用戶增長的情況。

⑦AvgTime

  AvgTime:平均訪問時長,所謂一個會話的訪問時長,是指一個會話結束的時間—會話開始時間。將一天之內所有會話的訪問時長求平均值,就是平均訪問時長,這個指標可以體現出網站對用戶的粘性大小。

⑧AvgDeep

  AvgDeep:平均訪問深度,所謂一個會話的訪問深度,是指一個會話中的所有源地址去重后計數得到的指標。將一天之內的所有會話的訪問深度求平均值就是平均訪問深度。這個指標可以體現出網站對用戶的粘性大小。

三、架構圖

  網站日志分析主要有以下幾個步驟:

  ①網頁埋點:在每個頁面進行埋點,將相關數據通過ajax發送至日志服務器

  ②日志收集:日志服務器結合logback將數據發送至Flume客戶端,Flume客戶端通過配置負載均衡策略發送至不同的中心日志服務器

  ③數據存儲:中心日志服務器分別將數據落地至HDFS和Kafka消息隊列,以供離線和實時分析

  ④數據清洗處理:離線分析通過Hive或MR、實時分析通過SparkStreaming消費Kakfa消息來對數據進行清洗和處理

  ⑤數據導出:將數據清洗處理完成后的結果通過sqoop工具導出到MySQL數據庫

  ⑥可視化展示:通過Echarts、HighCharts等框架對數據進行可視化展示

四、正式開始

(一)日志埋點:網站日志流量分析系統之(日志埋點)

(二)數據收集及存儲:網站日志流量分析系統之(日志收集)

(三)數據清洗處理及數據導出:網站日志流量分析系統之數據清洗處理(離線分析)

(四)自動化執行離線分析處理腳本:網站日志流量分析系統之離線分析(自動化腳本)

(五)實時分析環境搭建:使用Docker搭建Spark集群(用於實現網站流量實時分析模塊)

(六)Scala實現實時分析模塊:Scala實現網站流量實時分析

(七)數據可視化展示:網站日志流量分析系統之數據可視化展示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM