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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
DeepSeek技术报告解析:为什么DeepSeek-R1 可以用低成本训练出高效的模型
DeepSeek-R1 通过创新的训练策略实现了显著的成本降低,同时保持了卓越的模型性能。本文将详细分析其核心训练方法。
259 11
DeepSeek技术报告解析:为什么DeepSeek-R1 可以用低成本训练出高效的模型
|
9天前
|
搜索推荐 数据挖掘 API
Lazada 淘宝详情 API 的价值与应用解析
在全球化电商浪潮下,Lazada 和淘宝作为东南亚和中国电商市场的关键力量,拥有海量商品数据和庞大用户群体。详情 API 接口为电商开发者、商家和分析师提供了获取商品详细信息(如描述、价格、库存、评价等)的工具,助力业务决策与创新。本文深入解析 Lazada 和淘宝详情 API 的应用场景及价值,并提供 Python 调用示例,帮助读者更好地理解和运用这两个强大的工具。
45 18
|
8天前
|
数据采集 搜索推荐 API
小红书笔记详情 API 接口:获取、应用与收益全解析
小红书(RED)是国内领先的生活方式分享平台,汇聚大量用户生成内容(UGC),尤以“种草”笔记闻名。小红书笔记详情API接口为开发者提供了获取笔记详细信息的强大工具,包括标题、内容、图片、点赞数等。通过注册开放平台账号、申请API权限并调用接口,开发者可构建内容分析工具、笔记推荐系统、数据爬虫等应用,提升用户体验和运营效率,创造新的商业模式。本文将详细介绍该API的获取、应用及潜在收益,并附上代码示例。
92 13
|
2天前
|
人工智能 自然语言处理 算法
DeepSeek模型的突破:性能超越R1满血版的关键技术解析
上海AI实验室周伯文团队的最新研究显示,7B版本的DeepSeek模型在性能上超越了R1满血版。该成果强调了计算最优Test-Time Scaling的重要性,并提出了一种创新的“弱到强”优化监督机制的研究思路,区别于传统的“从强到弱”策略。这一方法不仅提升了模型性能,还为未来AI研究提供了新方向。
104 5
|
19天前
|
搜索推荐 测试技术 API
探秘电商API:从测试到应用的深度解析与实战指南
电商API是电子商务背后的隐形引擎,支撑着从商品搜索、购物车更新到支付处理等各个环节的顺畅运行。它通过定义良好的接口,实现不同系统间的数据交互与功能集成,确保订单、库存和物流等信息的实时同步。RESTful、GraphQL和WebSocket等类型的API各自适用于不同的应用场景,满足多样化的需求。在测试方面,使用Postman、SoapUI和jMeter等工具进行全面的功能、性能和安全测试,确保API的稳定性和可靠性。未来,随着人工智能、大数据和物联网技术的发展,电商API将进一步智能化和标准化,为用户提供更个性化的购物体验,并推动电商行业的持续创新与进步。
51 4
|
19天前
|
搜索推荐 API 开发者
深度解析:利用商品详情 API 接口实现数据获取与应用
在电商蓬勃发展的今天,数据成为驱动业务增长的核心。商品详情API接口作为连接海量商品数据的桥梁,帮助运营者、商家和开发者获取精准的商品信息(如价格、描述、图片、评价等),优化策略、提升用户体验。通过理解API概念、工作原理及不同平台特点,掌握获取权限、构建请求、处理响应和错误的方法,可以将数据应用于商品展示、数据分析、竞品分析和个性化推荐等场景,助力电商创新与发展。未来,随着技术进步,API接口将与人工智能、大数据深度融合,带来更多变革。
61 3
|
3月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
101 5
|
4月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
412 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
5月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
6月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】

热门文章

最新文章

相关产品

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

    更多