网站流量日志数据自定义采集

本文介绍了网站流量日志数据自定义采集的原理和实现过程,包括前端埋点代码、数据收集脚本、后端脚本的处理以及日志切分和系统环境部署。通过创建和配置nginx、lua脚本以及使用OpenResty,搭建了一个能够收集用户行为信息的自定义日志采集系统。
摘要由CSDN通过智能技术生成

 

1. 原理分析

首先,用户的行为会触发浏览器对被统计页面的一个http请求,比如打开某网页。当网页被打开,页面中的埋点javascript代码会被执行。

埋点是指:在网页中预先加入小段javascript代码,这个代码片段一般会动态创建一个script标签,并将src属性指向一个单独的js文件,此时这个单独的js文件(图中绿色节点)会被浏览器请求到并执行,这个js往往就是真正的数据收集脚本。

数据收集完成后,js会请求一个后端的数据收集脚本(图中的backend),这个脚本一般是一个伪装成图片的动态脚本程序,js会将收集到的数据通过http参数的方式传递给后端脚本,后端脚本解析参数并按固定格式记录到访问日志,同时可能会在http响应中给客户端种植一些用于追踪的cookie。

 

2. 设计实现

根据原理分析并结合Google Analytics,想搭建一个自定义日志数据采集系统,要做以下几件事:

2.1. 确定收集信息

名称

途径

备注

访问时间

web server

Nginx $msec

IP

web server

Nginx $remote_addr

域名

javascript

document.domain

URL

javascript

document.URL

页面标题

javascript

document.title

分辨率

javascript

window.screen.height & width

颜色深度

javascript

window.screen.colorDepth

Referrer

javascript

document.referrer

浏览客户端

web server

Nginx $http_user_agent

客户端语言

javascript

navigator.language

访客标识

cookie

Nginx $http_cookie

网站标识

javascript

自定义对象

状态码

web server

Nginx $status

发送内容量

web server

Nginx $body_bytes_sent

2.2. 确定埋点代码

埋点,是网站分析的一种常用的数据采集方法。核心就是在需要进行数据采集的关键点植入统计代码,进行数据的采集。比如以谷歌分析原型来说,需要在页面中插入一段它提供的javascript片段,这个片段往往被称为埋点代码。

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

5

6

7

8

9

<script type="text/javascript">

  var _maq = _maq || [];

  _maq.push(['_setAccount', 'UA-XXXXX-X']);

  (function() {

    var ma = document.createElement('script');

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值