Elasticsearch 全观测技术解析与应用(一):走进阿里云ES

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文对 Elasticsearch 进行了整体介绍,包括 Elasticsearch 生态矩阵的构成,它 所具备的低成本和强功能等特性,以及与搭建开源 ES 服务相比阿里云 Elasticsearch 所 具备的优势。此外,还对 Elasticsearch 全观测产品能力、架构、技术难点和实践案例进 行了分享。希望通过本文,大家能对 Elasticsearch 和全观测有更全面的认识。

点击免费下载
《Elasticsearch 全观测技术解析与应用》>>>

分享嘉宾:沐泽 —— 阿里云 ES 产品经理

本文主要对 Elasticsearch 进行整体的介绍,以及在阿里云 Elasticsearch 上的全观测 产品能力及最佳实践。

Elasticsearch 是业内比较热门和主流的信息检索分析引擎,在 DB-Engine 指数排行上 是全球热度第 7 的数据库,也是全球热度第一的检索引擎。

Elasticsearch 在很多行业的场景下有非常多的应用,比如在企业搜索中的信息查询和在日 志检索和分析中的应用。除此之外,它在金融、零售等行业中还能做数据分析和可视化,以 及订单查询和 Elasticsearch 本身所包含的地理位置查询。

image.png

Elasticsearch 开源受到广大开发者的使用和接受并不只是基于 Elasticsearch 这一个检 索引擎,除了 Elasticsearch 之外,它还包括 Beats, Logstash, Kibana 这一套生态矩 阵。它是构建于 Apache Lucene 搜索引擎库之上的分布式全文搜索和分析引擎,提供搜 集、分析、存储数据三方面能力。

通过 Beats 这个轻量级数据采集工具,数据能进入 Elasticsearch 系统。它集合了多种单 一用途数据采集器,它们从成百上千或成千上万台机器和系统向下游发送数据。而在这套生 态矩阵中,Beats 的下游就是 Logstash。Logstash 作为收集、过滤、传输数据的工具, 能针对各种各样的日志数据做一些预处理和过滤。数据经过采集和处理,最后到 Elasticsearch 这样一个检索系统中进行存储,然后我们可利用 Kibana 去做业务上的可视 化报表和大盘分析的搭建。

image.png

从 Beats, Logstash, Elasticsearch 到 Kibana 的这套开源生态矩阵,能帮用户解决各 种各样的场景问题。目前阿里云上已提供了一个全托管的服务,用户不必再购买服务器和进 行搭建,在阿里云上就可以直接一键开通整套服务。

一、那么阿里云在这套生态矩阵中做了一些什么事?它又有哪些 特性和优势?

在开源生态下,Elasticsearch 有一套 X-Pack 商业插件,它包含数据权限、可视化、机 器学习等能力,价值达到 6000 美元,而在阿里云上创建 Elasticsearch 服务,则可自动 免费开启 X-pack 插件。

从下面这张图可以看到 Elasticsearch 端到端分析检索的架构,从数据采集、数据加工、 搜索引擎到上层应用。在搜索引擎层,除了支持免费的商业插件外,我们在 Elasticsearch 的管控上还做了很多安全上的能力,如异地容灾和热重启能力,以便帮助用 户更好地去运维这一套集群。

随着业务规模的扩大,整个 Elasticsearch 的运维成本非常高,而阿里云已经在 3 年间积 累了丰富的大规模集群的管理和运维经验,并通过智能运维、高级监控报警等产品能力向我 们的客户赋能。

image.png

我们很多用户使用的 Elasticsearch 内核是开源的,而阿里巴巴有专门的 Elasticsearch 内核团队,针对场景去做性能和成本上的优化。比如日志增强版内核,就专 门针对大规模的数据量做了包括索引压缩和计算存储分离等在内的能力。除此之外,在一些 搜索场景下面还会有达摩院分词,除了文本搜索,还提供一些向量检索的能力,以帮助客户 更好地实现业务需求。

基于这样一套数据引擎,我们的用户能搭建自己各种业务运营的上层应用,比如监控告警、 全要素搜索、APM 服务等。而在数据采集层,我们全方位托管了 Beats 和 Logstash,从而能帮助用户更好地同步数据,不论是来自阿里云的、开源的,或是其他云 厂的。

通过这样一套端到端的分析检索架构,我们能为用户提供更丰富的分析检索能力,也让云上 整体的 Elasticsearch 服务具备更高的可用性和安全特性。

目前,阿里云上有 30 多个行业上千位客户在使用我们的服务。在公共云的环境下,我们不 仅能覆盖国内大部分地区和海外的一些数据中心,还能支持一些本地化的专有云的交付和提 供混合云的方案,使不同行业的用户都能够很好地去使用我们这套服务。

二、与搭建开源 ES 服务相比,阿里云 Elasticsearch 的优势 在哪里?

下面这张图我们整理了 Elasticsearch 与搭建开源 ES 服务的对比,在各个业务场景下, Elasticsearch 带来了全方位的能力提升与性能优化。包括云上的全套托管、超低的运维成 本、降低大数据量的存储成本、一键搭建集群、集群平滑扩缩、向量检索、QoS 索引级别 限流等等…

尤其在安全性和高可用方面,大家搭建开源 ES 服务的时候没有那么多精力去做安全特性的 补充,所以我们做了一些 HTTP 的传输加密和内网环境管控等。同时,我们的数据可靠性 和服务可靠性都达到几乎满分,能尽可能地保证客户在实现业务的时候不受到不稳定因素的 影响。

image.png

三、什么是全观测?Elasticsearch 全观测能力如何 ?

我们对全观测概念的理解,是将日志、指标、APM 等数据在一个平台进行统一分析,而这 样的能力正是 ELK,也就是 Elasticsearch 全观测解决方案所能提供的,它能帮助用户在 ELK 平台上建立统一的可视化视图。另外,通过全链路问题的追踪,还能设置统一的监控报警规则,甚至能利用机器学习的能力对未来情况进行预判。

image.png

从整体业务场景看,每个企业的系统中存储了各种日志和指标数据,而随着整个运维系统搭 建得越来越成熟,我们收集的数据也越来越丰富。比如对一套日志的分析,日志分析能力已 经不能满足全链路观测的需求了,我们需要收集更多的数据并做后续的处理和结构化,并通 过可视化进行呈现。

另外,上层的数据可视化监控告警,最传统的也是基于一些规则进行监控告警。而随着这套 运维系统的成熟,我们后续做的数据分析也不仅仅是简单的规则类分析和告警,更多的是可 以做一些关联分析,以及利用机器学习的能力去利用分散在系统各处的数据,让其发挥价值。 以上这些,正是全观测运维系统所需要具备的能力。

在直播、游戏等很多行业中,他们非常需要数据去做一些用户行为研究和整体链路的优化, 从而为核心业务带来提升。而要让这套运维系统发挥业务价值,就取决于我们如何处理这些 数据,如何更好地获取和分析数据所代表的真实含义。Elasticsearch 正具备这样的全观测 能力,它区别于简单的日志处理和大数据分析,是能在同一个平台进行分析的全观测解决方 案。

image.png

我们可以通过下面的架构图看到 ELK 在运维监控全链路上的能力。通过 Packetbeat 对网 关的数据做收集,通过 Metricbeat 对业务服务器上的指标进行收集,通过 Filebeat 做日 志相关的收集,以及利用 APM 的 agent 对用户实时行为做链路追踪。

通过对各种数据来源进行采集,我们会将其下发到 Kafka 组件,随后通过 Logstash 进行 格式转化和结构处理,最后将数据传输到整个 Elasticsearch 集群里面,并基于上层的可 视化组件搭建可视化的大屏。

除此之外,我们还能去接入非常完备的一套告警配置和告警对接,因为对数据进行实时链路 追踪的同时,也需要我们对异常进行捕捉和判断,并通过短信网关等方式将这些判断及时返 回给系统负责人,实现告警对接。

image.png


可以看到,这套日志分析和运维监控的链路非常复杂,而它们的难点也是共通的。

第一个是高并发写入。由于系统采集的数据的类型和量非常大,所以 Elasticsearch 集群 很容易因为高并发写入和流量的波动导致其稳定性受到影响。

image.png

第二个是存储成本高。我们的系统通常涉及到 TB 级甚至 PB 级的数据,所以它们的存储成 本也是需要考虑的一点。有些场景下数据可能只是做一些审计,所以需要我们对系统进行优 化,比如通过冷热的方案降低同数据量下我们的存储成本。

第三个是时序分析性能差。由于 Elasticsearch 内核上的限制,当它遇到一些复杂的聚合、 Range 等查询时有性能瓶颈,这是我们后续优化需要考虑的问题。

第四个是可伸缩性。比如游戏行业,可能白天和晚上出现数据的谷值和峰值,这就需要我们 去弹性地解决流量波动问题,降低低流量场景下闲置资源的成本,同时快速扩容峰值所需要 的集群配置。

针对这些问题,阿里云团队推出了 Elasticsearch 日志增强版,专门针对 Elasticsearch 内核做了一些计算存储分离相关的改造,从而能让整体写入性能得到提升。 同时,通过底层映射同一块物理盘,我们在集群伸缩的时候不需要迁移里面的数据,实现秒 级弹性扩缩容。

此外,我们还实现了索引分片一写多读,数据只保存一份,以及通过云存储保证了数据的可 靠性,通过 IO fence 机制保证了数据的一致性。

image.png

四、什么时候用日志增强版?

当日志量达到 TB 级的时候,我们就建议使用日志增强版。此外,在增量日志并发高的时候, 其峰值写入能达到 10W docs/s,并且会自动帮用户进行副本存储,保证数据不会丢失。

image.png

有一些行业对全观测有特别的需求,比如游戏和教育行业。

现在线上直播课程很火,但是过程中学生可能会产生很多行为动作,比如进入和退出直播间、 评论、对话等,而如果这些动作没有响应,我们就需要对整体链路进行测试、追踪和定位问 题。而且,在线教育行业并不仅仅提供给内部,还会提供给外部第三方或平台方,这就更需 要保证链路可以监控和观测。另外,在游戏行业中会产生了大量的日志数据和用户行为数据, 我们需要更好地对其进行追踪、检索和做后续的分析,以推动游戏的进一步优化。以上这些, 都是全观测所能提供的场景化解决方案。

六、有哪些场景痛点?

1、流量波动,集群缺乏弹性。我们刚才说,集群需要能对业务进行适应性的收缩,如果是 搭建开源 ES 服务方案可能会面临供应链成本冗余或不足的问题,而且因为没有专门的 团队去运维集群,会导致运维成本高或降低业务开发者精力的问题。

2、链路冗长,问题难定位。刚才我们说要追踪端到端数据链路的问题,如果因为链路冗长、 监控不完备导致异常定位的话,成本也会非常高。

3、高稳定性要求,成本高。就整体服务而言,这套系统有很高的稳定性需求,因为不止向 内部提供,还要给第三方使用。

4、搜索要求高。不仅是全文检索,还有非文本检索需求,这会导致搜索复杂。

七、产品有何能力?

1、体系化产品能力。除了提供在日志场景下的内核能力之外,云上还有数据和服务高可用 的能力,帮大家去实现了数据的存储加密和安全管控。

2、数据时效性。毫秒级的数据时效性,全链路数据监控秒级监控。

3、多云灾备解决方案。

4、TCO 成本优化。云上我们可以帮大家进行很多场景和性能上的调优,降低用户因配置 不合理导致的资源浪费。

5、专家级服务。云上我们有很多开发 Elasticsearch 和运维大规模集群的专家,能针对 用户的实际使用场景进行解决方案和架构的优化,解决技术难点。

image.png

八、用户案例:基于日志的业务数据监控

不只是教育行业,在很多场景下,我们能搭建这样一套业务的监控看板,对各类业务数据进 行监控,比如入侵监测、流量监测、交易额监测等。

image.png

九、用户案例:基于 APP 日志的用户行为分析

在游戏、电商和零售行业,他们会基于 APP 日志进行用户行为分析,我们可以在这里看到 不同用户的行为路径和操作,并针对这些情况进一步优化,提升用户的产品体验。

image.png

当然,Elasticsearch 的场景不只是日志和全观测这一套,它还包括很多上层的检索能 力,能应用到很多行业中,比如在电商行业中做商品和数据的检索,进行一些订单处理和业 务数据分析等等。后面也会有专门的架构师和工程师对 Elasticsearch 进行分享,请大家 继续关注我们的课程。

image.png


image.png

阿里云Elastic Stack】100%兼容开源ES,独有9大能力,提供免费 X-pack服务(单节点价值$6000)

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费
下载白皮书:Elasticsearch 八大经典场景应用


image.png

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1天前
|
存储 搜索推荐 编译器
C语言数组深入解析与实战应用
C语言数组深入解析与实战应用
4 0
|
2天前
|
XML 网络协议 Java
XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览
XML Web服务是基于WSDL、SOAP、RDF和RSS等标准的网络应用程序组件技术。WSDL描述服务接口和消息格式,SOAP用于结构化信息交换,RDF描述网络资源,RSS则用于发布网站更新。Web服务特点是自包含、自描述,基于开放协议,可重用且能连接现有软件。WSDL文档包含`types`、`message`、`portType`和`binding`元素,定义服务操作和协议。SOAP协议规定消息格式,通过HTTP等传输。
9 1
|
2天前
|
机器学习/深度学习 数据采集 前端开发
【机器学习】随机森林:深度解析与应用实践
在机器学习的广阔天地中,集成学习方法因其卓越的预测能力和泛化性能而备受青睐。其中,随机森林(Random Forest)作为集成学习的一个重要分支,凭借其简单、高效且易于实现的特性,在分类和回归任务中展现了非凡的表现。本文将深入探讨随机森林的基本原理、核心构建模块、关键参数调优以及在实际应用中的策略与案例分析,旨在为读者提供一个全面而深入的理解。
13 2
|
2天前
|
安全 Java API
Java语言的特点及其应用深度解析
Java语言的特点及其应用深度解析
9 1
|
2天前
|
设计模式 前端开发 Java
Java与HTML的深度融合:技术解析与应用实践
Java与HTML的深度融合:技术解析与应用实践
|
2天前
|
Java 程序员 API
Java语言注释的深入解析与应用
Java语言注释的深入解析与应用
|
4天前
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
|
2天前
|
存储 固态存储 安全
租用阿里云企业级云服务器最新收费标准与活动价格参考
租用阿里云企业级云服务器多少钱?阿里云服务器有多种实例分类,其中通用型、计算型、内存型、通用算力型、大数据型、本地SSD、高主频型和增强型均属于企业级云服务器,目前在阿里云的活动中,通用型、计算型、内存型和通用算力型均有优惠,下面是阿里云企业级云服务器价格表,包含最新收费标准与活动价格,以表格形式展示给大家,以供参考和了解。
租用阿里云企业级云服务器最新收费标准与活动价格参考
|
6天前
|
存储 弹性计算 缓存
阿里云2核CPU云服务器租用收费标准与活动价格参考
阿里云2核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云2核CPU云服务器租用收费标准与活动价格参考

相关产品

  • 检索分析服务 Elasticsearch版
  • 推荐镜像

    更多