阿里数据自由之路总结之日志采集

浏览器的页面型产品/服务的日志采集可分为如下两大类。
  • 页面浏览(展现)日志采集
    顾名思义,页面浏览日志是指个页面被浏览器加载呈现时采集的日志。
  • 页面交互日志采集
    当页面加载和渲染完成之后,用户可以在页面上执行各类操作。
页面浏览日志采集过程
  1. 客户端日志采集。日志采集工作 般由 小段被植人页面
    HTML 文档内的 JavaSc ript 脚本来执行。
  2. 客户端日志发送。采集脚本执行时,会向日志服务器发起
    请求,以将采集到的数据发送到日志服务器。
  3. 服务器端日志收集
  4. 服务器端日志解析存档。
页面交互日志采集
  1. 业务方在“黄金令箭”的元数据管理界面依次注册需要采集交互日志的业务、具体的业务场景以及场景下的具体交互采集点,在注册
    成之后,系统将生成与之对应的交互日志来集代码模板。
  2. 业务方将交互日志采集代码植入目标页面,并将采集代码与需监测的交互行为做绑定。
  3. 当用户在页面上产生指定行为时,采集代码和正常的业务互动代码 起被触发和执行。
  4. 采 代码在采集动作完成后将对应的日志通过 HTTP 协议发送到日志服务器,日志服务器接收到日志后,对于保存在 HTTP 请求参数部分的自定义数据,即用户上传的数据,原则上不做解析处理,只做简单的转储。
页面日志的服务器端清洗和预处理
  1. 识别流量攻击、网络爬虫和流量作弊(虚假流量)。页面日志互联网分析和大数据应用的基础源数据,在实际应用中,往往存在占定比例的虚假或者恶意流量日志,导致日志相关指标的统计发生偏差
    或明显谬误。为此,需要对所采集的日志进行合法性校验,依托算法识别非正常的流量并归纳出对应的过滤规则集加以滤除。这是 个长期而艰苦的对抗过程。
  2. 数据缺项补正。为了便利后续的日志应用和保证基本的数据统口径 致,在大多数情况下,需要对日志中的 些公用且重要的数据项做取值归 、标准化处理或反向补正。反向补正,即根据新日志对稍收集的日志中的个别数据项做回补或修订(例如,在用户登录后,对登录前页面日志做身份信息的回补)。
  3. 无效数据剔除。在某些情况下,因业务变更或配置不当,在采集到的日志中会存在一些无意义、已经失效或者冗余的数据项。这些数据项不仅消耗存储空间和运算能力,而且在偶然的情况下还可能干扰正
    常计算的进行。为了避免此类异常的发生,需要定时检查配置并依照配置将此类数据项剔除。
  4. 日志隔离分发。基于数据安全或者业务特性的考虑,某些日志在进入公共数据环境之前需要做隔离。
2.2 无线客户端的日志采集

serTrack (UT )把事件分成了几类,常用的包括页面事件(同前述的页面浏览)和控件点击事件(同前述的页面交互)等。

  • 每条页面事件日志记录三类信息 ①设备及用户的基本信息:②被访问页面的信息,这里主要是一些业务参数(如商品详情页的商品 ID 、所属的店铺等) ; ③访问基本路径(如页面来源、来源的来源 ),用于还原用户完整的访问行为。UT 提供了两个接口,分别在页面展现和页面退出时调用。除了基础的两个接口外,还提供了添加页面扩展信息的接口。在页面离开前,使用该接口提供的方法给页面添加相关 数,比如给店铺详情页添加店铺 ID 、店铺类别(天猫店铺或淘宝店铺) 等。
  • 在阿里系内,使用 SPM (Super Position Model ,超级位置模型)进行来源去向的追踪,在无线客户端
    也同样使用 SPM, SPM 信息就可以通过透传机制带人到下一步甚至下一步的浏览页面,这样整个用户行为路径还原就轻松实现了。
    UT 提供了一个自定义埋点类,其包括:①事件名称:②事件时长 ③事件所携带的属性:④事件对应的页面。

Native HS 日 的统 处理,就需要对 Hybrid 日志有统一 方案。 的思路就 首先将两 日志进行归 。选择Native或h5埋点都可以,我们选择 Native 部署采集 SDK 的方式。
原因有二:
一是采 SDK 可以采集到更 的设备相关数据,这在移动端的数据分析中尤为 要; 是采集 SDK 处理日志,会先在存,而后借机上传,在网络状况不佳时延迟上报,保证数据不丢失。基于这两点,我们选择将 HS 日志归到 Native 日志。
具体的流程:

  1. HS 页面浏览和页面交互的数据,在执行时通过加载日志采集JavaScript 脚本,采集当前页面参数,包括浏览行为的上下文信息以及一 行环境信息。在 APP 中打开 HS 页面和在浏览器中的处理完全
    一样 ,在前端 面的开发中无须做任何特殊的处理,只需在页面开发时手动植入日 JavaScript 脚本即可。
日志传输
  1. 无线客户端日志的上传,不是产生一条日志上传一条,而是无线客
    户端产生 日志后,先存储在客户端本地,然后再伺机上传。
  2. 客户端数据上传时是向服务器发送 POST 请求,服务器端处理上传请求 ,对请求进行相关校验 ,将数据追加到本地文件中进行存储,存储方式使用 Nginx access_log, access_log 的切分维度为天,即当天接收的日志存储到当天的日志文件中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值