铸龙用户行为分析系统

联合创作 · 2023-10-01 23:25

铸龙是一款用于分析用户行为事件的 BI 软件。


特点如下



  • 事件分析

  • 埋点上报

  • 漏斗分析

  • 留存分析

  • 智能路径分析

  • 报表,面板管理

  • 多平台部署,直接二进制部署无需搭建环境


技术栈主要用



  • mysql

  • redis

  • kafka

  • clickhouse



系统组成



  • 该系统分为以下四部分



  1. 埋点上报sdk

  2. report_server

  3. sinker

  4. manager



  • 埋点上报sdk: 用于采集埋点信息,目前SDK支持类型



  1. web

  2. cocos creator

  3. egert



  • report_server:用于收集sdk上报的信息,并生产消息入kafka

  • sinker:消费kafka的埋点消息并入库

  • manager:基于入库后的埋点数据进行分析,报表。




部署


部署文件下载地址为 https://gitee.com/cynthia520/xwl_bi/releases/v1.0.0



  1. 下载sdk.zip,解压缩 如下图所





下面我们拿web为例子 步骤如下


1. 打开web文件夹后有如下js文件





<script type="text/javascript" src="report_sdk.js" ></script>
<script type="text/javascript" >

let parmas = {"appid":"********","appkey":"********"}
let eventReport = new EventReport("http://127.0.0.1:8091", parmas["appid"], parmas["appkey"], 0)
eventReport.track("访问铸龙BI文档",{feeling:"Hello World!"})

</script>



  1. 下载对应操作系统的压缩包,如windows系统则下载win.zip,解压缩后有如下文件企业微信截图_16431016173979.png





    • 修改 config文件夹下的config.json


    具体配置项解释如下



    {
    "manager": { //bi管理系统配置模块
    "port": 8090, //启动端口
    "jwtSecret": "1340691923@qq.com", //jwt密钥
    "deBug": true //是否为调试模式 ,非调试模式会调用浏览器打开bi访问地址
    },
    "report": { //上报服务模块
    "reportPort":8091, //启动端口
    "readTimeout":20, //读超时时间,单位(秒)(不填则不受限制)
    "writeTimeout":20, //写超时时间,单位(秒)(不填则不受限制)
    "maxConnsPerIP":100000, //每个IP允许的最大并发客户端连接数(不填则不受限制)
    "maxRequestsPerConn":100000, //每个连接服务的最大请求数(不填则不受限制)
    "idleTimeout":20, //等待消息的最长时间,如果为零,则使用readTimeout的值。
    "userAgentBanList":["mpcrawler"] //不允许访问的userAgent请求头 , 例如 demo中的 mpcrawler 是微信小程序机器人的 userAgent
    },
    "sinker": { //sinker模块
    "reportAcceptStatus":{ //上报数据状态入库(入库 CK)
    "bufferSize": 999, //入库批次数量
    "flushInterval": 2 //入库轮循间隔时间(秒)
    },
    "reportData2CK":{ //上报数据入库(入库 CK)
    "bufferSize": 1000, //入库批次数量
    "flushInterval": 2 //入库轮循间隔时间(秒)
    },
    "realTimeWarehousing":{ //实时数据入库(入库 ES)
    "bufferSize": 1000, //入库批次数量
    "flushInterval": 2 //入库轮循间隔时间(秒)
    },
    "pprofHttpPort": 8093 //pprof性能检测端口
    },
    "comm": { //公用模块
    "log": { //日志模块
    "storageDays":4, //存放天数
    "logDir":"logs" //存放目标文件夹
    },
    "mysql": { //mysql模块
    "username":"root", //用户名
    "pwd":"123456", //密码
    "ip":"127.0.0.1", //ip
    "port":"3306", //端口
    "dbName":"lyn_bi", //数据库名
    "maxOpenConns":10, //连接池最大打开数
    "maxIdleConns":10 //连接池初始化闲置数
    },
    "clickhouse": { //clickhouse模块
    "username":"default", //用户名 没有则不填
    "pwd":"EtHnvllx", //密码 没有则不填
    "ip":"127.0.0.1", //IP
    "port":"9000", //端口
    "dbName":"default", //数据库名
    "clusterName":"perftest_3shards_1replicas", //集群名 单机CK则不填
    "macrosShardKeyName":"share", //metrika.xml 的share key名 单机CK则不填

    //例如: <macros>
    //<share>1</share>
    // <replica>192.168.1.236</replica>
    //</macros>
    //则 macrosShardKeyName 填share

    "macrosReplicaKeyName":"replica", //metrika.xml 的replica key名 单机CK则不填

    "maxOpenConns":100, //连接池最大打开数
    "maxIdleConns":1000 //连接池初始化闲置数
    },
    "kafka": { //kakfa 模块
    "addresses":["127.0.0.1:9092"], //访问地址
    "username":"", //用户名
    "password":"", //密码
    "numPartitions":300, //初始化 埋点数据topic分区数
    "debugDataTopicName": "debugDataTopicName", //测试模式下 测试埋点数据的topic名
    "debugDataGroup": "debugDataGroup", //测试模式下 测试埋点数据的消费者组名
    "reportTopicName": "test005", //埋点数据的topic名
    "reportData2CKGroup": "reportData2CKGroup2", //埋点数据的消费者组名(入库 CK)
    "realTimeDataGroup": "realTimeDataGroup2", //实时数据的消费者组名(入库 ES)
    "producer_type":"async", //kafka生产者类型 async 为异步模式 sync 为同步模式 ,不填为async
    },
    "redis": { //redis模块
    "addr":"127.0.0.1:6379", //访问地址
    "passwd":"", //密码
    "db": 7, //库名
    "maxIdle": 300, //连接池初始化闲置数
    "maxActive": 0 //连接池所能分配的最大的连接数目 ,当设置成0的时候,该连接池连接数没有限制

    }
    }
    }



  2. 启动 windows环境 则双击 应用名.exe linux环境则 chmod +x 应用名 && ./应用名



    • init_app


    显示 “数据已全部初始化完毕!”则为正常启动



    • manager


    启动后显示下图则为正常启动




    report_server


    启动后显示下图则为正常启动





    • sinker




    启动后显示下图则为正常启动




    至此,服务端已配置完毕





 

浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报