UModel(Universal Observability Model)是一種基於圖模型的可觀測資料建模方法,旨在解決企業級環境中可觀測資料擷取、組織和利用的核心挑戰。UModel 採用 Node(節點)和 Link(邊)組成的圖結構來描述 IT 世界,通過標準化的資料建模方式,實現可觀測資料的統一表示、儲存解耦和智能分析。作為阿里雲可觀測體系的資料建模基礎,UModel 為企業提供了一套通用的可觀測"互動語言",讓人、程式和AI都能夠理解和分析可觀測資料,從而構建真正的全棧可觀測能力。
核心概念
圖模型基礎
UModel 採用圖論的基本概念,使用 Node(節點)和 Link(邊)組成有向圖來描述 IT 系統:
Node(節點):核心部分為 Set(資料集),表示同類型實體或資料的集合,如 EntitySet(實體集)、MetricSet(指標集)、LogSet(日誌集)等;此外還包含資料集的儲存類型(Storage),如 SLS、Prometheus、MySQL 等。
Link(關聯):表示 Node 之間的關係,如 EntitySetLink(實體關聯)、DataLink(資料關聯)、StorageLink(儲存關聯)等。
Field(欄位):用於約束和描述 Set 和 Link 的屬性,包含名稱、類型、約束規則、分析特性等20多種配置項。
資訊學本體論
UModel 的設計理念源於資訊學的本體論(Ontology),通過明確定義可觀測領域內概念及其相互關係,形成形式化的知識表示。UModel 將傳統本體論概念映射為具體的技術實現:
EntitySet(實體集):定義同類概念的集合,如 "apm.service"、“k8s.pod”、"infrastructure.host" 等實體類型。
Entity(實體執行個體):EntitySet 的具體化,如具體的服務執行個體 "order-service"、Pod 執行個體 "web-pod-001"。
Field(欄位屬性):描述 Entity 和 Set 的特徵,如服務的 "service_name"、“version”、"status" 等欄位。
EntitySetLink(實體關聯):描述 EntitySet 間的相互關係,如 "calls"、“contains”、"runs_on" 等關聯類型。
約束規則(Constraints):通過 Field 的資料類型、取值範圍、驗證規則等限定屬性工作表現,確保資料一致性和完整性。
資料融合理念
UModel 實現了從"儲存統一"到"資料融合"的理念轉變:
儲存抽象:通過 Storage 和 StorageLink 將資料建模與具體儲存解耦,支援 SLS、Prometheus、MySQL 等多種儲存。
語義統一:通過 Field 定義統一欄位語義,CommonSchema 標準化通用欄位定義,實現跨資料來源的語義一致性。
關聯分析:通過 EntitySetLink 構建跨域實體關聯,實現資料間的智能關聯。
動態映射:支援欄位映射和動態轉換,相容現有資料格式。
實體關聯模型
UModel 將 IT 世界數字化為實體關聯模型:
實體建模:將系統組件抽象為 EntitySet,如服務、資料庫、主機、容器等。
關係定義:通過 EntitySetLink 定義實體間關係,如 "calls"、“contains”、"runs_on" 等。
資料關聯:通過 DataLink 將可觀測資料(日誌、指標、鏈路等)關聯到對應實體。
圖譜構建:自動產生實體拓撲圖和資料關係圖,支援圖查詢和圖分析。