网站数据采集|埋点设计|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日志文件进行切割保存
日积月累下,日志文件会越来越大,日志文件太大严重影响服务器效率,须要定时对日志文件进行切割. 切割的方式有按月切割.按天切割.按小时切割,一般都是按天切割. 那么如何进行切割呢? 思路: 创建日志文件 ...
随机推荐
- string::size_type 页73 size_t 页90
异同点: size_t size_type sizeof(XXX)所得到的结果的类型就是 string类类型和vector类类型定义的类型,string的size操作返回来的是string::size ...
- 4、Python 基础类型 -- Tuple 元祖类型
Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: 实例(P ...
- idea 增量包配置
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,serve ...
- pygame游戏框架
#_author:来童星#date:2019/12/22 import pygame import sys pygame.init() size=width,height=640,480 screen ...
- LInux文件基础知识和文件目录操作(二)文件I/O操作
1.文件I/O操作分为两部分来讲解: 第一部分是非缓冲文件操作,这种操作适合于比较小规模文件的读写和对实时性要求很高的设备的数据通信,这类操作是系统调用提供的: 第二部分是缓冲文件操作,所面向的则是大 ...
- 使用VS2015制作安装包( 含相关的下载链接)
补充: 在看下面的教程过程中,如果在下面的步聚1中没有 " Visual Studio Installer", 则需要通过下面的链接进行安装 Visual Studio Insta ...
- Guava Spiltter类
Splitter 提供了各种方法来处理分割操作字符串,对象等. 类声明 以下是com.google.common.base.Splitter类的声明: @GwtCompatible(emulated= ...
- JOGL图形形状
图形对象 要访问程序特定于硬件和操作系统平台,以及其他语言编写,比如C和C++(原生应用)库,Java使用一种称为Java本地接口(JNI)编程框架的工作. JOGL内部使用此接口,如图中下面的图表来 ...
- CentOS7添加永久静态路由
CentOS7永久静态路由需要写到 /etc/sysconfig/network-scripts/route-****** 文件中,故在/etc/sysconfig/network-scripts/下 ...
- 使用Docker快速部署ELK分析Nginx日志实践
原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...