1. 程式人生 > >大資料離線---網站日誌流量分析系統(1)---簡介及框架

大資料離線---網站日誌流量分析系統(1)---簡介及框架

本次介紹網站日誌流量分析系統,首先是簡介和架構。後面會對架構中需要的每個模組的進行逐個介紹。本篇主要分為兩個部分

  • 網站日誌流量分析系統簡介
  • 整體技術流程和架構

1. 網站日誌流量分析系統簡介

1.1點選流資料模型

  • 點選流的概念 點選流( Click Stream)是指使用者在網站上持續訪問的軌跡。 這個概念更注重使用者瀏覽網站的整個流程。 使用者對網站的每次訪問包含了一系列的點選動作行為,這些點選行為資料就構成了點選流資料( Click Stream Data),它代表了使用者瀏覽網站的整個流程。

  • 點選流和網站日誌的區別 點選流是從使用者的角度出發,注重使用者瀏覽網站的整個流程; 而網站日誌是面向整個站點,它包含了使用者行為資料、伺服器響應資料等眾多日誌資訊,我們通過對網站日誌的分析可以獲得使用者的點選流資料。

  • 使用者資料採集的方式 (時間順序和會話標識Sessionid) 網站是由多個網頁( Page)構成,當用戶在訪問多個網頁時,網頁與網頁之間是靠 Referrers 引數來標識上級網頁來源。由此, 可以確定網頁被依次訪問的順序,當然也可以通過時間來標識訪問的次序。其次,使用者對網站的每次訪問,可視作是一次會話( Session),在網站日誌中將會用不同的 Sessionid 來唯一標識每次會話。如果把 Page 視為“點”的話,那麼我們可以很容易的把 Session描繪成一條“線” ,也就是使用者的點選流資料軌跡曲線。 點選流概念模型

  • 點選流模型生成 點選流資料在具體操作上是由散點狀的點選日誌資料梳理所得。點選資料在資料建模時存在兩張模型表 Pageviews 和 visits,例如:

原始訪問日誌表 原始日誌表

頁面點選流模型 Pageviews 表 Pageviews表

點選流模型 Visits 表(按 session 聚集的頁面訪問資訊) Visits表

1.2如何進行網站流量分析

流量分析整體來說是一個內涵非常豐富的體系, 整體過程是一個金字塔結構: 這裡寫圖片描述

  • 網站流量分析模型舉例

    • 網站流量質量分析(流量分析)

      流量對於每個網站來說都是很重要,但流量並不是越多越好,應該更加看重流量的質量,換句話來說就是流量可以為我們帶來多少收入。 流量質量 說明: X 軸代表量,指網站獲得的訪問量。 Y 軸代表質,指可以促進網站目標的事件次數(比如商品瀏覽、註冊、購買等行為)。 圓圈大小表示獲得流量的成本。 BD 流量是指商務拓展流量。一般指的是網際網路經過運營或者競價排名等方 式,從外部拉來的流量。比如電商網站在百度上花錢來競價排名,產生的流量就 是 BD 流量的一部分。

    • 網站流量多維度細分(流量分析)

      細分是指通過不同維度對指標進行分割,檢視同一個指標在不同維度下的表 現,進而找出有問題的那部分指標,對這部分指標進行優化。 流量分析維度

    • 網站內容及導航分析(內容分析)

      對於所有網站來說,頁面都可以被劃分為三個類別:導航頁、功能頁、內容頁

      導航頁的目的是引導訪問者找到資訊,如首頁和列表頁, 功能頁的目的是幫助訪問者完成特定任務,如站內搜尋頁面、登錄檔單頁面和購物車頁面 內容頁的目的是向訪問者展示資訊並幫助訪問者進行 決策,如產品詳情頁、新聞和文章頁。 比如從內容導航分析中,以下兩類行為就是網站運營者不希望看到的行為: 這裡寫圖片描述 第一個問題:訪問者從導航頁(首頁) 還沒有看到內容頁面之前就從導航頁離開網站,需要分析導航頁造成訪問者中途離開的原因。 第二個問題:訪問者從導航頁進入內容頁後,又返回到導航頁,說明需要分 析內容頁的最初設計,並考慮中內容頁提供交叉的資訊推薦。

    • 網站轉化以及漏斗分析(轉化分析)

      所謂轉化,即網站業務流程中的一個封閉渠道,引導使用者按照流程最終實現業務目標(比如商品成交);而漏斗模型則是指進入渠道的使用者在各環節遞進過程中逐漸流失的形象描述;對於轉化渠道,主要進行兩部分的分析:

      訪問者的流失和迷失 造成流失的原因很多,如:不恰當的商品或活動推薦對支付環節中專業名詞的解釋、幫助資訊等內容不當 流失 造成迷失的主要原因是轉化流量設計不合理,訪問者在特定階段得不到需要的資訊,並且不能根據現有的資訊作出決策,比如線上購買演唱會門票,直到支付也沒看到線上選座的提示,這時候就很可能會產生迷失,返回檢視。 迷失

    總之,網站資料分析是一門內容非常豐富的學科,我們主要關注網站流量分析過程中的技術運用,更多關於網站資料分析的業務知識可學習文件首頁推薦的資料。

  • 流量分析常見分類 指標是網站分析的基礎,用來記錄和衡量訪問者在網站自的各種行為。 比如我們經常說的流量就是一個網站指標,它是用來衡量網站獲得的訪問量。 在進行流量分析之前,我們先來了解一些常見的指標。

    • 骨灰級指標 IP: 1 天之內,訪問網站的不重複 IP 數。一天內相同 IP 地址多次訪問網站只被計算 1 次。 曾經 IP 指標可以用來表示使用者訪問身份,目前則更多的用來獲取訪問者的地理位置資訊。 PageView 瀏覽量: 即通常說的 PV 值,使用者每開啟 1 個網站頁面,記錄 1 個PV。使用者多次開啟同一頁面 PV 累計多次。 通俗解釋就是頁面被載入的總次數。 Unique PageView: 1 天之內,訪問網站的不重複使用者數(以瀏覽器 cookie 為 依據),一天內同一訪客多次訪問網站只被計算 1 次。

    • 基礎級指標 訪問次數: 訪客從進入網站到離開網站的一系列活動記為一次訪問,也稱會話(session),1 次訪問(會話)可能包含多個 PV。 網站停留時間: 訪問者在網站上花費的時間。 頁面停留時間: 訪問者在某個特定頁面或某組網頁上所花費的時間。

    • 複合級指標 人均瀏覽頁數: 平均每個獨立訪客產生的 PV。人均瀏覽頁數=瀏覽次數/獨立訪客。體現網站對訪客的吸引程度。

      跳出率:指某一範圍內單頁訪問次數或訪問者與總訪問次數的百分比。其中跳出指單頁訪問或訪問者的次數,即在一次訪問中訪問者進入網站後只訪問了一個頁面就離開的數量。

      退出率:指某一範圍內退出的訪問者與綜合訪問量的百分比。 其中退出指訪問者離開網站的次數,通常是基於某個範圍的。

    有了上述這些指標之後, 就能結合業務進行各種不同角度的分類分析,主要是以下幾大方面:

    • 基礎分析(PV,IP,UV) 趨勢分析: 根據選定的時段,提供網站流量資料,通過流量趨勢變化形態,為您分析網站訪客的訪問規律、網站發展狀況提供參考。 對比分析: 根據選定的兩個對比時段,提供網站流量在時間上的縱向對比報表,幫您發現網站發展狀況、發展規律、流量變化率等。 當前線上: 提供當前時刻站點上的訪客量,以及最近 15 分鐘流量、來源、受訪、訪客變化情況等,方便使用者及時瞭解當前網站流量狀況。 訪問明細: 提供最近 7 日的訪客訪問記錄,可按每個 PV 或每次訪問行為(訪客的每次會話)顯示,並可按照來源、搜尋詞等條件進行篩選。 通過訪問明細,使用者可以詳細瞭解網站流量的累計過程,從而為使用者快速找出流量變動原因提供最原始、最準確的依據。

      基礎分析圖

    • 來源分析

      來源可以分為一下幾類:提供不同來源形式(直接輸入、搜尋引擎、其他外部連結、站內來源)、不同來源項引入流量的比例情況。通過精確的量化資料,幫助使用者分析什麼型別的來路產生的流量多、效果好,進而合理優化推廣方案。 搜尋引擎: 提供各搜尋引擎以及搜尋引擎子產品引入流量的比例情況。

      最近 7 日的訪客搜尋記錄可按每個 PV 或每次訪問行為(訪客的每次會話)顯示,並可按照訪客型別、地區等條件進行篩選。為您搜尋引擎優化提供最詳細的原始資料。

      來路域名: 提供具體來路域名引入流量的分佈情況,並可按“社會化媒體”、“搜尋引擎”、“郵箱”等網站型別對來源域名進行分類。 幫助使用者瞭解哪類推廣渠道產生的流量多、效果好,進而合理優化網站推廣方案。

      來路頁面: 提供具體來路頁面引入流量的分佈情況。 尤其對於通過流量置換、包廣告位等方式從其他網站引入流量的使用者,該功能可以方便、清晰地展現廣告引入的流量及效果,為優化推廣方案提供依據。

      來源升降榜: 提供開通統計後任意兩日的 TOP10000 搜尋詞、來路域名引入流量的對比情況,並按照變化的劇烈程度提供排行榜。 使用者可通過此功能快速找到哪些來路對網站流量的影響比較大,從而及時排查相應來路問題。

      來源分析

    • 訪客分析

      地區運營商: 提供各地區訪客、各網路運營商訪客的訪問情況分佈。 地方網站、下載站等與地域性、網路鏈路等結合較為緊密的網站,可以參考此功能資料,合理優化推廣運營方案。

      終端詳情: 提供網站訪客所使用的瀏覽終端的配置情況。 參考此資料進行網頁設計、開發,可更好地提高網站相容性,以達到良好的使用者互動體驗。

      新老訪客: 當日訪客中,歷史上第一次訪問該網站的訪客記為當日新訪客;歷史上已經訪問過該網站的訪客記為老訪客。 新訪客與老訪客進入網站的途徑和瀏覽行為往往存在差異。該功能可以輔助分析不同訪客的行為習慣,針對不同訪客優化網站,例如為製作新手導航提供資料支援等。

      忠誠度: 從訪客一天內回訪網站的次數(日訪問頻度)與訪客上次訪問網站的時間兩個角度,分析訪客對網站的訪問粘性、忠誠度、吸引程度。 由於提升網站內容的更新頻率、增強使用者體驗與使用者價值可以有更高的忠誠度,因此該功能在網站內容更新及使用者體驗方面提供了重要參考。

      活躍度: 從訪客單次訪問瀏覽網站的時間與網頁數兩個角度,分析訪客在網站上的活躍程度。 由於提升網站內容的質量與數量可以獲得更高的活躍度,因此該功能是網站內容分析的關鍵指標之一。 使用者分析

    • 轉換路徑分析 轉化定義:訪客在您的網站完成了某項您期望的活動,記為一次轉化,如註冊、 下載、購買。

      目標示例: 獲得使用者目標:線上註冊、建立賬號等。 諮詢目標:諮詢、留言、電話等。 互動目標:視訊播放、加入購物車、分享等。 收入目標:線上訂單、付款等。

      路徑分析: 根據設定的特定路線,監測某一流程的完成轉化情況,算出每步的轉換率和流失率資料,如註冊流程,購買流程等。

      轉化型別: 這裡寫圖片描述 這裡寫圖片描述

2. 整體技術流程及架構

2.1資料處理的流程

網站流量日誌資料分析是一個純粹的資料分析專案,其整體流程基本上就是依據資料的處理流程進行。 有以下幾個大的步驟:

  • 資料採集 資料採集概念,目前行業會有兩種解釋: 一是資料從無到有的過程(web 伺服器列印的日誌、自定義採集的日誌等) 叫做資料採集; 另一方面也有把通過使用 Flume 等工具把資料採集到指定位置的這個過程叫做資料採集。 關於具體含義要結合語境具體分析,明白語境中具體含義即可。

  • 資料預處理 通過 mapreduce 程式對採集到的原始日誌資料進行預處理,比如清洗,格式整理,濾除髒資料等,並且梳理成點選流模型資料。

  • 資料入庫 將預處理之後的資料匯入到 HIVE 倉庫中相應的庫和表中。

  • 資料分析 專案的核心內容,即根據需求開發 ETL 分析語句,得出各種統計結果。

  • 資料展現 將分析所得資料進行資料視覺化,一般通過圖表進行展示。

流程圖

2.2系統的架構

相對於傳統的 BI 資料處理,流程幾乎差不多,但是因為是處理大資料, 所以流程中各環節所使用的技術則跟傳統 BI 完全不同:

資料採集:定製開發採集程式,或使用開源框架 Flume 資料預處理:定製開發 mapreduce 程式運行於 hadoop 叢集 資料倉庫技術:基於 hadoop 之上的 Hive 資料匯出:基於 hadoop 的 sqoop 資料匯入匯出工具 資料視覺化:定製開發 web 程式(echarts) 整個過程的流程排程: hadoop 生態圈中的 azkaban 工具 架構流程圖

系統的資料分析不是一次性的,而是按照一定的時間頻率反覆計算,因而整個處理鏈條中的各個環節需要按照一定的先後依賴關係緊密銜接,即涉及到大量任務單元的管理排程,所以,專案中需要新增一個任務排程模組

2.3資料的展現

資料展現的目的是將分析所得的資料進行視覺化,以便運營決策人員能更方便地獲取資料,更快更簡單地理解資料。 市面上有許多開源的資料視覺化軟體、工具。 比如 Echarts

資料展示

本次網路日誌分析簡介結束,後面的內容將會是架構中各個模組的開發具體實現。 本部落格會持續大資料相關課程,感興趣的童鞋歡迎關注。