【阿里云MVP第五期】阿里云赵弘扬:基于Elasticsearch构建网站日志处理系统

嘉宾介绍

洪阳 阿里云搜索产品经理
从事多年大数据及搜索相关产品工作,在离线数据加工、离线调度系统、在线搜索等场景有深入研究。

Elasticsearch在离线和在线日志处理场景的应用

日志处理可以分为三个场景,离线场景、在线场景,以及流式场景。今天给大家分享的话题是,如何使用Elasticsearch和X-Pack在离线和在线日志处理场景的应用。
_

日志处理系统架构简介

我们通过搭建网站日志处理系统这个案例来探讨。便于理解,下面是一个简化的网络架构图。

_

导入到Elasticsearch的数据源可以非常多样化,比如各类beats,或者logstash,或者kafka等消息队列。在实际的应用环境中,架构可能非常复杂,维护成本也会非常高。在日志归档和日志搜索场景下,当日志量不大时,可以直接通过beats将服务器日志数据同步到ES里做索引,然后同过Kibana做在线查询或分析。但这样处理的弊端是,无法处理日志数据的结构。而Logstash的filter可以解决这个弊端,Logstash作为通道再将过滤处理后的日志推送到ES。

_
但在日志量不断增大,Logstash的处理压力越来越多,出现性能瓶颈。如果对ES数据做update,会导致数据不停做merge,内存、CPU开销激增,甚至影响到线上业务。所以,在企业级应用中,我们会前置消息队列系统,比如Kafka、MetaQ等。

_

我们再聊聊离线部分,日志处理不仅仅是检索日志这么简单的需求,还有用户画像挖掘等高级的数据探索。这是需要借助Hadoop、MaxCompute等离线计算引擎来来实现底层数据的挖掘。我们来看看整个的处理流程,数据库里面或者其他网络日志,通过离线的数据导入,进入到离线的计算引擎,然后进行数仓模型的加工,最终将数据通过ES-Hadoop插件或者是直接把数据同步到Elasticsearch里面去。

比如我需要搭建一个游戏APP的用户运营分析系统。可能会涉及到几方面的日志:

  • 服务器上面的用户访问行为,
  • SDK里面采集到的用户交互行为,如点击、滑动等操作
  • 记录在关系型数据库里面的用户交易行为
    可以通过如上所述的日志系统搜集和聚合这些散乱在各处的日志,然后索引在Elasticsearch里面,再通过Kibana去做在线行为分析。或者,我通过我本身的应用系统去调它,获取一个用户的模型结构。

利用ES中的Graph功能做数据探索

以手机APP的用户访问数据为例。通过访客关系探索的案例介绍X-Pack的Graph组件的相关功能和配置。Demo短视频:

另一个应用是基于用户协同过滤的个性化推荐。Demo视频即将上线,敬请期待。

阿里云MVP介绍

阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云技术的意见领袖。点击了解更多产品信息
阿里云 MVP Meetup 第5期活动视频回顾。点击观看

加入钉钉技术讨论群

dingQR

阿里云Elasticsearch已正式发布啦,Elastic开源官方联合开发,集成5.5商业版本XPack功能,欢迎开通使用。
点击了解更多产品信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值