可观测数据的统一表示方法
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