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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文节选自阿里云MVP第五期嘉宾阿里云产品专家赵弘扬分享话题《基于Elasticsearch构建网站日志处理系统》。介绍如何基于阿里云的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功能,欢迎开通使用。
点击了解更多产品信息

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
运维 监控 安全
在Linux系统中,认证日志
Linux系统中的认证日志对于安全监控和故障排查至关重要,常见的日志文件包括:`/var/log/auth.log`(Debian、Ubuntu)、`/var/log/secure`(RPM发行版)、`/var/log/lastlog`、`/var/log/faillog`、`/var/log/wtmp`和`/var/run/utmp`。这些文件记录登录尝试、失败、当前用户等信息。日志管理可通过文本编辑器、日志查看工具或`rsyslog`、`syslog-ng`等工具进行。注意日志位置可能因发行版和配置差异而变化,应确保日志文件的安全访问,并定期轮转归档以保护敏感信息和节省空间。
26 3
|
2月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
32 0
|
1月前
|
Unix Linux iOS开发
Elasticsearch如何配置日志
Elasticsearch如何配置日志
|
1天前
|
搜索推荐 Java 数据库
springboot集成ElasticSearch的具体操作(系统全文检索)
springboot集成ElasticSearch的具体操作(系统全文检索)
|
5天前
|
存储 数据可视化 数据建模
阿里云大佬叮嘱我务必要科普这个 Elasticsearch API
阿里云大佬叮嘱我务必要科普这个 Elasticsearch API
13 0
|
13天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在使用阿里云函数计算部署网站时,网站打开不稳定如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
169 0
|
14天前
|
存储 Serverless 网络安全
Serverless 应用引擎产品使用之阿里云函数计算中的Web云函数可以抵抗网站对DDoS攻击如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
23 0
|
14天前
|
监控 Linux 开发者
【专栏】`head`命令是Linux系统中用于快速查看文件开头内容的工具,常用于处理日志文件
【4月更文挑战第28天】`head`命令是Linux系统中用于快速查看文件开头内容的工具,常用于处理日志文件。基本用法包括指定查看行数(如`head -n 10 file.txt`)和与其他命令(如`grep`)结合使用。高级用法涉及动态查看日志、过滤内容、管道操作及在脚本中的应用。实际应用案例包括监控系统日志、排查错误和分析应用日志。使用时注意文件存在性、行数选择及权限问题。熟练掌握head命令能提升工作效率,结合其他工具可实现更多功能,助力Linux用户提升技能。
|
24天前
|
JavaScript Java 测试技术
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
141 3
|
24天前
|
存储 人工智能 自然语言处理
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统
阿里云向量检索 Milvus 版现已无缝集成于阿里云 PAI 平台,一站式赋能用户构建高性能的检索增强生成(RAG)系统。您可以利用 Milvus 作为向量数据的实时存储与检索核心,高效结合 PAI 和 LangChain 技术栈,实现从理论到实践的快速转化,搭建起功能强大的 RAG 解决方案。
基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统

相关产品

  • 检索分析服务 Elasticsearch版