Flume HttpSource 该怎么操作?前端埋点得到的数据可以用 Flume 收集吗?

2019-03-12 10:49:55 +08:00
 AslanFong

Hi!All

有个关于 flume HttpSource 的问题想请问一下大家。

上下文:我想用 flume 的 httpsource 收集来自前端页面中埋点的信息。前端是 react,用 axios 发送 POST 请求。服务器上的 flume 版本是 1.6.0-cdh5.7.0,默认用的是 JSONHandler。

出现的问题是,document 上说 httpsource 接受的数据需要是 One way to create an event in the format expected by this handler is to use JSONEvent provided in the Flume SDK and use Google Gson to create the JSON string using the Gson#fromJson(Object, Type) method.需要 Java 实体对象的意思?

那么是不是需要我先把埋点得到的数据发到服务器转换成实体类,再交给 flume 使用?我总觉得这样略尴尬,需要这一部分转换的话,我宁愿选择其他的 flume source,何必需要 httpsource ?

不知道是不是我的理解有问题,还是操作不对。恳请各位大佬给点指导,或者提供其他什么方案🙏🏻 谢谢!!

1447 次点击
所在节点    问与答
4 条回复
AslanFong
2019-03-12 10:58:49 +08:00
是不是我的想法有问题呢?

直接用 postman 发送 POST 请求,结果是 500 Deserializer threw unexpected exception. Null
AslanFong
2019-03-12 11:17:23 +08:00
刚刚在网上查找了一下相似的方案,大致就是先把 json 传给服务器,用 Gson 转换发给 flume。真的感觉这样略显尴尬?还有什么其他方案吗?从前端得到的怎么埋点数据怎么记 log ?
AnyISalIn
2019-03-12 11:22:07 +08:00
前端埋点不太了解,但如果直接发给 flume 意味着要暴露公网,肯定是不太安全的,转发安全性和扩展性都更好一些
AslanFong
2019-03-12 11:43:47 +08:00
@AnyISalIn 大致明白了,应该是少不了转发这一步。可是这样一想,flume 的这个 httpSource 要解决的需求到底是什么,我还是有点迷惑。既然需要转发,为何不寻找其他的方案呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/543592

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX