阿里云 UModel:可观测性数据建模的新范式

阿里云发布 UModel,为可观测性打造认知操作系统,弥合数据、模型和工程鸿沟,助力 AIOps 落地。

原文标题:阿里云全新发布的 UModel 是什么

原文作者:阿里云开发者

冷月清谈:

在 IT 系统中,传统可观测体系依赖 Metrics、Traces 和 Logs,但这些数据仍停留在现象观测层面,缺乏对系统本质的建模。AI 时代,LLM 应用的碎片化和 AI 本身的不确定性加剧了这一挑战,导致数据鸿沟、模型鸿沟和工程鸿沟。阿里云发布的 UModel(Universal Observability Model)是一种基于图模型的可观测数据建模方法,旨在通过标准化的数据建模方式,实现可观测数据的统一表示、数据建模与具体存储的解耦,从而实现智能分析。UModel 通过 Entity、EntitySet 和 Link 来重新定义系统中的实体、对实例进行建模以及建立实体间的连接,并在此基础上自动生成实体拓扑图和数据关系图。同时,UModel 提供了 graph-match、graph-call 和 Cypher 三种图查询能力,以满足不同用户的需求。UModel 的核心思想是为可观测领域打造一个认知操作系统,弥合数据、模型和工程的三重鸿沟,为 AIOps 提供可解释、可扩展、可自动化的基础,让智能体能够像经验丰富的运维人员一样快速定位故障并恢复生产。

怜星夜思:

1、你认为 UModel 这种建模驱动的可观测性方法,相比传统数据驱动的方法,最大的优势是什么?在实际应用中,你认为会遇到哪些挑战?
2、文章中提到了 UModel 的三种图查询能力:graph-match、graph-call 和 Cypher。你认为这三种查询方式分别适用于哪些场景?你更倾向于使用哪一种?为什么?
3、UModel 被称为可观测性的'认知操作系统',你如何理解这个概念?你认为 UModel 的发展,未来会对 AIOps 产生哪些影响?

原文内容

每个时代基础设施的变革,都始于对“混乱”的优雅重组。19 世纪,钢铁把不可控的垂直空间变成工程秩序,城市才得以向上生长;20 世纪,电网将分散的能源重新编排,工业生产才不再被河流左右。而如今的 IT 领域,我们正面临一场新的秩序重建,即如何让海量、碎片化、动态变化的观测数据,不再是噪音,而成为可理解、可推理、可优化智能体行为的燃料?

要回答这个问题,我们先简单回溯下:IT 系统的可观测体系是如何走到今天的?

一、IT 系统中可观测体系的发展

最初,企业面向单一数据类型构建监控体系,CPU 使用率、内存占用、磁盘 I/O……一个个孤立的指标就像烽火台,只能通过局部视角告诉我们“什么地方出了问题”。

但随着微服务、容器技术的普及,系统复杂度呈指数级增长。企业开始意识到:单点指标无法解释全局。于是开始对孤立的数据进行抽象,抽象出 Metrics(指标)、Traces(链路追踪)和 Logs(日志),并进行关联分析

  • Metrics:IT 系统是否有问题;
  • Traces:哪里出了问题;
  • Logs:问题是由什么原因导致的。

发展至今,成为观测体系的三大数据支柱。

但从海量、异构、动态变化的数据中准确推理并定位问题,本质上是一个极其困难的逆向工程。数据只是现象,而现象与本质之间往往存在巨大的认知鸿沟

Metrics、Traces 和 Logs 这看似完整的三角,实则仍停留在现象观测层面,是 L1 级智能体的典型工作流,人工设计流程节点、人工配置触发、人工调用 API,再把指标、链路、日志喂给 AI,期望它自己找出因果,结果往往是幻觉式归因:把时间上的巧合当作逻辑上的因果。为什么?因为在 AI 面前,缺少对系统本质的建模。

在 AI 时代,加剧了这种模式的挑战。一是 LLM 驱动的应用带来了上下文的碎片化。运维工程师每天要在不同的控制台之间切换,手动拼凑“发生了什么”。这就像在信息高速公路上骑自行车,工具很先进,但认知方式仍是人力驱动。二是相比由工程师写的代码定义的传统 IT 系统,AI 带来了更多的不确定性,指数级提升了原始数据自动化关联的难度,给准确推理并定位问题的挑战添了堵

总结起来,原本的认知鸿沟,被进一步分化成三层新的鸿沟

  • 数据鸿沟原始数据混杂、碎片化、噪声多,99% 以上可能是无效信息,难以从中有效提取信号。
  • 模型鸿沟AI 模型存在“黑盒”特性,推理过程难以解释;还可能出现“幻觉”,生成看似合理但不符合事实的结果。
  • 工程鸿沟每天数 PB 级的数据采集、清洗、存储、计算,对性能、成本、安全性提出极高要求。

二、数据到建模

让一个没见过电路图的人,从一堆电压表读数中定位并恢复故障服务器,是不现实的。

当前市面上大多数的 AI 运维助手,本质上仍是 L1 级智能体:它们被封装在一个封闭的对话框里,被动响应用户提问,背后是一连串预设的 if-else 规则或简单 RAG 检索。它们没有对系统结构的内生理解,无法主动推理依赖路径,更谈不上安全执行修复操作。

而要迈向 L2 甚至 L3 级智能体,即能自主感知、规划、行动并持续学习的数字员工,就必须为其构建一个结构化的运行时上下文,不然只能靠人的经验来排查、定位和解决问题。这个上下文是经过建模、带有语义、支持查询与推理的图谱。有了这张图,智能体就能避免在数据海洋中盲目打捞,而是在一个有路标、有规则、有边界的城市中穿行。

因此,出路不在更多的数据,而在更好的建模。先为 IT 系统建立一张认知地图。这张图要包含实体(主机、服务、数据库)、关系(调用、依赖、部署)、行为(日志事件、性能指标)以及它们之间的语义约束。只有在这张图上,智能体才能像经验丰富的老运维一样,快速定位故障并恢复生产。

UModel 正是这张图的建模语言。我们需要从“数据驱动”转向“建模驱动”,从面向现象的观测,转向面向本质的建模,构建一个统一的上下文图谱,这正是 UModel 的使命。

三、什么是 UModel

UModel(Universal Observability Model)是基于图模型的可观测数据建模方法。

又是图模型,又是建模,一听就很学术。通俗易懂的讲,就是用“画图”的方式,把一堆随机事件之间的概率关系理清楚,让复杂变简单,让模糊变清晰。因此,UModel 旨在通过标准化的数据建模方式,实现可观测数据的统一表示、数据建模与具体存储的解耦,从而实现智能分析。有了 UModel,智能体才能像经验丰富的老运维那样快速定位故障并恢复生产,成为可能。UModel 可以看成是阿里云可观测体系的数据建模基础。

总的来讲,UModel 的核心思想,是为可观测领域打造一个认知操作系统,是一套标准化的数据建模方法,旨在弥合前文所述的三重鸿沟,为 AIOps 提供可解释、可扩展、可自动化的基础。

接下来,我们从 UModel 的构成和使用方式来看看它是如何把零散、杂乱的可观测数据,画成一张结构清晰、智能体能理解的图。

四、UModel 的构成和使用方式

企业习惯于将系统中的每个组件,例如应用、容器、中间件、网关、数据库,视为独立的实体进行监控和管理,并为它们配置仪表盘,设置告警,追踪性能表现。传统的监控和查询工具,无论是基于 SQL 还是 SPL,其核心都是处理二维的、表格化的数据。它们擅长回答关于个体的问题(这个 Pod 的 CPU 使用率是多少?),但在回答关于关系的问题时却显得力不从心。

当面对“这个服务的故障会影响哪些下游业务?”或“要访问到核心数据库,需要经过哪些中间服务?”这类问题时,传统工具往往需要复杂的 JOIN 操作、多步查询,甚至需要工程师结合线下架构图进行人脑拼凑。这种方式不仅效率低下,而且在关系复杂、层级深的情况下几乎无法完成。我们拥有了所有“点”的数据,却失去了一张看清“线”的地图

因此,UModel 将要解决以下四个关键问题:

1. 重新定义系统里有什么

通过 Entity 来统一定义所有可观测实体的实例,包括容器实例、服务实例等,例如服务实例 "order-service"、Pod 实例 "web-pod-001"。

2. 对实例进行建模

通过 EntitySet 建立实体集,并进行实体建模。将系统组件抽象为 EntitySet,一个 EntitySet 可对应多个 Entity:

  • 基础设施实体:主机、容器、网络设备、存储系统;
  • 应用层实体:微服务、API 接口、数据库实例、消息队列;
  • 业务实体:用户会话、业务流程、交易订单;
  • 运维实体:部署环境、代码仓库、运维人员。

除了进行实体建模,还需要进行:

  • 数据集建模:将日志、指标、链路追踪、事件和性能剖析等多种可观测数据类型抽象为 TelemetryDataSet,由此衍生出 LogSet、TraceSet、EventSet、ProfileSet、MetricSet 等更具体的观测数据集。
  • 存储建模:Storage 是 UModel 中数据集底层存储的抽象,定义了数据的实际存储位置和访问方式。通过存储建模,UModel 能够统一对接多种存储后端,为用户提供一致的数据访问体验。

3. 对这些实体&实体集进行建联

通过 Link,连接不同的数据集:

    • EntitySetLink 定义 EntitySet 实体间的关系(如服务 A 调用服务 B);
    • DataLink 定义 EntitySet 与 DataSet 之间的关联(如某 Pod 产生哪些日志);
    • StorageLink 定义 DataSet 与 Storage 之间的关联。

在此基础之上,自动生成实体拓扑图和数据关系图

4. 图查询

图查询可以认为是发挥 UModel 这一可观测基建的关键能力。因为系统的真实形态本就是一张图,那么对它的查询和分析,也应该使用最符合其本质的方式——图查询。

为了实现这一点,我们在 UModel 体系的核心构建了 EntityStore。它采用了创新的双存储架构,同时维护了 __entity__ 日志库(存储实体的详细属性)和 __topo__ 日志库(存储实体间的拓扑关系)。这相当于我们为整个可观测系统建立了一个实时更新的、可查询的数字孪生图谱。

基于这个图谱,我们提供了从易到难、层层递进的三种图查询能力,以满足不同用户的需求:

  • graph-match:为最常见的路径查询场景设计,语法直观,让用户能像描述一句话一样(“A 经过 B 调用了 C”)来快速查找特定链路。
  • graph-call:封装了最高频的图算法(如邻居查找、直接关系查询),通过函数式接口提供,用户只需关心意图(“找 A 的 3 跳邻居”)而无需关心实现细节。
  • Cypher引入业界标准的图查询语言,提供最完整、最强大的图查询能力,支持任意复杂的模式匹配、多级跳跃、聚合分析,是处理复杂图问题的终极武器。

这一整套解决方案,旨在将强大的图分析能力,以一种低门槛、产品化的方式,让智能体实现自主发现、定位故障,并恢复生产成为可能。

过去,运维靠人脑串联孤立的数据和几十个工具;未来,UModel 希望能作为可观测的基础设施,支撑智能体在统一上下文图谱中工作。当可观测数据被建模为可理解、可行动的上下文图谱,AIOps 才真正拥有了落地的土壤。

我觉得优势在于能让AI更好的理解系统的内在逻辑,避免’幻觉式归因’。以前AI就像一个啥都不懂的小白,只能从一堆数据里瞎猜。现在有了UModel,AI就像一个有经验的专家,能根据模型进行推理。挑战的话,感觉UModel的构建和维护成本会比较高,需要专业的建模知识和工具。而且,不同的系统可能需要不同的模型,通用性也是一个问题。

Graph-match 适合做一些简单的链路查询,比如“服务A经过B调用了C”,这种场景下用它最简单直观。Graph-call 封装了一些常用的图算法,适合做一些特定关系的查询,比如“找A的3跳邻居”,不用自己写复杂的算法。Cypher 那就是大杀器了,啥都能查,但是学习成本也高,适合处理复杂的图问题。我个人倾向于 graph-match,因为它简单易用,能解决我大部分的问题。当然,如果遇到复杂的场景,那就只能硬着头皮学 Cypher 了。

我认为 graph-match 适用于快速定位问题的场景,例如在复杂的微服务架构中,快速找到请求经过的路径。graph-call 适用于需要进行关系分析的场景,例如查找某个服务的所有依赖项。Cypher 则适用于需要进行高级分析的场景,例如查找系统中存在的循环依赖。我更倾向于使用 graph-call,因为它封装了常用的图算法,能够快速解决常见的关系分析问题,同时又不像 Cypher 那样复杂。

同意楼上的观点,我补充一点。graph-match 可以看作是面向用户的简单查询接口,graph-call 是面向开发者的算法封装,而 Cypher 则是面向专家的灵活工具。选择哪种方式取决于你的角色和需求。如果你只是想快速查找一些简单的关系,graph-match 就足够了。如果你需要进行复杂的分析,或者想自定义一些算法,那么 Cypher 则是更好的选择。

建模驱动最大的优势在于它提供了对系统本质的理解,而不仅仅是现象的堆砌。传统数据驱动就像是看病只看化验单,而建模驱动像是医生结合病史、体征等综合判断。挑战在于如何建立准确、全面的模型,以及如何维护模型的更新,让它始终反映系统的真实状态。另外,图数据库的性能也是一个潜在的瓶颈。

认知操作系统,我的理解是它提供了一个统一的、结构化的知识库,让 AI 能够像人一样理解和推理 IT 系统的行为。就像 Windows 之于 PC,Linux 之于服务器一样,UModel 希望成为 AIOps 的底层基础设施。未来,UModel 的发展可能会极大地推动 AIOps 的落地,让 AI 能够真正自主地进行故障诊断和修复,而不仅仅是提供一些辅助性的建议。但这个目标还有很长的路要走,需要解决很多技术和工程上的挑战。

UModel 作为“认知操作系统”意味着它不仅仅是数据的简单聚合,而是对数据进行建模和抽象,形成一种可以被机器理解的知识体系。这种知识体系可以被 AIOps 系统用于推理、预测和决策,从而提高运维效率和降低运维成本。未来,UModel 可能会成为 AIOps 的基础平台,各种 AIOps 工具和服务都将基于 UModel 构建。这种趋势可能会导致 AIOps 市场的进一步整合,形成一些具有垄断地位的平台型厂商。

这个概念很形象!以前的 AIOps 就像是盲人摸象,只能看到局部的数据,无法理解整体的架构。有了 UModel,就像给 AIOps 装上了一个大脑,让它能够理解系统的整体结构和运行逻辑。我觉得 UModel 未来可能会改变 AIOps 的发展方向,从现在的“被动响应”变成“主动预测”,让 AI 能够提前发现潜在的问题,并自动进行修复,真正实现无人值守运维。

谢邀,人在实验室,刚下飞机。UModel 的核心在于其结构化的运行时上下文,能够让智能体在有边界的环境中进行推理,避免在海量数据中盲目搜索。这种方式更接近人类解决问题的思路,即先理解问题的本质,再寻找解决方案。但是,这种方法的挑战在于如何保证模型的准确性和完整性,以及如何处理模型中的不确定性。这需要深入理解系统的原理和特性,并不断进行迭代和优化。