网站数据采集|埋点设计|nginx日志文件
数据获取的方式主要可以分为两种:
1.网站日志文件(log files)
页面埋点js自定义的采集.
优缺点:
- web服务器自带的日志记录功能:优点方便,缺点信息收集不全
- 自定义的js埋点收集:优点想收集啥就收集啥,缺点需要系统的开发部署
1. 网站日志文件
记录网站日志文件的方式是最原始的数据获取方式,主要在服务端完成,在网站的应用服务器配置相应的写日志的功能就能够实现,很多web应用服务器自带日志的记录功能。如Nginx的access.log日志等。
优点是获取数据时不需要对页面做相关处理,可以直接开始统计相关请求信息,缺点在于有些信息无法采集,比如用户在页面端的操作(如点击、ajax的使用等)无法记录。限制了一些指标的统计和计算。
2.页面埋点js自定义采集
自定义采集用户行为数据,通过在页面嵌入自定义的javascript代码来获取用户的访问行为(比如鼠标悬停的位置,点击的页面组件等),然后通过ajax请求到后台记录日志,这种方式所能采集的信息会更加全面。
在实际操作中,有以下几个方面的数据可以自定义的采集:
系统特征:比如所采用的操作系统、浏览器、域名和访问速度等。
访问特征:包括停留时间、点击的URL、所点击的“页面标签<a>”及标签的
属性等。
来源特征:包括来访URL,来访IP等。
产品特征:包括所访问的产品编号、产品类别、产品颜色、产品价格、产品利润、产品数量和特价等级等。
以某电商网站为例,当用户点击相关产品页面时,其自定义采集系统就会收集相关的行为数据,发到后端的服务器,收集的数据日志格式如下:
https://mercury.jd.com/log.gif?t=search.000001&m=UA-J2011-1&pin=-&uid=15401915286171416477093&sid=15401915286171416477093|5&v=je=0$sc=24-bit$sr=1536x864$ul=zh-cn$cs=UTF-8$dt=iphone xs max -
商品搜索 - 京东$hn=search.jd.com$fl=-$os=win$br=chrome$bv=70.0.3538.67$wb=1540191529$xb=1540531132$yb=1540539558$zb=5$cb=2$usc=baidu$ucp=-$umd=organic$uct=not set$ct=1540539573584$lt=389$tad=-
$keyword=iphone xs max$ev=0$ab=0011$mtest=group_base,ext_attr_fliter,qpv3,qpt9,qpz7$rel_ver=V0700$sig=80It1J9QZbpAL74eICv7MjyjnF9YmbJPZT9figy0Mw1of5qw7/hLNdEVuOn3Ui9yHjym3F0CT67flqqHfj0fyI08i8pf8Asn+
7thpEDDaJZjrwK/gHpYwQNN2MK6q/GuOZfL8VOsvbLDGo3rpj+R1jMIO4n5hg0Kv6yrwrFLlSA=$rel_cat2=653,6880$rel_cat3=655,6881$logid=1540539562.92430$loc=1-72-2799-
网站数据采集|埋点设计|nginx日志文件的更多相关文章
- Nginx日志文件配置与切割
Nginx日志的指令主要有两条: log_format,设置日志的格式 access_log,指定日志文件的存放路径.格式和缓存大小 两条指令在Nginx配置文件中的位置可以在http{……..}之间 ...
- 使用logrotate管理nginx日志文件
本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日 ...
- nginx(四)初识nginx日志文件
nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定 ...
- Nginx 日志文件切割
Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量 ...
- nginx日志文件切割
#!/bin/bash #脚本对日志文件进行切割 #脚本需要crontab 每天定时执行 #Nginx 日志文件的存放路径 logs_path="/../logs/" mkdir ...
- apache与nginx日志文件的区别(转载)
apache与nginx日志文件的区别 转载:http://www.xfcodes.com/apache/log/3270.htm 导读:apache与nginx日志文件的区别,在apache与ngi ...
- 转:Nginx 日志文件切割
http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html 偶然发现access.log有21G大,所以将其切割. Nginx 是一个非常 ...
- nginx日志文件的配置
文章来源 运维公会: nginx日志文件的配置 1.日志介绍 nginx有两种日志,一种是访问日志,一种是错误日志. 访问日志中记录的是客户端对服务器的所有请求. 错误日志中记录的是在访问过程中,因为 ...
- 如何对Nginx日志文件进行切割保存
日积月累下,日志文件会越来越大,日志文件太大严重影响服务器效率,须要定时对日志文件进行切割. 切割的方式有按月切割.按天切割.按小时切割,一般都是按天切割. 那么如何进行切割呢? 思路: 创建日志文件 ...
随机推荐
- .babelrc配置例子
{ "presets":[ ["es2015",{"modlues":false}], "react", ], &quo ...
- php获取微信openid
使用微信接口,无论是自动登录还是微信支付我们首先需要获取的就是openid,获取openid的方式有两种,一种是在关注的时候进行获取,这种订阅号就可以获取的到,第二种是通过网页授权获取,这种获取需要的 ...
- 【索引】位图BitMap索引
位图(BitMap)索引 前段时间听同事分享,偶尔讲起Oracle数据库的位图索引,顿时大感兴趣.说来惭愧,在这之前对位图索引一无所知,因此趁此机会写篇博文介绍下位图索引. 1. 案例 有张表名为ta ...
- jmeter基本问题
jmetet加压的时候不用图像界面(GUI),直接在命令行加压(命令行生成一个report-命令行参数),不做断言,不加监听器--不然会很卡: 进入就meter命令行: 后置处理器可以从HTML页面拿 ...
- AndroidFine Error:Annotation processors must be explicitly declared now.
环境 Android Studio 3.0 Gradle 3.0.0 gradle 4.1 Error Error:Execution failed for task ':app:javaPreCom ...
- Rop攻击
参考:http://en.wikipedia.org/wiki/Return-oriented_programming Rop全称Return-Oriented Programming,就是对栈上的返 ...
- CPUID读取有关Cache的信息
1: void cpuidTest() 2: { 3: u32 val_eax, val_ebx, val_ecx, val_edx; 4: asm("cpuid" 5: : &q ...
- 获取hdfs集群信息(fs.defaultFS)
[root@hive-dp-7bd6fd4d55-wctjn hive-1.1.0-cdh5.14.0]# hdfs getconf -confKey fs.default.name19/12/04 ...
- 前端(十一)—— JavaScript基础:JS存在的位置、JS变量定义、调试方式、JS数据类型、运算符
JS存在的位置.JS变量定义.调试方式.JS数据类型.运算符 一.JS语言介绍 1.概念 浏览器脚本语言 可以编写运行在浏览器上的代码程序 属于解释性.弱语言类型编程语言 2.组成 ES语法:ECMA ...
- Feign 系列(01)最简使用姿态
目录 Feign 系列(01)最简使用姿态 1. 引入 maven 依赖 2. 基本用法 3. Feign 声明式注解 Feign 系列(01)最简使用姿态 Spring Cloud 系列目录(htt ...