日志中心收集网站访问数据内容
基于nginx记录用户cookie的行为,进行分析
一、用户cookie。
需要创建3个cookie文件_gtra、_gtrb、_gtrc,其中_gtra用来追踪用户,_gtrb和_gtrc联合来标记一次会话。
_gtra的过期时间为2年,内容为:域哈希.uid.第一次访问的时间.访问次数。
域哈希 | 域名的哈希值,每个站点唯一 |
uid | 访客的唯一id |
第一次访问的时间 | 访客第一次访问该站点的时间戳 |
访问次数 | 访客访问站点的次数 |
_gtrb的过期时间为30分钟,内容为:sessionid.当前页面访问时间.访问编号。
sessionid | 会话的唯一id |
当前页面访问时间 | 当前页面访问的开始时间戳 |
访问编号 | 访问的第一个页面为1,第二个为2..... |
_gtrc的过期时间为访客离开网站时,内容为:sessionid。
二、送到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的内容 |
三、可以统计包括以下数据:
1、访问人数(包括整站的和单个页面的,一个用户为一次访问)。
2、访问次数(包括整站的和单个页面,一个session为一次访问)。
3、pv。
4、页面停留时间。
5、网站停留时间。
6、平均访问页数。
7、跳出率和跳出页面。
8、用户的访问路径。
9、基于某个特定url的统计(如统计搜索关键字和产品详情的浏览)。
四、统计方法说明:
1、访问人数的统计。通过cookie文件_gtra的“uid”数量可统计访问人数。
2、访问次数的统计。通过“sessionid”数量可以统计访问次数。
3、pv的统计。通过记录的数量可以统计pv,一条记录为一个pv。
4、页面停留时间的统计。具有同样“sessionid”的数据为同一次会话里产生的访问,通过cookie文件_gtrb的“访问编号”可以确定用户一次会话里的访问顺序,通过后一个页面的访问时间减去前一个页面的访问时间,可得到前一个页面的停留时间。由于用户离开页面的停留时间无法计算,故统计页面平均停留时间时剔除离开页面。
5、网站停留时间。由每次会话里总的页面停留时间相加然后平均得出,由于已经剔除离开页面的停留时间,统计所得的时间会比实际停留时间略短。
6、平均访问页数的统计。通过汇总每次会话的访问页数然后平均后得出。
7、跳出率和跳出页面的统计。查找只访问了一个页面的会话可得出跳出页面;跳出率则通过“只访问一个页面的会话/所有会话” 得出。
8、用户的访问路径统计。具有相同“sessionid”的数据,按“访问编号”的顺序则为访问页面的顺序,即用户的访问路径。
9、 基于某个特定url的统计(如统计搜索关键字和产品详情的浏览)。只需分析记录的“url”以及参数即可。
备注:通过cookie文件_gtrb和_gtrc联合标记一次会话。js数据收集脚本会首先检查这两个文件,如果缺少任意一个文件,标记为一个新的会话开始,然后重新生成这两个cookie文件并写入内容;如果_gtrb和_gtrc都存在,说明已经是在一个会话中。
五、保存到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
}