CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/UModel/模型编写指南
文档目录
UModel 中文文档
模型编写指南Query Service 指南实体与关系写入指南SDK 与客户端指南Web UI 指南
GraphStore Providers文档国际化规则Web UI 架构Web UI API 对照UModel SDK 规范

UModel

模型编写指南

UModel 模型包编写和导入流程。 模型包是一个包含 YAML 或 JSON UModel elements 的目录。多域 quickstart 样例使用以下结构: 按类别拆分目录,保持 diff 易审阅。Quickstart 包刻意保持为实体拓扑样例,不包含 metricset、logset、traceset、eventset、profileset、runbookset 等 DataSet...

UModel 模型包编写和导入流程。

模型包结构

模型包是一个包含 YAML 或 JSON UModel elements 的目录。多域 quickstart 样例使用以下结构:

examples/quickstart-multidomain/
├── devops/
│   └── entity_set/
├── automaker/
│   └── entity_set/
├── game/
│   └── entity_set/
├── supplier/
│   └── entity_set/
├── k8s/
│   └── entity_set/
├── cross-domain/
│   └── link/entity_set_link/
└── sample-data/

按类别拆分目录,保持 diff 易审阅。Quickstart 包刻意保持为实体拓扑样例,不包含 metric_set、log_set、trace_set、event_set、profile_set、runbook_set 等 DataSet kind,也不包含 data_link 或 storage_link 定义。

推荐编写顺序

  1. 定义 EntitySet。
  2. 有拓扑语义时,用 EntitySetLink 连接 EntitySet。
  3. 添加小规模 sample entity/relation 数据。
  4. 补充 README 和示例查询。

最小 EntitySet

kind: entity_set
schema:
  url: "umodel.aliyun.com"
  version: "v0.1.0"
metadata:
  name: "demo.service"
  domain: demo
spec:
  fields:
    - name: service_id
      type: string
    - name: service
      type: string

最小 EntitySetLink

kind: entity_set_link
schema:
  url: "umodel.aliyun.com"
  version: "v0.1.0"
metadata:
  name: "demo.service_calls_demo.service"
  domain: demo
spec:
  src:
    domain: demo
    kind: entity_set
    name: demo.service
  dest:
    domain: demo
    kind: entity_set
    name: demo.service
  entity_link_type: calls

校验示例

make example-validate

生成 schema 和 SDK 变化时:

make expand
make verify

导入到 Workspace

go run ./cmd/umctl --addr http://localhost:8080 workspace create demo '{"name":"Demo"}'
go run ./cmd/umctl --addr http://localhost:8080 umodel import demo examples/quickstart-multidomain

检查模型

go run ./cmd/umctl --addr http://localhost:8080 query run demo ".umodel | sort kind,name | limit 50"

审阅清单

  • 名称稳定且带 domain。
  • EntitySet 字段包含稳定身份字段。
  • 拓扑关系名称明确。
  • Quickstart 包保持不包含 DataSet、DataLink 和 StorageLink 定义。
  • 尽可能包含 sample data。
  • README 列出模型场景、资产和查询。

文章大纲