设计理念

可观测数据的统一表示方法

UModel 提供了一套标准化的数据建模语言,实现可观测数据的统一描述:

核心Set类型

  • EntitySet:实体集合定义,包含主键、属性、状态等信息。

  • TelemetryDataSet:可观测数据通用表示,包含基础 time 字段,其他 MetricSet、LogSet、TraceSet、EventSet 都继承该类型。

  • LogSet:通用日志数据定义,无较多约束。

  • MetricSet:指标集合定义,支持多个指标和标签维度。

  • TraceSet:链路追踪定义,包含 TraceID、SpanID 等字段。

  • EventSet:事件数据定义,支持告警和系统事件。

  • ProfileSet:性能剖析数据定义,支持 CPU、内存等性能数据。

分层递进原则

  • Field - 最基础的字段定义。

  • ActivityData - 包含时间属性的可观测数据。

  • Entity&TelemetryDataSet - 抽象出的实体和可观测数据。

  • Link - 完成实体和实体、实体和数据的连接,构成完整的关联关系体系。

实体关联与数据融合的核心思想

UModel 强调"互联互通",通过关联关系构建数据图谱和实体图谱:

数据互联

  • 日志与指标通过实体关联,实现日志异常与指标异常的关联分析。

  • 链路与日志通过 TraceID 关联,实现分布式追踪与详细日志的融合。

  • 事件与实体关联,实现告警事件与系统状态的统一视图。

实体互联

  • 服务与数据库的调用关系,支持数据库性能对服务影响的分析。

  • 容器与主机的包含关系,支持资源层面的故障传播分析。

  • 应用与基础设施的依赖关系,支持全栈故障根因分析。

神经元式连接:故障传播与根因分析

UModel 采用类似神经网络的连接方式,通过实体关系图实现智能的故障传播和根因分析:

故障传播模型

  • 基于 EntitySetLink 定义的关系图,模拟故障在系统中的传播路径。

  • 支持多级跳转分析,从异常实体追踪到根因实体。

  • 结合历史数据和机器学习算法,提供故障传播概率分析。

根因分析能力

  • 告警事件自动关联相关实体,生成最小连接子图。

  • 基于时间序列分析,识别故障发生的时间顺序。

  • 结合变更事件(CICD、配置变更等),快速定位变更引起的故障。

从数据到洞察的转化路径

UModel 提供了从原始数据到业务洞察的完整转化路径:

  • 数据标准化:通过 Field 定义和 Set 实现数据格式标准化。

  • 实体化建模:将分散的数据通过 EntitySet 进行实体化组织。

  • 关系化关联:通过 Link 建立数据间和实体间的关联关系。

  • 图化分析:基于图结构进行复杂的关联分析和模式识别。

  • 智能化洞察:结合 AI 算法实现自动化的异常检测和根因分析。

应用案例

当前应用案例相关素材,请参考:umodel.zip