Kafka实时数据订阅
优质
小牛编辑
132浏览
2023-12-01
诸葛io设计为开放的架构,让用户可以订阅实时数据来满足更多使用场景。服务端接到一条 SDK 发来的数据后,会对数据做一些预处理并将数据写入到消息队列。
Kafka 供下游各类计算模块使用。本文将介绍订阅 Kafka 数据的方法。
一、配置要求
订阅数据需要满足以下要求:
启动订阅的机器需与部署诸葛io的机器在同一个内网;
Kafka 版本请使用 0.8.2.x;
目前仅支持私有部署版通过 Kafka 订阅数据;
二、订阅参数
私有部署单机版:
参数名称 | 参数值 |
---|---|
topic | pay_statisv2 |
partition | 2 |
zookeeper | hostname:2181 |
broker | hostname:9092 |
私有部署集群版:
参数名称 | 参数值 |
---|---|
topic | pay_statisv2 |
partition | 8 |
zookeeper | hostname1:2181,hostname2:2181,hostname3:2181 |
broker | hostname1:9092,hostname2:9092,hostname3:9092 |
三、订阅数据
订阅有多种方式,可以选择一种适合使用场景的方式。
1. 使用 Kafka Console Consumer
使用 Kafka 自带的 Kafka Console Consumer 通过命令行方式订阅,例如从最新数据开始订阅:
bin/kafka-console-consumer.sh --zookeeper 172.31.13.31:2181 --topic pay_statisv2
可以将 stdout 输出到文件或作为其他数据处理进程的输入数据。
2. 使用 Simple Consumer Shell
使用 Simple Consumer Shell 可以实现更灵活的订阅,可参考 Kafka 相关文档:Simple Consumer Shell,例 如:
bin/kafka-run-class.sh kafka.tools.SimpleConsumerShell --broker-list 172.31.13.31:9092 --offset 123 --partition 2 --topic pay_statisv2 --print-offsets
四、数据格式
1. 移动端数据格式
{
"owner": "zg",
"st": 1493895485371, //会话开始时间(unixtime,毫秒)
"debug": 0, //是否开启了实时调试,0为关闭,1为开启
"data": [ //数据部分
{
"dt": "evt", //数据类型,evt代表事件,ss代表会话开始,se代表会话结束,usr代表用户信息,pl代表设备信息,abp代表全埋点事件
"pr": { //"$"开头代表诸葛默认采集的属性,"_"开头代表是用户上传的自定义属性
"$os": "iOS", //系统
"$tz": 28800000, //时区
"$net": "4", //网络类型(见下面参考值)
"$ov": "10.2.1", //系统版本
"$eid": "background", //事件名称
"$cn": "App Store", //下载渠道
"$cr": "46002", //运营商(见下面参考值)
"$ct": 1493895485370, //事件触发时间(unixtime,毫秒)
"$sid": 1493895485370, //会话开始时间(unixtime,毫秒)
"$mnet": "None", //移动网络类型
"$vn": "2.7.3", //应用版本
"_自定义属性名": "自定义属性值"
}
}
],
"tz": 28800000, //时区
"ip": "113.222.112.181", //ip地址,诸葛根据ip解析省份城市等信息
"sdkv": "2.0.0", //诸葛sdk版本
"ak": "1234567890987654321", //应用appkey
"ua": "CFNetwork/808.3 Darwin/16.3.0", //user-agent
"sln": "itn", //行业方案,itn互联网
"usr": {
"did": "D9A586EF-7999-4ED5-808E-321111ddeds" //设备id
},
"sdk": "zg-ios", //诸葛sdk类型
"pl": "ios", // 平台信息: js、android为and、iOS为ios
"ut": "2017-05-04 18:58:05" //上传时间
}
2. 参考值列表
2.1 运营商
参考值 | 运营商名称 |
---|---|
46000 | 中国移动 |
46001 | 中国联通 |
46002 | 中国移动 |
46003 | 中国电信 |
46005 | 中国电信 |
46006 | 中国联通 |
46007 | 中国移动 |
46011 | 中国电信 |
46020 | 中国铁通 |
2.2 网络类型
参考值 | 网络类型名称 |
---|---|
0 | 移动网络 |
4 | WIFI |
3. web端数据格式
{
"owner": "zg",
"st": 1493895485371, //会话开始时间(unixtime,毫秒)
"debug": 0, //是否开启了实时调试,0为关闭,1为开启
"data": [ //数据部分
{
"dt": "evt", //数据类型,evt代表事件,ss代表会话开始,se代表会话结束,usr代表用户信息,pl代表设备信息,abp代表全埋点事件
"pr": { //"$"开头代表诸葛默认采集的属性,"_"开头代表是用户上传的自定义属性
"$tz": 28800000, //时区
"$eid": "background", //事件名称
"$ct": 1493895485370, //事件触发时间(unixtime,毫秒)
"$sid": 1493895485370, //会话开始时间(unixtime,毫秒)
"$browser_brand": "Chrome", // 浏览器品牌
"$browser_version": 54, // 浏览器版本
"$url": "https://zhugeio.com", // 当前url
"$ref": "https://zhugeio.com", // 来源网址
"$utm_source": "", //utm参数
"$utm_medium": "",
"$utm_campaign": "",
"$utm_content": "",
"$utm_term": "",
"$referrerDomain":""
"_自定义属性名": "自定义属性值"
}
}
],
"tz": 28800000, //时区
"ip": "113.222.112.181", //ip地址,诸葛根据ip解析省份城市等信息
"sdkv": "2.0", //诸葛sdk版本
"ak": "1234567890987654321", //应用appkey
"ua": "CFNetwork/808.3 Darwin/16.3.0", //user-agent
"sln": "itn", //行业方案,itn互联网
"usr": {
"did": "D9A586EF-7999-4ED5-808E-321111ddeds" //设备id
},
"sdk": "zg-js", //诸葛sdk类型
"pl": "js", // 平台信息: js、android为and、iOS为ios
"ut": "2017-05-04 18:58:05" //上传时间
}