阿里云ES全观测引擎TimeStream时序增强功能重磅发布,助力时序场景实现最佳实践

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 阿里云ES全观测引擎TimeStream时序增强功能最新发布,在云原生ELK全托管基础上,通过TimeStream时序增强功能插件,可实现高性能、低成本时序数据存储和查询分析。本文介绍TimeStream适用场景、功能优势、性能测试结果和实践案例

Elasticsearch的全观测能力

视频介绍>>


随着企业IT系统拓扑结构日趋复杂,系统架构从单体道分布式再到微服务,部署模式从物理服务器部署到虚拟化再到容器化应用,基础设施上云后开发模式也从传统瀑布式到DevOps开发运维结合。复杂的系统链路中多种数据源背后,是不同的数据类型,以及极高的海量非结构化数据的统一采集、加工、存储和维护成本。在传统SRE运维场景之外,企业业务场景在实时分析、安全审计、用户行为、运营增长、交易记录场景衍生出各类应用,由此带来多套观测方案交织,维护成本大幅提升,同一个业务组件或系统,产生的数据不同方案中数据难互通,无法充分发挥数据价值。

由此,各个企业也越发关注对系统可观测能力的建设,迫切需要把各类数据在统一平台进行存储、监控和检索分析。业内公认,log、metric、trace是全观测的三大支柱,通过搭建统一的观测系统,在运维场景帮助运维人员在「事前」了解系统运行状态,「事中」快速定位故障,「事后」根因分析,以此提升系统高可用,降本增效。但在全观测技术演进过程中,不仅需要跨云、跨业务系统实现日志和时序数据的观测,而日志、时序等各类数据场景支撑的技术原子工具繁多,工具之间的衔接困难,技术组价及平台的维护成本高。

可观测作为Elastic三大核心解决方案之一,基于Elasticsearch全观测能力可以统一收集日志、指标、uptime数据、应用程序跟踪tracing数据,并将各类数据统一存储到 Elasticsearch,进行统一处理分析并基于Kibana 完成可视化。从而可观测场景下实现了技术栈统一,SRE团队也无须基于多种技术组件搭建可观测平台。




在全观测场景下,阿里云Elasticsearch在基于云原生Serverless日志引擎能力,持续优化在海量日志数据的写入性能及存储成本。而在对Metric时序数据的存储和处理过程中,往往会面临以下几个问题:



image.png


TimeStream是什么?


TimeStream是阿里云Elasticsearch团队自研,并结合Elastic社区时序类产品特性共建的时序引擎。在云原生ELK全托管基础上,通过TimeStream时序增强功能插件,可实现高性能、低成本时序数据存储和查询分析。


阿里云ES TimeStream的优势


作为Ali内核深度整合的阿里云ES时序场景核心技术,Timestream大幅优化了阿里云ES时序场景的成本、性能和易用性:


  • 数据管理提效:基于Timestream时序数据模型及增删改查,集成Elasticsearch在时序场景的最佳实践模板,大幅降低了Elasticsearch管理时序指标数据的门槛
  • 查询体验提升:支持使用PromQL查询Elasticsearch数据,可无缝对接Prometheus+Grafana,支持DownSample采样查询和DataStream时间分区
  • 存储成本优化:通过数据压缩优化、元数据存储容量优化,TimeStream索引相比开源Elasticsearch普通索引的存储容量降低了80%以上
  • 读写性能提升:TimeStream索引相比开源Elasticsearch普通索引写入TPS提升近40%,对于时序数据的常用查询分析,性能相比开源Elasticsearch提升了5倍


与开源对比


时序场景中Elasticsearch在使用和不使用TimeStream插件情况下,场景化配置、存储、查询对比如下:


对比项

使用TimeStream

不使用TimeStream

场景化配置

TimeStream引擎原生支持时序类型数据模型,自动生成_tsid,indexing sort优化

需要用户进行大量指标场景最佳实践,例如生成一个时间线id字段,使用时间线id和时间配置indexing sorting,使用时间线id做routing等

存储

  • ali-codec插件支持通过doc_values生成_source
  • 支持不存储_id
  • ali-codec在时序场景压缩优化
  • 时序场景_id、_source等元数据字段占用70%+存储容量
  • doc value对double类型压缩不友好,时序场景数据相似度很高,double数据却基本没压缩

查询语句

支持PromQL查询DSL

专门构建query DSL查询Metric数据

降采样

简单配置时间间隔,即可支持降采样功能

需要用户侧自行进行降采样处理

时间分区

按照实际数据分区,一个时间范围的数据会分布在确定的索引中

按写入的顺序分区,一个时间范围的数据可能分布在很多索引中


性能对比


从benchmark对比结果看, 阿里云Elasticsearch基于TimeStream实现了Elasticsearch时序读写性能大幅提升,核心性能与传统开源时序类产品处于同一级别


存储容量方面

TimeStream索引相比开源Elasticsearch普通索引存储容量降低超过80%

TimeStream支持不存储_id,使得与同等条件下存储_id的普通索引相比,存储容量降低超过90%,与开源时序数据库持平;



写入性能方面

TimeStream索引相比开源Elasticsearch普通索引提升写入TPS提升近40%


1659511155379-c8b24db1-3aef-4ac4-98b5-93d489c55af9.png


查询性能方面

单并发简单查询,阿里云ES接近开源时序产品;

单并发复杂查询,阿里云ES TimeStream查询性能表现更优。

多并发,简单和复杂查询语句下阿里云ES TimeStream 查询性能表现更优




实践案例

案例A:TimeStream管理Elasticsearch时序数据快速入门


STEP1 购买和使用


TimeStream目前支持阿里云ES 7.16版本实例(内核版本1.7.0及以上)



通过系统默认插件列表查看是否已安装Aliyun-TimeStream插件,确认拥有TimeStream最新功能




STEP2 创建TimeStream时序数据索引


在Kibana控制台通过time_stream的create接口创建时序数据类型索引,命令及返回结果如下。



STEP3 写入数据


使用bulk、index接口写入数据,写入时需按照时序模型写入(模型字段可修改),命令及返回结果如下。



STEP4 查询数据


使用search接口查询数据,以及使用cat indices接口查看test_stream具体索引信息,命令及返回结果如下:



STEP5 使用DownSample功能


通过time_stream的create接口创建时,可直接指定DownSample规则,通过配置interval设定downsample精度,示例如下:

相关文档>>


案例B:使用阿里云ES TimeStream对接Prometheus+Grafana实现可观测性


阿里云Elasticsearch支持无缝对接Prometheus+Grafana,支持Prometheus Query相关的API,可以直接将TimeStream索引作为Grafana的Prometheus数据源使用,能够提高时序数据存储与查询分析的性能,同时节约成本。

通过node_expoter收集各种与硬件和内核相关的指标,并提供给Prometheus进行读取,再通过remote write将数据写入阿里云ES TimeStream索引,并通过配置Grafana进行可视化分析。



下图示例在Grafana配置Prometheus数据源,使用PromQL查询作为Prometheus数据源的阿里云ES数据,访问并可视化。


相关文档>>



相关文档

 TimeStream时序增强引擎介绍 - 检索分析服务Elasticsearch版 - 阿里云

 使用Aliyun-TimeStream插件 - 检索分析服务Elasticsearch版 - 阿里云

 TimeStream集成Prometheus接口 - 检索分析服务Elasticsearch版 - 阿里云

 TimeStream管理Elasticsearch时序数据快速入门 - 检索分析服务Elasticsearch版 - 阿里云

 基于TimeStream对接Prometheus+Grafana实现可观测性 - 检索分析服务Elasticsearch版 - 阿里云


联系我们(钉群二维码)

更多可观测场景架构及使用最佳实践交流,欢迎扫描二维码加入钉群>>

阿里云ES 1元包月试用>>👆🏻

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
ElasticSearch Task命令说明
ElasticSearch task相关命令,以及返回信息解读。
5698 0
ElasticSearch Task命令说明
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
257201 0
|
2月前
|
数据采集 人工智能 定位技术
分享一个开源的MCP工具使用的AI Agent 支持常用的AI搜索/地图/金融/浏览器等工具
介绍一个开源可用的 MCP Tool Use 通用工具使用的 AI Agent (GitHub: https://github.com/AI-Agent-Hub/mcp-marketplace ,Web App https://agent.deepnlp.org/agent/mcp_tool_use,支持大模型从Open MCP Marketplace (http://deepnlp.org/store/ai-agent/mcp-server) 的1w+ 的 MCP Server的描述和 Tool Schema 里面,根据用户问题 query 和 工具 Tool描述的 相关性,选择出来可以满足
|
7月前
|
人工智能 自然语言处理 安全
Bolt.diy:更灵活更开放的AI全栈开发工具
Bolt.new是一款爆火的AI全栈开发工具,允许用户在浏览器中运行Node.js环境并通过自然语言生成、编辑和部署Web应用。然而,它存在一定的封闭性,仅支持官方指定的大语言模型和Netlify部署。而Bolt.diy作为其开源版本,功能更强大灵活,支持多种大模型选择(如OpenAI、Anthropic等)、丰富的输入方式及多云部署选项(如Vercel、AWS)。此外,Bolt.diy还提供本地文件同步、代码下载到GitHub等功能,适用于快速原型设计、教育与企业级开发等多种场景。
419 1
Bolt.diy:更灵活更开放的AI全栈开发工具
|
存储 人工智能 自然语言处理
Lindorm作为AI搜索基础设施,助力Kimi智能助手升级搜索体验
月之暗面旗下的Kimi智能助手在PC网页、手机APP、小程序等全平台的月度活跃用户已超过3600万。Kimi发布一年多以来不断进化,在搜索场景推出的探索版引入了搜索意图增强、信源分析和链式思考等三大推理能力,可以帮助用户解决更复杂的搜索、调研问题。 Lindorm作为一站式数据平台,覆盖数据处理全链路,集成了离线批处理、在线分析、AI推理、融合检索(正排、倒排、全文、向量......)等多项服务,支持Kimi快速构建AI搜索基础设施,显著提升检索效果,并有效应对业务快速发展带来的数据规模膨胀和成本增长。
|
存储 SQL 人工智能
【云栖实录】Hologres3.0全新升级:一体化实时湖仓平台
2024年云栖大会,Hologres 3.0全新升级为一体化实时湖仓平台,通过统一数据平台实现湖仓存储一体、多模式计算一体、分析服务一体、Data+AI 一体,发布 Dynamic Table、External Database、分时弹性、Query Queue、NL2SQL 等众多新的产品能力,实现一份数据、一份计算、一份服务,极大提高数据开发及应用效率。同时,Hologres 的预付费实例年付折扣再降15%,仅需7折,不断帮助企业降低数据管理成本,赋能业务增长。
|
存储 数据管理 Linux
Linux - 记录问题:docker 迁移 更改镜像默认位置的注意事项
Linux - 记录问题:docker 迁移 更改镜像默认位置的注意事项
361 0
|
运维 前端开发 Java
云巧组装式交付介绍
Gartner在2021年10月19日,正式发布了2022年重要战略趋势。其中包括了“组装式应用”这一战略。 云巧是“组装式应用”理念的落地,是围绕生态,面向产业的首个产业数字组件中心。 你可以从本文了解组装式开发的理念,以及阿里云GTS通过组装式理念交付项目的最佳实践:云巧。 如果你是阿里及阿里云生态合作伙伴的开发者,可以进一步访问云巧首页:https://gts.work/portal/yunqiao ,进一步了解云巧的能力。 即使你不是阿里及阿里云生态合作伙伴的开发者,也可以在自己的日常的开发过程中通过运用可组装式理念提升业务交付效率。
5963 1
云巧组装式交付介绍
|
JSON 监控 Java
Spring Boot中的自定义健康检查
Spring Boot中的自定义健康检查
|
存储 缓存 Java
Java线程池ThreadPoolExcutor源码解读详解06-阻塞队列之SynchronousQueue
SynchronousQueue 是 Java 中的一个特殊阻塞队列,它没有容量,实现线程间的直接对象交换。这个队列的特点和优缺点如下: 1. **无容量限制**:SynchronousQueue 不存储任何元素,每个 put 操作必须等待一个 take 操作,反之亦然。这意味着生产者和消费者必须严格同步。 2. **阻塞性质**:当一个线程试图插入元素时,如果没有线程正在等待获取,那么插入操作会阻塞;同样,尝试获取元素的线程如果没有元素可取,也会被阻塞。 3. **公平与非公平策略**:SynchronousQueue 支持公平和非公平的线程调度策略。公平模式下,等待时间最长的线程优先
233 5

热门文章

最新文章