【产品解读】阿里云 Elasticsearch 在日志场景中实现“低成本高性能”

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: “日志数据”正逐步成为互联网公司的重要资产,基于对“日志数据”的挖掘与分析,已成为优化企业对业务的变现能力与技术迭代效率的利器。但面临如此海量的数据,你真的准备好了吗?

本文字数:1435
预计阅读:3~5分钟

您将了解:
1、数据写入导致的高并发集群打爆问题,如何解决?
2、TB、PB级数据如何降低存储成本?
3、原生Elasticsearch在时序查询上的瓶颈如何突破?
4、峰谷差异大,如何避免闲置成本?

image.png

【全链路云上Elastic Stack 全景图】100%兼容开源,9大独有能力

----> 直播回顾 | 请点击观看 :阿里云Elasticsearch日志增强版介绍

寻根问源


image.png

日志场景面临的问题

日志场景是Elasticsearch使用中较为常见的场景,而大量日志数据让企业在追求经济效应与性能效应的同时,对产品本身提出了更为苛刻的要求。

1、高并发写入问题:
Elasticsearch在日志数据写入过程中,会同时对主副分片同步写入,还会去写开销较大的trancelog,从而造成Elasticsearch在高并发写入的时候,对机器CPU以及I/0的性能开销提出了更高的要求。

2、高存储成本问题:
日志数据的存储,往往需要对海量的数据进行存储,起步数据量都是在TB级别,有的企业甚至达到了PB级,而为了数据容灾性,还需要保存至少一个副本,这将对存储带来进一步的成本压力。

3、时序分析性能差
由于Elasticsearch的查询特征,会查一遍所有的segment,当你做较大范围range以及复杂聚合时,他的性能瓶颈就会立马凸显出来。

4、弹性可伸缩问题
日志随着业务变化,往往伴随峰值、均值和谷值的出现,且差异较大,企业通常为了解决峰值问题,会堆较多的机器已便满足峰值需求,那么“均值”、“谷值”期间就会造成机器资源大量浪费。

对【症】下药


1、计算存储分离:大幅提升日志高并发写入能力

计算存储分离的前提是将Elasticsearch的所有节点存基于NFS共享存储。【如图】数据流的写入请求,会先写到主分片,再写入到共享存储,而NRT segment会拷贝到临时目录,那么主分片与副分片在读取时就会存在差异,主分片仅读取commit segmen A,和refresh segment B,副分片读取的A’、B’。

image.png

计算存储分离的【核心思路】

1、 索引分片一写多读,且仅保留一个副本数据,降低存储成本,提升写入性能。
2、 依赖云存储保证数据可靠性:CTF底层具备三副本冗余机制,对云业务是透明的,保障数据不丢失。同时阿里云在面对极端情况下,备有分钟级的OSS自动备份机制,进一步提升数据可靠性。
3、 状态与索引分离。
4、 通过IO fence机制保证数据一致性,避免主进程僵死情况下双写的问题。
5、 内存物理复制降低主备延迟,从分钟级,降低至毫秒级。

2、秒级弹性扩缩容:避免因日志峰谷导致的“资源闲置”

image.png

3、物理复制状态机:不写实时索引,也能保证数据时效性

image.png

最佳应用实践


image.png

案例展示(部分集群)

案例背景:在阿里云搜索业务线上,有很多集团内、外的客户,会使用我们各种底层服务。为了保障各个业务之间不受影响,我们会对这些服务做一系列的监控,通过采集大量复杂的Metric做大量聚合,建立Dashboard。但除了做Monitor,相伴而生一定会有告警,也就是Alarming,那么这样一套监控、告警平台,底下使用的就是我们量身定制的日志增强版Elasticsearch。

架构解读

1、运用MetricBeats采集大量Metric数据,通过Gateway,向Elasticsearch集群去传输数据,写入量大概是40W docs/s。
2、传输数据中,有冷、热数据的区分,就需要将冷、热数据做切分配置。
3、由于需要对数据容灾处理,我们将数据自动快照到OSS里。

案例说明

我们通过计算后发现,如果用开源的Elasticsearch做同样的事情,所付出的成本将是该方案的一倍之多。因为不光是阿里云Elasticsearch增强版存储更便宜,同时为了时序Metric的场景更高的聚合效率,我们对阿里云内核也做了一些优化。

你如果是基于开源自建的ES集群,为了能够在聚合查询时有更好的性能,最直接的方式是冗余更多的datenote,来保证性能,当然这样会带来更高的费用,阿里云日志增强版针对性的解决了这个问题,不需要冗余过多的datanote,举这个例子是为了更好的帮助大家理解阿里云Elasticsearch日志增强版的能力

这套服务在阿里云内部是适用的,我们也对外提供同样的能力,供大家选择。

“宗师级”能力对比


数据来源:真实POC数据,开源Elasticsearch与日志增强版对比

  • 同样性能,费用节约24%

image.png

  • 同样客户需求,性能优越140%,成本减少43%

image.png

  • 综合能力彰显“宗师级”

image.png

相关活动


日志增强版_测试申请.png

扫码关注公众号‘Elasticsearch技术’,收获大咖最佳行业应用经验

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
105 6
|
11天前
|
存储 SQL 监控
|
1月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
11天前
|
自然语言处理 监控 数据可视化
|
11天前
|
运维 监控 安全
|
15天前
|
存储 监控 安全
|
14天前
|
存储 数据采集 监控
开源日志分析Elasticsearch
【10月更文挑战第22天】
44 5
|
1月前
|
SQL 存储 人工智能
阿里云日志服务的傻瓜式极易预测模型
预测服务有助于提前规划,减少资源消耗和成本。阿里云日志服务的AI预测服务简化了数学建模,仅需SQL操作即可预测未来指标,具备高准确性,并能处理远期预测。此外,通过ScheduledSQL功能,可将预测任务自动化,定时执行并保存结果。
63 3
|
1月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
12天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
119 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板

相关产品

  • 检索分析服务 Elasticsearch版