網站日誌分析項目案例(一)項目介紹:當前頁面php
網站日誌分析項目案例(二)數據清洗:http://www.cnblogs.com/edisonchou/p/4458219.htmlhtml
網站日誌分析項目案例(三)統計分析:http://www.cnblogs.com/edisonchou/p/4464349.htmlmysql
本次要實踐的數據日誌來源於國內某技術學習論壇,該論壇由某培訓機構主辦,匯聚了衆多技術學習者,天天都有人發帖、回帖,如圖1所示。sql
圖1 項目來源網站-技術學習論壇shell
本次實踐的目的就在於經過對該技術論壇的apache common日誌進行分析,計算該論壇的一些關鍵指標,供運營者進行決策時參考。apache
PS:開發該系統的目的是爲了獲取一些業務相關的指標,這些指標在第三方工具中沒法得到的;編程
該論壇數據有兩部分:服務器
(1)歷史數據約56GB,統計到2012-05-29。這也說明,在2012-05-29以前,日誌文件都在一個文件裏邊,採用了追加寫入的方式。網絡
(2)自2013-05-30起,天天生成一個數據文件,約150MB左右。這也說明,從2013-05-30以後,日誌文件再也不是在一個文件裏邊。框架
圖2展現了該日誌數據的記錄格式,其中每行記錄有5部分組成:訪問者IP、訪問時間、訪問資源、訪問狀態(HTTP狀態碼)、本次訪問流量。
圖2 日誌記錄數據格式
(1)定義:頁面瀏覽量即爲PV(Page View),是指全部用戶瀏覽頁面的總和,一個獨立用戶每打開一個頁面就被記錄1 次。
(2)分析:網站總瀏覽量,能夠考覈用戶對於網站的興趣,就像收視率對於電視劇同樣。可是對於網站運營者來講,更重要的是,每一個欄目下的瀏覽量。
計算公式:記錄計數,從日誌中獲取訪問次數,又能夠細分爲各個欄目下的訪問次數。
該論壇的用戶註冊頁面爲member.php,而當用戶點擊註冊時請求的又是member.php?mod=register的url。
計算公式:對訪問member.php?mod=register的url,計數。
(1)定義:一天以內,訪問網站的不一樣獨立 IP 個數加和。其中同一IP不管訪問了幾個頁面,獨立IP 數均爲1。
(2)分析:這是咱們最熟悉的一個概念,不管同一個IP上有多少電腦,或者其餘用戶,從某種程度上來講,獨立IP的多少,是衡量網站推廣活動好壞最直接的數據。
計算公式:對不一樣的訪問者ip,計數
(1)定義:只瀏覽了一個頁面便離開了網站的訪問次數佔總的訪問次數的百分比,即只瀏覽了一個頁面的訪問次數 / 所有的訪問次數彙總。
(2)分析:跳出率是很是重要的訪客黏性指標,它顯示了訪客對網站的興趣程度:跳出率越低說明流量質量越好,訪客對網站的內容越感興趣,這些訪客越多是網站的有效用戶、忠實用戶。
PS:該指標也能夠衡量網絡營銷的效果,指出有多少訪客被網絡營銷吸引到宣傳產品頁或網站上以後,又流失掉了,能夠說就是煮熟的鴨子飛了。好比,網站在某媒體上打廣告推廣,分析從這個推廣來源進入的訪客指標,其跳出率能夠反映出選擇這個媒體是否合適,廣告語的撰寫是否優秀,以及網站入口頁的設計是否用戶體驗良好。
計算公式:①統計一天內只出現一條記錄的ip,稱爲跳出數;②跳出數/PV;
(1)定義:版塊的訪問狀況排行。
(2)分析:鞏固熱點版塊成績,增強冷清版塊建設。同時對學科建設也有影響。
計算公式:按訪問次數統計排序;
(1)Linux Shell編程
(2)HDFS、MapReduce
(3)HBase、Hive、Sqoop框架
把日誌數據上傳到HDFS中進行處理,能夠分爲如下幾種狀況:
(1)若是是日誌服務器數據較小、壓力較小,能夠直接使用shell命令把數據上傳到HDFS中;
(2)若是是日誌服務器數據較大、壓力較大,使用NFS在另外一臺服務器上上傳數據;
(3)若是日誌服務器很是多、數據量大,使用flume進行數據處理;
使用MapReduce對HDFS中的原始數據進行清洗,以便後續進行統計分析;
使用Hive對清洗後的數據進行統計分析;
使用Sqoop把Hive產生的統計結果導出到mysql中;
提供視圖工具供用戶使用,指標查詢mysql、明細則查詢Hbase;
這裏使用MySQL存儲關鍵指標的統計分析結果。
這裏使用HBase存儲明細日誌,可以利用ip、時間查詢。
後面,咱們就開始具體的實戰了,本篇做爲介紹就到此爲止!