1 Star 0 Fork 409

Git_OSC / 小象数据行为分析--基于神策SDK埋点的用户行为分析日志采集

加入 Gitee
与超过 800 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

小象用户行为分析日志采集

微信群

输入图片说明

介绍

小象电商系统上线后,需要收集用户行为数据,通过大数据实时分析实现电商业务数字化运营。小象智慧基于此强需求开发小象行为日志产品并开源,产品兼容神策开源的埋点SDK完成终端行为上报,采用Nginx+Flume+kafka实现日志收集,采用Flink+ClickHouse架构实现OLAP的实时分析,同时数据会备份写入HDFS。

本开源项目内容包括nginx环境配置、Flume解密和日志格式处理、将明文数据存放到kafka的Topic下、Flink消费后将埋点数据存入HDFS的关键4步操作。为方便前期埋点的校验调优,在kafka环节,增加了埋点解析数据JSON格式存入MySQL。后续计划增加友盟和其他SDK厂商的埋点处理,以及业务系统日志的采集入库。

项目主要内容

  • 日志采集(Flume+kafka)
  • 日志入库(Flink+HDFS)

工作流程

完成数据采集技术构建和业务设计,在App、小程序的系统供应商配合下完成用户行为数据采集埋点,并基于埋点的数据构建线上用户行为标签和画像。 输入图片说明

架构设计思路

所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。 输入图片说明

业务设计思路

埋点业务设计,首先需要根据业务分析明确采集的目标行为,进一步搞清楚应该在哪些地方埋什么样的点。过程中建议使用“事件模型( Event 模型)”来描述用户的各种行为,事件模型包括事件( Event )和用户( User )两个核心实体。 基于4W1H模型描述用户行为可将整个行为描述清楚,要点包括:是谁、什么时间、什么地点、以什么方式、干了什么。通过这两个实体结合在一起就可以清晰地描述清楚用户行为。 输入图片说明

技术架构

SDK埋点采集行为数据来源终端包括iOS、安卓、Web、H5、微信小程序等。不同终端SDK采用对应平台和主流语言的SDK,埋点采集到的数据通过JSON数据以HTTP POST方式提交到服务端API。 服务端API由数据接入系统组成,采用Nginx来接收通过 API 发送的数据,并且将之写到日志文件上。使用Nginx实现高可靠性与高可扩展性。 对于Nginx打印到文件的日志,会由Flume的 Source 模块来实时读取Nginx日志,并由Channel模块进行数据处理,最终通过Sink模块将处理结果发布到 Kafka中。 Kafka是一个广泛使用的高可用的分布式消息队列,作为数据接入与数据处理两个流程之间的缓冲,同时也作为近期数据的一个备份。通过对外提供访问 API,数澜中台可以直接从 Kafka中将数据引走,进入数仓构建指标。 输入图片说明

软件完整架构

输入图片说明

第三方埋点SDK集成步骤

  • 引入SDK:在终端应用配置文件添加 SDK 依赖,不同终端引入方式会有差异,具体操作步骤将在后续SDK技术文档中体现。
  • 配置上报服务端API地址:用于设置SDK上报API的服务端地址。
  • 开启全埋点:SDK 可以自动采集一些用户行为,如 App 启动、退出、浏览页面、控件点击。初始化 SDK 时,通过SDK提供的初始化方法可以配置开启全埋点。

API接入服务设计

不同渠道的埋点数据通过 HTTP API 发送给服务端API实现数据接入。 采用Nginx作为WEB容器接收客户端SDK发送的数据,并且将之写到日志文件上。使用 Nginx 主要是考虑到其高并发、高可靠性与高可扩展性。

用户行为采集场景

通过应用场景梳理,实现以场景规划埋点,用场景检验埋点。场景梳理可以抽象为三个层面:

  • 通用基础场景:共性操作统一考虑
  • 重要操作场景:重要操作整体归因
  • 业务主流程场景:以业务线定义完整过程

输入图片说明

应用效果

输入图片说明

输入图片说明

演示环境

  1. 小象数据营销云演示 https://data.xiaoxiangai.com/ 用户名密码:xiaoxiang1/123456

  2. 小象电商微信端演示 输入图片说明

  3. 在微信小程序商城进行操作,数据会在小象数字营销云平台中动态显示。

版权声明

小象数据行为分析 开源版遵循 GPL-3.0 开源协议发布,并提供免费使用,但 绝不允许修改后和衍生的代码做为闭源的商业软件发布和销售 !

捐赠支持

如果您觉得我们的开源项目 小象数据行为分析 对您有帮助,那就请项目开发者们来一杯喜茶吧!当前我们接受来自于微信、支付宝或者码云的捐赠,请在捐赠时备注自己的昵称或附言。

您的捐赠将用于支付该项目的一些费用支出,并激励开发者们以便更好的推动项目的发展,同时欢迎捐赠公网服务器用于提高在线演示系统体验。

输入图片说明 输入图片说明

长期捐赠

如果您是企业的经营者并且有计划将 小象数据行为分析 用在公司的经营产品中,欢迎进行长期捐赠。长期捐赠有商业上的益处有:

  • 积极响应,快速维护,及时更新;
  • 企业名称、Logo 及官网链接将长期展示在开源仓库、小象智慧 官网及宣发材料中;
  • 捐赠金额同比例抵扣未来 小象数据行为分析 的付费产品价格。

如果您对长期赞助 小象智慧 团队感兴趣,或者有其他好想法,欢迎联系开发团队微信 mzv988,或发送邮件到 gitee@xiaoxiangai.com

简介

对接神策开源埋点SDK,采用Nginx+Flume+kafka实现日志收集。包括nginx环境配置、Flume解密和日志格式处理、将明文数据存放到kafka的Topic下、Flink写入HDFS。 展开 收起
Java
AGPL-3.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/Git_OSC/log.git
git@gitee.com:Git_OSC/log.git
Git_OSC
log
小象数据行为分析--基于神策SDK埋点的用户行为分析日志采集
master

搜索帮助