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

简介: 本文对 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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
11月前
|
机器学习/深度学习 文字识别 监控
安全监控系统:技术架构与应用解析
该系统采用模块化设计,集成了行为识别、视频监控、人脸识别、危险区域检测、异常事件检测、日志追溯及消息推送等功能,并可选配OCR识别模块。基于深度学习与开源技术栈(如TensorFlow、OpenCV),系统具备高精度、低延迟特点,支持实时分析儿童行为、监测危险区域、识别异常事件,并将结果推送给教师或家长。同时兼容主流硬件,支持本地化推理与分布式处理,确保可靠性与扩展性,为幼儿园安全管理提供全面解决方案。
501 3
|
12月前
|
存储 JSON 数据格式
ElasticSearch基础概念解析
以上就是ElasticSearch的基础概念。理解了这些概念,你就可以更好地使用ElasticSearch,像使用超级放大镜一样,在数据海洋中找到你需要的珍珠。
329 71
|
12月前
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
715 27
|
12月前
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
446 4
|
12月前
|
存储 弹性计算 安全
阿里云服务器ECS通用型规格族解析:实例规格、性能基准与场景化应用指南
作为ECS产品矩阵中的核心序列,通用型规格族以均衡的计算、内存、网络和存储性能著称,覆盖从基础应用到高性能计算的广泛场景。通用型规格族属于独享型云服务器,实例采用固定CPU调度模式,实例的每个CPU绑定到一个物理CPU超线程,实例间无CPU资源争抢,实例计算性能稳定且有严格的SLA保证,在性能上会更加稳定,高负载情况下也不会出现资源争夺现象。本文将深度解析阿里云ECS通用型规格族的技术架构、实例规格特性、最新价格政策及典型应用场景,为云计算选型提供参考。
|
12月前
|
负载均衡 JavaScript 前端开发
分片上传技术全解析:原理、优势与应用(含简单实现源码)
分片上传通过将大文件分割成多个小的片段或块,然后并行或顺序地上传这些片段,从而提高上传效率和可靠性,特别适用于大文件的上传场景,尤其是在网络环境不佳时,分片上传能有效提高上传体验。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
463 2
|
12月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1125 29
|
12月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
470 4
|
12月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章

相关产品

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

    更多
  • DNS