日誌中心收集網站訪問數據內容linux
基於nginx記錄用戶cookie的行爲,進行分析 nginx
1、用戶cookie。mongodb
須要建立3個cookie文件_gtra、_gtrb、_gtrc,其中_gtra用來追蹤用戶,_gtrb和_gtrc聯合來標記一次會話。瀏覽器
_gtra的過時時間爲2年,內容爲:域哈希.uid.第一次訪問的時間.訪問次數。 cookie
域哈希session |
域名的哈希值,每一個站點惟一dom |
uid網站 |
訪客的惟一idui |
第一次訪問的時間url |
訪客第一次訪問該站點的時間戳 |
訪問次數 |
訪客訪問站點的次數 |
_gtrb的過時時間爲30分鐘,內容爲:sessionid.當前頁面訪問時間.訪問編號。
sessionid |
會話的惟一id |
當前頁面訪問時間 |
當前頁面訪問的開始時間戳 |
訪問編號 |
訪問的第一個頁面爲1,第二個爲2..... |
_gtrc的過時時間爲訪客離開網站時,內容爲:sessionid。
2、送到nginx的數據:
IP |
經過nginx變量$remote_addr得到 |
domain |
js腳本收集 |
url |
js腳本收集 |
referrer |
來源url,js腳本收集 |
http_user_agent |
經過nginx變量$http_user_agent |
gtra |
cookie文件_gtra的內容 |
gtrb |
cookie文件_gtrb的內容 |
gtrc |
cookie文件_gtrc的內容 |
3、能夠統計包括如下數據:
一、訪問人數(包括整站的和單個頁面的,一個用戶爲一次訪問)。
二、訪問次數(包括整站的和單個頁面,一個session爲一次訪問)。
三、pv。
四、頁面停留時間。
五、網站停留時間。
六、平均訪問頁數。
七、跳出率和跳出頁面。
八、用戶的訪問路徑。
九、基於某個特定url的統計(如統計搜索關鍵字和產品詳情的瀏覽)。
4、統計方法說明:
一、訪問人數的統計。經過cookie文件_gtra的「uid」數量可統計訪問人數。
二、訪問次數的統計。經過「sessionid」數量能夠統計訪問次數。
三、pv的統計。經過記錄的數量能夠統計pv,一條記錄爲一個pv。
四、頁面停留時間的統計。具備一樣「sessionid」的數據爲同一次會話裏產生的訪問,經過cookie文件_gtrb的「訪問編號」能夠肯定用戶一次會話裏的訪問順序,經過後一個頁面的訪問時間減去前一個頁面的訪問時間,可獲得前一個頁面的停留時間。因爲用戶離開頁面的停留時間沒法計算,故統計頁面平均停留時間時剔除離開頁面。
五、網站停留時間。由每次會話裏總的頁面停留時間相加而後平均得出,因爲已經剔除離開頁面的停留時間,統計所得的時間會比實際停留時間略短。
六、平均訪問頁數的統計。經過彙總每次會話的訪問頁數而後平均後得出。
七、跳出率和跳出頁面的統計。查找只訪問了一個頁面的會話可得出跳出頁面;跳出率則經過「只訪問一個頁面的會話/全部會話」 得出。
八、用戶的訪問路徑統計。具備相同「sessionid」的數據,按「訪問編號」的順序則爲訪問頁面的順序,即用戶的訪問路徑。
九、 基於某個特定url的統計(如統計搜索關鍵字和產品詳情的瀏覽)。只需分析記錄的「url」以及參數便可。
備註:經過cookie文件_gtrb和_gtrc聯合標記一次會話。js數據收集腳本會首先檢查這兩個文件,若是缺乏任意一個文件,標記爲一個新的會話開始,而後從新生成這兩個cookie文件並寫入內容;若是_gtrb和_gtrc都存在,說明已是在一個會話中。
5、保存到MongoDB的數據格式:
ip |
IP地址 |
userid |
用戶id |
firstVisitTime |
第一次訪問時間 |
visitCount |
訪問次數(第幾回訪問) |
browser |
使用的瀏覽器名稱 |
os |
使用的操做系統名稱 |
sessionid |
訪問會話的id |
domain |
訪問的域名 |
url |
網頁地址 |
referrer |
當前訪問的來源地址 |
startTime |
訪問的開始時間 |
visitNum |
訪問編號 |
mongodb數據格式以下:
{
"_id":ObjectId("52b13e1d7f8b9a4f518b456f"),
"ip":"10.10.10.105",
"userid":"9EEBCF42-2DC7-4AD9-9CCF-AAA7248B0AF2",
"firstVisitTime":"2013-12-18 01:39:21",
"visitCount":1,
"browser":"Firefox/24.0",
"os":"Linux x86_64",
"sessionid":"83fc9094d1ca40df8660cac218501197",
"domain":"www.csc86.com",
"url":"http://www.csc86.com/",
"referrer":"",
"startTime":"2013-12-18 01:39:21:234",
"visitnum":1
}