阿里雲大資料認證——MOOC網站日誌分析-課堂筆記

YBCarry發表於2019-02-25

阿里雲Clouder認證

四、MOOC網站日誌分析

1. 課程目標

(1) 瞭解網站日誌分析的意義
(2) 瞭解網站日誌如何蒐集
(3) 使用程式語言對日誌資料進行處理
(4) 使用編MaxCompute處理資料
(5) 使用QuickBI以圖表形式展示資料

(6)目錄
  - 網站日誌分析背景
  - 網站日誌分析一般流程 
  - 使用阿里雲產品進行分析
  - 案例:MOOC網站使用者訪問日誌分析
複製程式碼

2. 日誌收集簡介

(1)網站日誌

  • **日誌:**網路裝置、系統及服務程式等,在執行時都會產生一個叫log的事件記錄。它的每一行都記載著日期、時間、使用者及動作等相關操作的描述。
  • **網站日誌:**就是網站在執行過程中所產生的日誌,包括系統日誌和程式日誌。
    • 系統日誌一般就是網站所基於的伺服器所自動生成的日誌,如訪問日誌,系統錯誤日誌等等。
    • 程式日誌則由使用者在程式中自定義構建。
  • 這裡使用的是網站的系統訪問日誌。

(2)網站日誌分析的重要性

  • 網站日誌本身並沒有太大價值,而當我們對其進行分析並利用的時候就會產生很大的價值。
  • 通過對網站日誌的分析,我們可以瞭解:
    • 網站執行狀況——如網站PV、UV
      • PV(page view),即頁面瀏覽量,或點選量;通常是衡量一個網路新聞頻道或網站甚至一條網路新聞的主要指標。
      • UV是指瀏覽您網站不同的自然人。UV反映的是實際使用者,而不是使用者所屬的IP。如果以UV作為流量統計標準,可以更加準確的瞭解單位時間內實際上有多少個訪問者來到了相應的頁面。
    • 網站安全狀況——如惡意攻擊,密碼暴力破解
    • 網站運營狀況——如搜尋引擎流量來源
    • 網站使用者資訊——如作業系統,瀏覽器
  • 以上分析可以提供決策支援,比如增加伺服器,提升網站安全,修改營銷策略等。

(3)網站日誌分析

  • <1> 資料採集:
    • Tomcat
    • Nginx
    • 程式
  • <2> 資料處理:
    • 清理:去掉不需要的資料
    • 轉換:轉換成想要的目標資料
    • 抽取:從海量資料中提取
    • 資料量不大:通過Java/Python在本地進行處理
    • 資料量很大:使用大資料平臺Hadoop等在分散式環境中進行處理
  • <3> 資料展現:
    • 圖表化
    • Tableau——沒有程式設計開發經驗
    • D3.js
    • Python
  • <4> 結果處理:
    • 程式優化
    • 伺服器調整
    • SEO優化——SEO(Search Engine Optimization):搜尋引擎優化。*是一種方式:*利用搜尋引擎的規則提高網站在有關搜尋引擎內的自然排名。*目的是:*為網站提供生態式的自我營銷解決方案,讓其在行業內佔據領先地位,獲得品牌收益;SEO包含站外SEO和站內SEO兩方面;為了從搜尋引擎中獲得更多的免費流量,從網站結構、內容建設方案、使用者互動傳播、頁面等角度進行合理規劃,還會使搜尋引擎中顯示的網站相關資訊對使用者來說更具有吸引力。

(4)網站訪問日誌蒐集-nginx

  • Nginx是一個高效能的HTTP和反向代理伺服器。常用來
  • 修改nginx配置檔案:conf/nginx.conf,只需要增加access_log即可,如果想要配置訪問日誌的格式,可以使用log_format。
    access_log logs/access.log #存放路徑
    access_log logs/access.log combined; #日誌格式

(5)網站訪問日誌蒐集-tomcat

  • Tomcat是一個被廣泛使用的免費開放原始碼的Web應用伺服器。
  • 修改tomcat註冊檔案:conf/sever.xml,找到最下面的Access log配置,預設被註釋,放開註釋tomcat將會自動蒐集訪問日誌。
  • %s:響應的HTTP狀態程式碼
    • 200:成功
    • 300:請求未跳轉
    • 400:客戶端請求錯誤(找不到頁面或者客戶端認證失敗)
    • 500:網站伺服器錯誤

2. 網站常見的分析指標簡介

(1)網站使用者訪問日誌清理

  • 使用者的IP:城市、網路運營商
  • 訪問時間:提取具體的訪問小時數
  • 請求連結:提取有效的連結
  • 來源連結:分類(自身、搜尋引擎等)
  • 客戶端資訊:提取使用者作業系統、瀏覽器名稱等等

(2)網站的流量分析

  • **IP(獨立IP):**即獨立IP數。00:00-24:00內相同IP地址被計算一次。
  • **PV(訪問量):**即Page View,即頁面瀏覽量,使用者每次重新整理即被計算一次。
  • **UV(獨立訪客):**即Unique Visitor,訪問網站的一個客戶端為一個訪客(一般在Cookie中分配唯一編號),通過IP和使用者客戶端資訊來計算。
  • 關聯分析:
    • UV:PV能看出一個網站的質量,比例越小越好。二者很接近,說明使用者在訪問網站時候點選次數少,網站內容可能並不吸引使用者。
    • IP大於UV,說明使用家庭寬頻使用者多。
  • 訪問趨勢圖:即一段時間中使用者在各個時間段使用者訪問情況,也可以按PV、UV、IP指標細分,可以較直觀的描繪整個網站在一段時間所有使用者的併發情況,進而得到伺服器的負載情況。

(3)網站的來源分析

  • **訪問來源分析:**即使用者從各個來源網站進入本站的佔比。
  • **搜尋引擎來源:**即來源中的各個搜尋引擎的佔比。

(4)網站的訪問分析

  • **訪問連結TopN:**即使用者訪問最多的連結。
  • **惡意攻擊IP:**蒐集疑似惡意攻擊本網站的IP,用於IP黑名單。

(5)網站的訪客分析

  • **訪客地域分佈:**即訪客所處的地理位置
  • **訪客瀏覽器:**即訪客採用什麼樣的瀏覽器訪問網站,如Chrome、Firefox、IE等。
  • **訪客作業系統:**即訪客所使用的作業系統,如Windows、OX X、android、IOS等。
  • **訪客網路運營商:**即訪客所使用的網路運營商,如電信、聯通、移動等等。

(6)網站優化

  • 網站程式優化:如調整網站前端程式的適應性,使之能夠更好地匹配網站在各個瀏覽器環境下的表現情況,增加使用者的訪問體驗。
  • 網站伺服器優化:如調整網站伺服器的地理位置,降低網站訪問延遲。
  • 搜尋引擎推廣

3. 阿里雲相關產品介紹

(1)MaxCompute概述

  • 大資料計算服務(MaxCompute,原ODPS)由阿里雲自主研發,提供針對TB/PB級資料、實時性要求不高的資料倉儲解決方案。
  • **分散式:**採用分散式叢集架構、跨叢集技術突破、機群規模可以根據需要靈活擴充套件
  • **安全:**自動儲存容錯機制、所有計算在沙箱中執行、保障資料高安全性、高可靠性
  • **易用:**準API的方式提供服務、高併發高吞吐量數後上傳下載、全面支援基於SQL的資料處理
  • **管理與授權:**支援多使用者管理協同分析資料、支特多種方式對使用者許可權管理、配置靈活的資料訪問控制策略 -MaxCompute的應用特點:
    • **海量運算觸手可得:**根據資料規模自動調整叢集儲存和計算能力,最大化發揮資料的價值。
    • 服務“開箱即用”:又需簡單的幾步操作,就可以上傳資料、分析資料並得到分析結果。
    • **資料儲存安全可靠:**二重備份、讀寫鑑權、應用沙箱、系統沙箱等多層次安全機制。
    • **多使用者協作:**保障資料安全的前提下最大化工作效率。
    • **按量付費:**根據實際使用收費,最大化降低資料使用成本。

(2)MaxCompute基本概念

  • <1>. **專案空間Project:**所有物件屬於某一個專案空間,一個使用者可以有多個專案空間。通過授權,多個專案空間可以進行互相的訪問。專案空間可以看成一個關係新資料庫。
  • <2>. **表Table:**在MaxCompute中,所有的資料都被存放在表中,表中的列可以是MaxCompute支援的任一種資料型別。MaxCompute中各種不同型別計算任務的操作物件,包括輸入輸出,都是以表的形式來處理的。使用者可以建立、刪除表,也可以授權給其他使用者來訪問。
  • <3>. **分割槽Partition:**指的是建立表時所指定的分割槽空間,即指定表內的某個欄位作為分割槽列。分割槽類似檔案系統下的目錄,MaxCompute將分割槽列的每一個值作為一個分割槽目錄,使用者可以指定多級分割槽,即將表的多個欄位作為表的分割槽。使用資料時,如果指定了需要訪問資料的分割槽表名,則會讀取相應的分割槽,避免進行全表掃描,進而提高了資料處理效率。
  • <4>. **任務Task:**是MaxCompute的基本計算單元,SQL和mapreduce功能都是通過Task來完成。
  • <5>. **資源Resource:**是MaxCompute特有的概念,使用者使用MaxCompute的自定義函式,需要依賴資源來完成。資源型別包括File、Table、jar、壓縮包(zip、gz、tar等)。

(3)大資料開發平臺概述

  • 阿里雲大資料開發平臺(Data IDE),是一套基於MaxCompute的DW解決方案,它整合了阿里多年的DW實施經驗,提供資料整合、處理、分析和管理功能,併為程式碼開發、除錯、釋出、運維、監控和管理提供了一個高效、安全的離線資料開發環境。
  • 提供:
    • 程式碼版本管理
    • 統一資料管理
    • 資料安全隔離
    • 工作流排程系統
    • 多人協調設計編碼

(4)阿里雲QuickBI

  • Quick BI(商務/商業智慧)提供海量資料實時線上分析服務,支援拖拽式操作、提供了豐富的視覺化效果,可以幫助輕鬆自如地完成資料分析、業務資料探查、報表製作等工作。它不止是業務人員看資料的工具,更是資料化運營的助推器,實現人人都是資料分析師。
  • Quick BI產品優勢和價值:
    • 無縫整合雲上資料庫
    • 圖表
    • 分析
    • 快速搭建資料門戶
    • 實時
    • 安全管控資料許可權

相關文章