幸福感大提升-SLS时序存储体验升级

简介: 时序引擎在可观测场景中的重要性Metrics作为IT可观测性数据的三剑客之一,是可观测场景的重要组成部分,相比Log、Trace数据,具备成本更低、数据源更丰富、适用面更广的特点,SLS在2年多前发布了时序存储引擎,并完全兼容了Prometheus的语法。目前已经有1万+的用户、10万+的实例,每天...

1. 背景

1.1 时序引擎在可观测场景中的重要性

Metrics作为IT可观测性数据的三剑客之一,是可观测场景的重要组成部分,相比Log、Trace数据,具备成本更低、数据源更丰富、适用面更广的特点,SLS在2年多前发布了时序存储引擎,并完全兼容了Prometheus的语法。目前已经有1万+的用户、10万+的实例,每天写入PB级别的时序数据。ref:《阿里可观测性数据引擎的技术实践》 作者:元乙

1.2 时序数据的易用性问题

SLS在第一天发布时序引擎时,提供了基础的可视化和指标选择能力,并支持在控制台输入SQL+PromQL的组合语法。但现有的使用方式,对于很多用户还是存在一定的挑战,例如:

  • 语法学习:不仅仅需要学习PromQL,还需要了解SQL+PromQL的组合使用方式,对于第一次接触的用户不是很友好

  • 语法错误排查:在对PromQL不是特别熟悉的情况下,写错查询语句往往需要不断试错才能发现错误点,尤其是在复杂Query的情况下,排查时间更长

  • 数据自动提示:为了更顺滑地编写PromQL,需要对PromQL关键词、MetricStore中存储的指标、Label等进行自动化提示

1.3 时序数据自身需要可观测

在发布之初,MetricStore主要对标Prometheus的分布式存储引擎,扮演类似TSDB的角色,提供了一个近乎无限容量、弹性扩容的版本。虽然可以任意使用,但从成本、查询效率的角度上,我们还需要一定程度地观测MetricStore本身,从中探寻MetricStore中存储了哪些数据、数据量多少、是否使用合理等。

从观测目的上,主要有以下两种需求:

数据统计分析:快速了解MetricStore中存了多少个指标、时间线,TOP的数据主要有哪些,和1天、7天相比数据量增加了多少...

数据治理:从成本、时间线膨胀优化的角度出发,快速找到大数据量的指标、发现时间线膨胀,自动发现一些异常并给出治理的建议...

2. 升级概要

此次升级的核心功能如下:

  • 全新时序查询主页面

  • 提供时序库指标探索功能

  • 全方位PromQL自动提示补全

  • 专为时序场景服务的Metric Prometheus

  • 数据统计分析与治理

2.1 和旧版本、开源方案对比

功能

SLS旧版本

Grafana 9.2.4

SLS新版本

指标探索

☑️ 只支持指标名浏览

☑️ 只支持基础信息

✅ 支持指标名、标签名、标签值、构造SQL,展示时间线、唯一数等信息。支持正则筛选、手动输入

PromQL语法

❌ 不支持

☑️ 支持

✅ 支持,自动补全更友好

PromQL解释

❌ 不支持

☑️ 支持,但信息较少

✅ 支持,提供语法树状解析、实时语法错误提示

图表渲染

❌ 2k数据点渲染瓶颈

✅ 更高的图表性能(7.4)

✅ 更高的性能,100000+ 数据点/0.1s

一键同环比

☑️ 支持,性能较差

❌ 不支持

✅ 支持,性能大幅提升

时序库可观测

❌ 不支持

❌ 不支持

✅ 快速找到大数据量的指标、发现时间线膨胀,提供链路式优化数据,提升数据质量方案

2.2 核心功能体验

案例一:利用PromQL 查询时序库(MetricStore)数据

案例二:时序库探索

3. 易用性提升

3.1 PromQL全方位语法提示

旧版本

新版本

PromQL语法支持、高亮显示

❌ 自动补全功能

(有,但为SQL语法的补全)

❌ 提示语法错误

✅ 完全的PromQL语法支持、高亮显示

✅ 自动补全函数、聚合函数、指标名、标签名、标签值、括号、时间单位

✅ 实时提示语法错误,无需执行语句

✅ 提供语法解析树,对长难句可以有更清晰的理解和更准确地排错

支持的自动补全内容

1. 聚合函数

2. 函数

3. 指标名

4. 标签名

5. 标签值

6. 时间范围

3.2 时序数据探索

旧版本

新版本

☑️ 与代码框交互

☑️ 查看Metric指标名、统计数量

✅ 与代码框交互,且支持自定义构建更复杂语句

✅ 查看Metric指标名、统计数量。且支持搜索指标名、分页展示,无惧指标数量过大

✅ 指标可进一步探索标签情况,展示时间线信息、标签名、标签值唯一数、标签值示例

✅ 每一个标签可以自定义筛选,支持选择标签值和手动输入两种方式,支持正则表达

✅ 更清晰的组件界面设计

探索指标常见玩法

1. 大指标数量下检索

2. 查看对应指标标签情况和筛选

3. 快速查看单个指标图

4. 复制指标名称

5. 正则表达式筛选

6. 根据标签值筛选

7. 取消筛选条件

8. 查询语句构造和添加

3.3 可视化能力增强

  • 旧版页面:

更新后页面:

界面设计和交互逻辑优化

  1. 新版设计采用上Code下Chart的布局方式,更符合时序库查询的探索性。而在仪表盘中采用上Chart下Code更注重仪表盘的展示性

  2. Code部分只用纯PromQL,集成PromQL语言支持、树状解析,更顺滑的编码体验

  3. 完全覆盖所有旧版已有功能,将旧图多层的按钮解脱出来,都在最上一排,并分清主次,一目了然

  4. 搭载全新Pro系列图表的同时,将复杂的metric放到底部而不是右侧,且点击一条,会单独浏览这一条线

  5. 优化执行主按钮的显示。放在更符合使用习惯的右上角,且交互逻辑更人性化

专为时序场景服务的Metric Prometheus图

1. Metric Prometheus图继承了线图Pro的所有特性,拓展加入同环比功能

2. 点击“同比环比”按钮,可以查看对应时间的情况进行对比。

3. 最终可以得到如下结果

4. 时序数据自身可观测

在新页面的右上角,时序库自身可观测的两个核心功能:数据统计分析和数据治理。

4.1 数据统计分析

指标统计是时序重点指标统计汇总,围绕数据量、指标数、时间线、数据条目的指标统计,Top类指标的快速定位展示和同环比变化。

4.2 数据治理

指标治理是重点指标的时序场景分析。提供重点指标的时序图变化,提供看板式指标摘要统计, 原生统计->数据分析->优化效果->异常诊断 链路式解决方案。

5. 总结

SLS作为云原生观测数据存储分析平台,在Metric领域,MetricStore 为广大用户提供了低成本且支持超大规模的时序数据引擎。此次升级的核心目的还是为了让大家更加方便的使用SLS的MetricStore,更简单、更直观、更顺滑。

欢迎大家体验新版升级后的时序数据查询页面,如果有其他使用上的建议,也欢迎大家在评论区留言。

作者介绍
目录