可观测系统存储分析最佳实践

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
应用实时监控服务-应用监控,每月50GB免费额度
简介: 分享在北京云峰会智能运维场的主题

由来

提到可观测性这个词语,很多人或许会不削一顾,:"这个不就是旧瓶装新酒吗?和监控有什么差别吗?" 。带着这个问题,我们先来看看这个词诞生的时代背景。

随着近几年云计算、云原生的出现,我们发现花在标准化部署、上线的周期被大大缩短。但数字化技术的出现,却对背后研发、运维和运维的工程师们提出了更高的要求,例如:

  • 研发和上线的过程中,需要尽可能模拟真实的情况,对测试环境系统进行对比,判别
  • 在上线后的过程中,需要大量的配套监控,确保业务稳定性
  • 在业务支撑的过程中,一方面需要关注系统是否有认为的漏洞,造成入侵、刷单等,引起经济损失。另外一方面也需要做好运营支撑工作,更了解用户是否按我们的预期在使用系统。

在这些活动的背后,包含的大量围绕系统、应用、客户行为的观测+分析活动:
image.png

那可观测性与传统监控有什么区别呢?

我们来看一个例子:海恩法则(Heinrich's Law)指出: 每一起严重事故背后,必然有29次轻微事故和300起未遂先兆以及1000起事故隐患。

这背后表达了非常朴素的道理,在人为构建的系统中,大部分过程实际上是连续的。一个t3时间点的问题并不是一蹴而就,而是由一大堆t0-t2时间段的事件叠加而成。我们对一个系统是否正常的监控实际上是一个结果,可观测性则是通过大数据的思想,通过细粒度、多维度数据对系统进行建模,用以提前推导出可能的风险。

image.png

除了我们熟悉的监控场景外,我们还可以把工程师关于观测工作做一个大致的细分:能看到无论是开发、运维、安全、还是运营,很多时间都在和数据分析打交道,整个过程实际上是有一套方法论在支撑:

  • 采集多种多用的数据源
  • 集中式存储数据
  • 对数据分析、展示成可以理解的指标
  • 根据指标计算的结果,通过自动化的方式进行各种动作

image.png

将可观测数据和平台统一

既然所有的观测动作可以通过一套方法论来构建,那我们是否可以通过一套平台来构建这套观察体系呢?答案肯定是Yes,事实上一些类似的场景正在发生类似的变化:

让我们以2020年火热的 “智能电气化汽车”来做一个例子:

五年前 现在
智能化方法 各种独立的外挂系统 传感器+总线+中央处理器
例子 胎压检测仪,通过传感器+蓝牙显示在驾驶位的小屏幕上;倒车影像,摄像头+屏幕;电子狗;导航等等 统一摄像头

毫米波雷达/激光雷达
各种传感器 |
| 数据流动 | 传感器+显示器 | 总线 |
| 决策方式 | 依赖人(视觉+决策) | 算法+算力辅助人 |
| 主要问题 |

  1. 独立系统
  2. 数据孤岛
    |
  3. 接口统一
  4. 数据互通
    |

| 增加传感器 | 驾驶者负担增大 | 更准确的决策 |

image.png
我们以监控软件模式也是如此,如果按这个模式发展,未来所有孤立的软件是没有竞争力的,需要有一个统一、具备强大算力的平台来统筹。

如何构建平台

我们可以把整个过程做一个抽象,左边是数据源,右边是决策者(人)。从信息论的角度,系统构建的目标是从杂乱、无需、无关联的数据中洞察系统的规律。因此我们需要设计:

  • 一套对接个数数据源的采集接口
  • 为异构数据提供一套灵活的存储模型
  • 为数据处理打造流批一体的分析引擎
  • 一套能驱动处理与反馈的机制

image.png

阿里云SLS(原日志服务)产品就是为此场景设计的系统,除提供上述的功能外,平台还兼具弹性、低成本、开放等特点,我们来分模块看看系统的构成:

1. 采集系统

数据采集从来源上可以分为:

  • 主动式采集:例如拨测技术、移动端探测
  • 被动采集:例如采集系统的输出
  • 辅助数据:一些非运行时数据,但对我们后期也是有帮助的。例如系统的架构与分布

一套完整采集系统必须能够完整对接以上数据,方便实时地去把数据拿到系统中。为此SLS提供了60+种采集的方式,在全球接入了30+个接入点,并提供一张自动加速的传输网络来对接各种数据源。
image.png

2. 存储系统

当采集完这些数据后,我们需要为后期的分析给这些数据提供一套完整的存储引擎。我们以DevOps领域最常见的三种数据为例(Trace/Log/Metric),目前主流的做法是提供三种类型的存储引擎,当需要转换时,通过Queue进行数据的拷贝。

image.png
为了解决这类数据孤岛问题,SLS设计了一套类似数据库的“表”存储模型,通过排序索引、子表、列存、倒排索引等技术把针对这三类不同数据的需求,统一成SQL访问接口。这个带来的好处是,用户不需要为不同引擎去学习不同API,只需要改变Query即可灵活访问。
image.png
从架构角度而言,这种存储模式让整个数据流也变得简洁。过去我们为了从系统采集Trace、Log、Trace数据,我们需要搭建一套采集系统,并且通过ETL流程对数据进行分发与转存。最麻烦的是,当需要使用时我们必须得去4个不同的系统,使用4个API来访问。但在SLS存储中,我们只需要一套访问接口。存储引擎自动会支持弹性伸缩、冷热分层等功能。

image.png

3. 分析系统

在存储之上,我们针对数据处理构建了三种能力来解决三个问题,分别是

  • 把各种异构数据规整:数据加工
  • 对规整后的结构化数据提供灵活分析能力:查询接口
  • 对高维数据进行分析:各种开箱即用的算法

image.png

以查询接口为例子,在面向“表”的查询分析语言设计上,我们遵循SQL92标准,但同时通过子查询把PromQL等语法进行了融入。这样就可以在一个SQL中进行数据查询,规则与建模预测。降低了数据获取与分析的难度。
image.png
通过统一的SQL,我们可以在存储统一基础上,通过Query变化,把Trace/Log/Metric这些数据的组合查询进行有效的统一与关联。
image.png

全貌

以下是阿里云云原生观测分析平台全貌,目前该平台一天处理30PB数据量,支持来自用户15亿次每天的分析活动,每天服务10W+用户。
image.png

对我们工作感兴趣的,可以通过如下方式了解更多,谢谢关注:)

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
消息中间件 NoSQL Cloud Native
对Confluent一些解读
对Kafka母公司Confluent IPO、产品、技术一些看法
4933 0
对Confluent一些解读
|
5月前
|
存储 人工智能 Prometheus
剑指大规模 AI 可观测,阿里云 Prometheus 2.0 应运而生
本文介绍了阿里云Prometheus 2.0方案,针对大规模AI系统的可观测性挑战进行全面升级。内容涵盖数据采集、存储、计算、查询及生态整合等维度。 Prometheus 2.0引入自研LoongCollector实现多模态数据采集,采用全新时序存储引擎提升性能,并支持RecordingRule与ScheduleSQL预聚合计算。查询阶段提供跨区域、跨账号的统一查询能力,结合PromQL与SPL语言增强分析功能。此外,该方案已成功应用于阿里云内部AI系统,如百炼、通义千问等大模型全链路监控。未来,阿里云将发布云监控2.0产品,进一步完善智能观测技术栈。
561 42
|
5月前
|
数据采集 SQL 数据处理
当实时消费遇到 SPL:让数据处理更高效、简单
SLS 对实时消费进行了功能升级,推出了 基于 SPL 的规则消费功能。在实时消费过程中,用户只需通过简单的 SPL 配置即可完成服务端的数据清洗和预处理操作。通过SPL消费可以将客户端复杂的业务逻辑“左移”到服务端,从而大幅降低了客户端的复杂性和计算开销。
243 57
|
存储 Prometheus 并行计算
10倍性能提升-SLS Prometheus 时序存储技术演进
本文将介绍近期SLS Prometheus存储引擎的技术更新,在兼容 PromQL 的基础上实现 10 倍以上的性能提升。同时技术升级带来的成本红利也将回馈给使用SLS 时序引擎的上万内外部客户。
158849 7
|
存储 数据采集 监控
从存储统一到数据融合,SLS在可观测场景的思考和行动
介绍SLS在可观测数据融合分析的一系列技术升级,融合Trace、全栈监控、Continuous Profiling、移动端监控等功能,帮助大家更快速地构筑全栈、自动化的观测能力。
128361 52
|
存储 JSON 运维
聊聊日志硬扫描,阿里 Log Scan 的设计与实践
SLS 新推出 Scan 功能,让未索引的字段也支持搜索(硬扫描模式),节省全量索引产生的构建和存储费用,同时 Scan 的运行时计算模式对于杂乱结构的日志数据有更好的适配,帮助企业客户实现数字化增效、IT 支出降本的目标。
14294 9
聊聊日志硬扫描,阿里 Log Scan 的设计与实践
|
存储 SQL 缓存
阿里云千亿规模实时日志分析的架构设计和实践
本文为阿里云SLS 执少 在《DataFunTalk技术交流会:阿里云实时查询分析专场》分享时的议题内容(文字版本)。首先,阿里云日志服务SLS是一个什么样的产品和服务呢? 我们用一句话来概括的话,那就是我们是一个云上的、一站式的、可观测日志服务平台。 首先呢,我们提供了强大的日志数据采集能力,支持...
1963 0
阿里云千亿规模实时日志分析的架构设计和实践
|
存储 人工智能 监控
日志服务 SLS 深度解析:拥抱云原生和 AI,基于 SLS 的可观测分析创新
阿里云日志服务 SLS 全面拥抱云原生和 AI,近一年持续进行技术创新,此次云栖大会上发布了在稳定可靠、高性能、开放易用、AI 加持、低成本等五个方面的全面升级。
103017 4
|
存储 数据采集 消息中间件
阿里十年技术沉淀|深度解析百PB级数据总线技术
数据总线作为大数据架构下的流量中枢,在不同的大数据组件之间承载着数据桥梁的作用。通过数据总线,可以实时接入来自服务器、K8s、APP、Web、IoT/移动端等产生的各类异构数据,进行统一数据管理,进而实现与下游系统的解耦;之后可以异步实现数据清洗、数据分发、实时计算、离线计算等计算过程,进而将结构化后的数据投递到下游的分析、归档系统,进而达到构建清晰的数据流的目的。广义上,数据采集与接入、传输链路、存储队列、消费计算、投递等都属于数据总线的范畴,整体上可以分为采集接入层、管道层、计算层。
24053 6
阿里十年技术沉淀|深度解析百PB级数据总线技术