解释领域包各模块是什么、谁先谁后、数据从哪来。本页是概念培训,不是系统操作界面。
不是在平台里重建一个 CMDB。是为「智能体要能办事」定义一套业务语义模型,再把客户现有系统(CMDB、监控、工单)对齐到这套模型上,最后让真实数据实例进图谱,智能体才能查得准。
类、属性、关系、规程
Pack:本体与关系 + 办事规程
字段映射 + 归一词典 + 连接器
Pack:字段映射 + 归一词典
连接器 ETL 写入 Neo4j
验收里程碑,非手工灌类
AI 适配助手或表单声明 tool_id
先于编排
每步绑定④已声明能力 → 发布
值班员工作台可用
界面上叫「本体与关系」,本质是第一步:构建本体的数据结构(TBox)——有哪些类、每类什么属性、类之间什么关系。完整端到端见 产品运行逻辑;「四层语义」见 方法论(≠ 构建步数)。
产品原型入口:领域包管理 → 顶部「进入本体构建」,或模块行「构建」。可为每类添加属性、关系;办事规程在左侧「全局办事规程」统一管理,各类详情页可查看「关联规程」。
flowchart TB
subgraph CONSULT["阶段 0 · 咨询(产品外,工作坊)"]
WS[场景 + CQ 能力问题]
STORY[故障/办事故事 ALERT-991]
WS --> STORY --> ONTO_DRAFT[产出:类/关系/映射草稿]
end
subgraph PACK["阶段 1–5 · 领域包(管理端 · 领域包管理)"]
S1[① 本体 TBox
类/属性/关系/规程]
S2[② 映射与归一
字段规则 + 归一词典]
S3[③ 图谱实例 ABox
ETL 写入 Neo4j]
S35[③½ AI适配 可选]
S4[④ 可调用工具]
S5[⑤ 编排 + 评测发布]
S1 --> S2 --> S3
S3 --> S35 --> S4 --> S5
end
subgraph ADMIN["横切 · 管理端(与②并行配置)"]
CONN[业务系统连接
URL/密钥/健康检查]
LIVE[上线工作台八步旅程]
CONN --> S3
end
subgraph RUN["阶段 6 · 运行时(值班员)"]
WB[工作台对话]
HAR[Harness 按步骤办事]
TG[ToolGate 调④已声明能力]
NEO[(Neo4j ③ 或回源 CMDB/监控)]
WB --> HAR --> TG --> NEO
TG --> WB
end
ONTO_DRAFT --> S1
S5 --> WB
| 你的说法 | 对齐产品术语 | 补充说明 |
|---|---|---|
| 先做咨询,梳理场景要哪些数据 | 阶段 0:CQ + 工作坊 | 不在 Pack 五步编号里,但是①的输入;见 本体类梳理方法论 |
| 第一步建本体:类、属性、关系、规程 | ① 本体 TBox | 只定义「表结构」,还没有 pay-gw-03 实例 |
| 第二步把企业分散数据和本体对应 | ② 映射与归一 | 含字段映射 + 归一词典;连接器地址在管理端「业务系统连接」配 |
| 第三步是不是对接系统、填充数据? | ② 配规则 + 连接器;③ 看结果 | ③ 不是再对接一遍,是同步完成后的 ABox 验收页;数据由系统自动 ETL写入,非在本体构建里手工录入 |
| 第四步声明能力、接口规范 | ④ 可调用工具 | tool_id + schema + connector/handler;可用 ③½ 助手生成草稿 |
| 第五步编排智能体 | ⑤ 智能体编排 + 评测发布 | 每步只能从④清单里选;考过后值班员才能用 |
| 环节 | 原型/首期 | 说明 |
|---|---|---|
| 用户登录 / 多租户 / RBAC | 原型未做 | 平台架构已设计 Principal + Scope;编码 Week1 预留 |
| ③½ AI 接口适配助手 | 原型已有 | 减轻 FDE 写 Adapter,可选加速器 |
| 评测门禁 | 管理端「评测中心」 | ⑤ 的一部分,未考过不能发布 |
| Webhook 自动推送 | 上线工作台第 7 步 | 告警无人工点击触发智能体(P2 路线图) |
| 办事 Trace / 审批 HITL | 工作台 + 管理端回放 | 运行时治理,非 Pack 构建步 |
flowchart TB
subgraph INGEST["管道 A · 入图(形成 ③ 图谱实例)"]
EXT1[(CMDB / Prometheus / ITSM)]
CONN[业务系统连接 + Connector 插件]
MAP[② 字段映射 + 归一词典]
ETL[GraphSync ETL / Webhook]
NEO[(Neo4j ABox)]
EXT1 --> CONN --> ETL
MAP --> ETL --> NEO
end
subgraph RUNTIME["管道 B · 办事(④⑤ 智能体运行时)"]
AGENT[智能体 Harness]
TG[ToolGate]
CAP[④ 可调用工具 tools/*.yaml]
EXT2[(监控 / 日志 / 图谱查询)]
AGENT --> TG --> CAP
CAP --> EXT2
CAP --> NEO
end
TBOX[① 本体 TBox] --> MAP
TBOX -->|OntoCore 导出 labels/constraints| NEO
TBOX --> CAP
| 必须先有 | 在哪配 | 作用 |
|---|---|---|
| ① 本体 TBox | 领域包 · 本体构建 | 定义 Neo4j 节点标签、属性、关系类型(= 图 schema) |
| ② 映射 + 归一 | 领域包 · 映射与归一 | 定义外部字段如何变成图节点属性 |
| 连接器实例 | 管理端 · 业务系统连接 | base URL、密钥、同步策略 — 这才是「接系统」 |
| 至少一次同步 | 自动(ETL/Webhook) | GraphSync 写入 Neo4j;③ 页验收结果 |
原型 Demo 里已有 15 个图谱节点,是因为预置了华东金融云样例 + 连接器已配好,不代表必须先做 ③½。
| 存储 | 要不要设计 | 设计是什么 · SSOT 在哪 | 原型怎么体现 |
|---|---|---|---|
| Neo4j | 要,但不单独画 ER 图 | ① 本体 TBox = 图 schema;发布时 OntoCore 自动导出 labels、constraints、索引(平台架构设计/03 §5 OntoCore 导出器) |
「本体构建」= TBox;「图谱实例」= ABox 运行数据 |
| PostgreSQL | 要(平台元数据) | Pack 版本、租户、用户、会话、HITL、审批 — 平台架构设计/02 §五、08 技术选型;DDL 在编码 Week1 落地 |
原型未展开表结构;管理端办事记录/审批为 UI 示意 |
| ClickHouse | 要(审计/Trace) | 工具调用、LLM 步骤追加写 — 03 TraceStore |
管理端 Trace 回放 |
| Redis | 引擎内置 | 缓存、限流 — 无需业务方设计 | 不暴露 |
| Prometheus / ELK | 客户侧 SSOT | EASH 不替代;经 Connector 回源或摘要入 Context | 业务系统连接卡片 |
| Pack 文件 | 领域数据模型 | ontology/ mappings/ tools/ — 平台架构设计/05 目录规范 |
领域包各构建页 |
研发主文档:docs/platform/03-平台架构设计.md(OntoCore、GraphSync)· 02-平台能力全景.md §五数据分类 · 08-技术选型方案.md §七图库分层。
| 界面区域 | 做什么 |
|---|---|
| 类列表 + 添加类 | 定义有哪些概念(Pod、Alert…) |
| 类 · 属性 | 这类对象有哪些字段(name、severity…),供后续字段映射对齐 |
| 类 · 关系 | 与其他类的边类型(runs_on、depends_on…) |
| 类 · 关联规程 | 哪些全局规程的条件引用了本类(只读关联视图) |
| 全局办事规程 | Pack 级硬规则 R01~R05,Harness 强制执行;不是挂在某一个类下面,但条件里会写涉及哪些类 |
flowchart TB
subgraph P1["第一阶段:本体语义模型(你要先做的)"]
CQ[能力问题 / 业务场景
如:告警根因、资产查询]
ONTO[本体类 Class
Pod / Alert / 技术服务…]
ATTR[类上的属性
name / severity / ci_id…]
REL[类之间的关系
runs_on / depends_on / supports…]
RULE[办事规程 R01-R05
硬规则,非 CMDB 字段]
CQ --> ONTO --> ATTR
ONTO --> REL
ONTO --> RULE
end
subgraph P2["第二阶段:各系统对齐到本体"]
CMDB[(蓝鲸 CMDB
有自己的表和字段)]
PROM[(Prometheus
labels / metrics)]
ITSM[(ServiceNow ITSM
变更单字段)]
MAP[字段映射
源系统.类.字段 → 本体.类.属性]
DICT[归一词典
多源别名 → 统一 ci_id]
CONN[连接器
地址、密钥、同步频率]
CMDB --> MAP
PROM --> MAP
ITSM --> MAP
MAP --> DICT
CONN --> CMDB
CONN --> PROM
CONN --> ITSM
end
subgraph P3["第三阶段:能力 + 智能体 + 验证"]
SYNC[ETL / Webhook 同步]
GRAPH[(知识图谱 Neo4j
实例 ABox)]
TOOLS[④ 可调用工具
get_alert / trace_ci…]
AGENT[⑤ 智能体编排
每步绑定可调用工具]
EVAL[评测题库]
MAP --> SYNC
DICT --> SYNC
SYNC --> GRAPH
ONTO --> TOOLS
GRAPH --> TOOLS
TOOLS --> AGENT
ONTO --> AGENT
GRAPH --> AGENT
AGENT --> EVAL
end
subgraph USER["用户侧"]
WB[值班工作台对话]
AGENT --> WB
end
实线依赖:必须先有本体(P1),才能做映射(P2);映射通了,实例才能入图;必须先声明可调用工具(④),才能在智能体编排里绑定(⑤)。
根据业务场景梳理:智能体要回答什么问题,就需要哪些概念(类)、每个概念有哪些属性、概念之间有哪些关系。
| 要定义什么 | 举例(华东金融云) | 数据从哪来 |
|---|---|---|
| 类 Class | Pod、Alert、TechnicalService、ChangeRequest… 共 22 类 | 工作坊 + 运维专家访谈;参考咨询交付包 / 教辅-04 |
| 属性 Property | Pod.namespace、Alert.severity、ChangeRequest.status | 同上;属性是「这类东西有哪些字段」 |
| 关系 Relation | pay-gw-03 runs_on node-07;支付网关 supports 在线支付 | 依赖链白板图;教辅-04 关系表 |
| 办事规程 Rule | R01 核心变更需 CAB;R05 报告必须带 ID | 运维制度 + 专家;教辅-03 §6 |
类怎么拆?不是 CMDB 式「基础设施→网络→交换机」深树,而是场景 CQ + 四层语义 + 故障链。详见独立文档 《本体类梳理方法论》(含可视化对比图与顾问工作坊步骤)。
| CMDB | EASH 本体 |
|---|---|
| 按物理/组织世界分类(基础设施、应用、人员…) | 按智能体场景证据链(告警→CI→服务→变更) |
| 3~5 层 CI 类型树 | 四层语义(结构/功能/动态/规程)+ 结构层 1 层父类 |
| 问「公司有哪些资产?」 | 问「CQ 能力问题要不要答?」 |
CMDB、ITSM、Prometheus 各自有一套表/类/字段。第二步做两件事:
对齐完成后,连接器同步数据,实例(pay-gw-03、ALERT-991)才进入图谱。详见下文 归一 vs 映射图解 与 图谱实例浏览。
Pod 来自 Kubernetes(K8s),不是物理服务器,也不是集群 Node。可以把它理解成:
物理机 / 虚拟机
└── Node(K8s 集群节点 · 宿主机)
└── Pod(容器工作负载实例 · 最小调度单元)
└── Container(真正跑进程的容器)
支付网关(TechnicalService · 逻辑服务)
▲
│ member_of(以下 3 个 Pod 属于该服务)
│
├── pay-gw-01(Pod)
├── pay-gw-02(Pod)
└── pay-gw-03(Pod)
上图 ① 是机房/K8s 物理层级;图 ② 是运维语义层——多个 Pod 实例属于同一个技术服务。不要混成一棵树。
| 本体类 | 是什么 | 不是什么 | 华东金融云举例 |
|---|---|---|---|
| Pod | K8s 里的容器工作负载实例 | ≠ 物理机 ≠ 虚拟机 ≠ Node | pay-gw-03(支付网关的一个运行实例) |
| Node | K8s 集群里的节点(常对应一台 VM/物理机) | ≠ Pod | node-07(宿主机,Pod 跑在它上面) |
| PhysicalServer | 机房物理服务器 | 更底层 | srv-k8s-node-05 |
| NetworkDevice | 交换机、路由器 | — | SW-CORE-02 |
| TechnicalService | 运维视角的「技术服务」(逻辑服务单元) | ≠ 单个 Pod,是多个 Pod 的集合 | 支付网关(下面有 3 个 Pod) |
关系链:Pod runs_on Node;多个 Pod member_of 支付网关。告警 ALERT-991 observed_on 某个 Pod,不是 observed_on 某台交换机。
归一词典的目的,是构建图数据吗?——是,但是间接的。归一词典本身是一张「对照规则表」,不直接存图;同步时靠它把多源数据挂到同一个节点上,图才不会碎成一堆重复对象。
sequenceDiagram participant CMDB as 蓝鲸 CMDB participant PROM as Prometheus participant ETL as 同步 ETL participant MAP as 字段映射规则 participant DICT as 归一词典 participant NEO as Neo4j 图谱 Note over MAP,DICT: 都在 Pack 里预先配置(设计时) PROM->>ETL: 告警 ALERT-991
labels.pod = pay-gw-03 ETL->>MAP: ① 查映射:labels.pod → Pod.name MAP-->>ETL: 取出值 pay-gw-03 ETL->>DICT: ② 查归一:pay-gw-03 是哪个 ci_id? DICT-->>ETL: ci-pod-pay-gw-03 ETL->>NEO: ③ 写入/合并节点
Pod(ci_id, name, …)
Alert ─observed_on─► Pod CMDB->>ETL: 另一条记录 PAY-GW-POD-03 ETL->>DICT: ② 同一 ci_id ETL->>NEO: ③ 合并到同一节点,不新建
namespace=payment 来自 K8s → 需要映射行:K8s.Pod.metadata.namespace → Pod.namespaceseverity=P2 来自 Prometheus → 需要映射行:Alert.labels.severity → Alert.severitypay-gw-03 是身份 → 映射取出后,再经归一得到 ci_id| 你的疑问 | 答案 |
|---|---|
| 先做映射还是先有归一词典? | 配置时两者都先在 Pack 里建好;同步时对身份类字段:先映射取值 → 再查归一 → 再写入图谱。 |
| 它俩是不是一回事? | 不是。映射 = 字段路径;归一 = 多源别名合并。只有「身份类」字段会同时用到两者。 |
| 归一词典 = 构建图? | 归一是让图不碎的规则;真正构图的是 ETL 把实例+关系写入 Neo4j。 |
| 归一词典 | 字段映射 | |
|---|---|---|
| 管什么粒度 | 一个真实对象(一条 ci_id) | 一类对象上的一个属性怎么取值 |
| 管什么内容 | pay-gw-03 = PAY-GW-POD-03 → 同一 ci_id | 凡是 Pod,namespace 从 K8s metadata.namespace 取 |
| 类比 | 这个人的身份证号和曾用名 | 填表说明:「这一栏从哪抄」 |
| 配置在 Pack 里 | 按对象维护别名表 | 按「数据源·源类·字段→本体属性」维护规则行 |
| 同步时 | 身份字段取值后,查表绑 ci_id | 对每条源记录执行,填实例各属性值 |
| 层 | 做什么 | 存在哪 | 原型入口 |
|---|---|---|---|
| ① 本体构建 | 定义「表结构」:有哪些类、属性、关系(TBox) | Pack 配置 | 进入本体构建 |
| ② 映射 + 归一 | 定义「数据怎么灌进来」:属性从哪取 + 身份怎么对齐 | Pack 配置 | 进入映射与归一 |
| ③ 图谱实例 | 灌进去之后的真实对象(pay-gw-03、ALERT-991) | Neo4j(ABox) | 查看图谱实例 |
①② 是设计时在 Pack 里配的规则和模型;③ 是运行时 ETL 同步写入图数据库、智能体和用户实际查询的对象。
flowchart TB
subgraph Pack["领域 Pack 文件(设计时 · 不进 Neo4j)"]
TBOX[TBox 本体模型
22 类 / 属性定义 / 关系类型 / 规程]
MAPR[字段映射规则]
DICTR[归一词典规则]
end
subgraph Runtime["运行时(同步后)"]
ETL[连接器 + ETL]
ABOX[(Neo4j 知识图谱
ABox 实例)]
INST1[Pod pay-gw-03]
INST2[Alert ALERT-991]
INST3[ChangeRequest CHG00412]
ETL --> ABOX
ABOX --> INST1
ABOX --> INST2
ABOX --> INST3
INST2 -->|observed_on| INST1
INST3 -->|targets| INST1
end
TBOX -.定义结构.-> ETL
MAPR --> ETL
DICTR --> ETL
subgraph External["仍留在源系统(不全量入图)"]
CMDB[(CMDB 全量台账)]
LOG[(Elastic 全量日志)]
MET[(Prometheus 时序)]
end
ABOX -.需要时现场查.-> CMDB
ABOX -.需要时现场查.-> LOG
ABOX -.需要时现场查.-> MET
Pack 存的是「.schema + 规则」(TBox + 映射 + 归一),不是把全公司机器塞进 YAML。Neo4j 存同步后的实例节点和关系边(ABox),供智能体拓扑遍历。原型中可在「图谱实例」页查看已入图对象。
一个对象在 CMDB 里可能有上百个字段——不是全进图谱。按场景能力问题裁剪:智能体办事链路上用得上的才同步入图,其余通过「可调用工具」现场查源系统。
| 数据类型 | 是否入 Neo4j | 原因 | 举例(支付网关场景) |
|---|---|---|---|
| 身份 + 拓扑 | ✅ 入图 | 跨系统串链、影响面展开 | ci_id、name、runs_on、depends_on、supports |
| 场景判断属性 | ✅ 入图 | 规程检查、报告生成 | Alert.severity、BusinessService.is_critical、ChangeRequest.status |
| 全量监控时序 | ❌ 不入图 | 数据量大、变化快 | P99 曲线 → 现场查 Prometheus |
| 全量应用日志 | ❌ 不入图 | 体量巨大 | 15 分钟错误日志 → 现场查 Elastic |
| CMDB 扩展字段 | ❌ 一般不入 | 非本场景必需 | 采购合同号、机柜 U 位 → 需要时再调 CMDB 工具 |
存哪:运行时 Neo4j 图数据库。每个实例是一个节点(带类标签和属性),关系是边。华东金融云样例对齐 seed/neo4j_ops_paygw.cypher。
怎么来:连接器按字段映射 + 归一词典 ETL 同步(或咨询交付种子灌入)。不是用户在「本体构建」里手工逐条录入——那是定义类,不是灌实例。
用户怎么看:产品原型 → 领域包管理 → 「图谱实例」(按类筛选、查看属性与关系、跳转拓扑)。与「本体构建」区别:
| 本体构建 | 图谱实例 | |
|---|---|---|
| 存什么 | 类 / 属性定义 / 关系类型(TBox) | pay-gw-03、ALERT-991 等真实对象(ABox) |
| 存在哪 | Pack 配置 | Neo4j |
| 谁维护 | 咨询工作坊 + 管理员表单 | ETL 自动同步 + 归一人工补录 |
| 原型入口 | 进入本体构建 | 查看图谱实例(领域包管理蓝色卡片) |
问题:同一台支付网关 Pod,CMDB 叫 PAY-GW-POD-03,Prometheus 叫 pay-gw-03,工单里写「支付网关 03 号实例」。如果不对齐,图谱上会变成 3 个节点,智能体就乱了。
归一词典做的事:规定一个主键 ci_id(如 ci-pod-pay-gw-03),把所有别名都指到这个主键上。
| 主键 ci_id | 规范名 | CMDB 写法 | Prometheus 写法 |
|---|---|---|---|
| ci-pod-pay-gw-03 | pay-gw-03 | PAY-GW-POD-03 | labels.pod=pay-gw-03 |
| ci-node-07 | node-07 | SRV-K8S-NODE-07 | host-10-1-2-7 |
| ci-lb-pay-01 | pay-lb-01 | LB-PAY-PROD-01 | VIP 10.2.1.100 |
数据从哪来:手工维护 + 咨询交付导入;新 Pod 上线持续添加别名。原型中可在「映射与归一 → 归一词典」添加条目。
ops:get_alert),不是 Prometheus/ITSM 的原始 API 名。智能体只能调用 Pack 里已声明的能力;编排里的「绑定可调用工具」是从声明清单里选。
| 概念 | 是什么 | 谁开发 / 谁配置 |
|---|---|---|
| 第三方系统 Prometheus、CMDB、ITSM、Elastic | 客户已有的监控/台账/工单/日志系统 | 客户或厂商维护;只需提供标准 REST/OpenAPI + Webhook,不必按 EASH 格式暴露「能力」 |
| 连接器 Connector | 把外部系统地址、凭证、同步策略接到平台;负责入图或回源通道 | FDE / 实施在「业务系统连接」配置;复杂系统由 EASH 或伙伴 开发 Connector 插件(见 platform/07) |
| 可调用工具 | 智能体办事时调用的原子动作,带 tool_id、入参 schema、关联 connector | Pack 声明(教辅-06 / packs/ops/tools/*.yaml);Adapter 实现多数由 EASH 平台预置,客户新场景由 FDE 按 ToolGate 规范扩展 |
flowchart TB
subgraph VENDOR["第三方(客户侧)"]
PROM[Prometheus API]
ITSM[ServiceNow API]
CMDB[蓝鲸 CMDB API]
end
subgraph EASH["EASH 平台"]
CONN[连接器 Connector
地址/密钥/同步]
ADP[Adapter 适配器
平台或 FDE 开发]
TG[ToolGate 工具网关
鉴权/Scope/审计]
DECL[④ 可调用工具
tools/*.yaml]
ORCH[⑤ 智能体编排
步骤绑定可调用工具]
HAR[Harness 运行时]
end
PROM & ITSM & CMDB --> CONN
CONN --> ADP
DECL --> TG
ADP --> TG
ORCH --> HAR
TG --> HAR
HAR -->|get_alert| ADP
| 必填 | 说明 |
|---|---|
tool_id | 全局唯一,如 ops:get_alert(带 Pack 命名空间) |
schema.input / output | JSON Schema;参数名应对齐本体属性(如 alert_id、ci_id) |
connector + handler | 调用时走哪个连接器插件(prometheus-v1…)+ Adapter 代码路径(如 adapters.prometheus.get_alert),后者决定API 路由模板 |
type | graph_query(查图谱)/ rest_adapter(API 回源)/ command_template(经客户自动化平台) |
write | 是否写操作;首期 ops-pack 默认只读 false |
标准文档:docs/platform/10-ToolGate工具接入规范.md · 教辅 教辅-06-MCP工具清单与参数schema.md
| 来源 | 谁做 | 何时用 | 例子 |
|---|---|---|---|
| A · Pack 模板自带 | EASH 产品 | 首期 ops-pack 开箱即用 | get_alert、trace_ci_to_service、list_changes(已在 packs/ops/tools/) |
| B · 平台 Adapter + 现场声明 | EASH 提供 Adapter;FDE 在 Pack 里声明并关联 Connector | 客户接了 Prometheus/ITSM,映射已通 | 声明 query_metrics 关联 prometheus-v1 |
| C · 新 Connector + 新 Tool | FDE/研发按 platform/07、10 开发 | 客户用非标系统或要写操作 | 自研工单系统 → 新 Connector → 新 list_changes Adapter |
ops:get_alert,在 Pack 里声明这条 Tool。图谱类 vs API 回源类:
· trace_ci_to_service、trace_impact → 主要查 Neo4j(①②③ 已入图的数据)
· get_alert、list_changes → ToolGate 经 Connector 按需调 Prometheus/ITSM(路径 B)
· query_logs → 回源 Elastic;若②映射未完成,能力标「待对齐」,评测会失败(EV-LOG-03)
| 层 | 配什么 | 在哪配 | 例子 |
|---|---|---|---|
| ① 连接器实例 | 现场 base URL、密钥、同步策略 | 管理后台 · 业务系统连接 | https://prometheus.hfec.prod:9090https://alertmanager.hfec.prod:9093 |
| ② 可调用工具 | tool_id、connector 插件、handler、入参 schema | Pack ④ 可调用工具 | ops:get_alert → prometheus-v1 + adapters.prometheus.get_alert |
| ③ 编排绑定 | 诊断第 N 步调用哪个已声明能力 | Pack ⑤ 智能体编排 | 步骤 1 绑定 get_alert |
get_alert 为例:alertmanager_url = https://alertmanager.hfec.prod:9093adapters.prometheus.get_alert 内固定路由:GET /api/v2/alerts?filter=alert_id="{alert_id}"一个连接器(如 Prometheus)往往暴露多个 REST 动作:查告警、查指标、查规则……每个动作对应不同的handler + 路径。所以表单里除了选「关联连接器」,还要选 Adapter handler,并预览 API 路由模板(只读)。
图谱类能力(graph_query)无外部 REST,handler 指向 Neo4j Cypher 模板,连接器选平台内置图谱。
工程 SSOT:packs/ops/tools/get_alert.yaml(adapter.connector + adapter.handler)· docs/platform/10-ToolGate工具接入规范.md · 研发落地:FDE 能力开发手册
| 步骤 | 操作 |
|---|---|
| 1 | 领域包 → ③½ 打开 AI接口适配助手 |
| 2 | 选择输入方式:OpenAPI / 粘贴说明 / 粘贴代码 → 选连接器 → 开始适配 |
| 3 | 在对话区查看 AI 解析;右侧预览 tools/*.yaml 草稿 |
| 4 | 沙箱试跑 → 失败则「自动修复并重试」或对话输入「继续修复」 |
| 5 | 试跑通过 → 写入可调用工具 → ⑤ 编排绑定 |
详细需求:AI接口适配助手-产品需求.md · FDE 手册:开发手册 §AI接口适配助手
入口:领域包管理 → ③½ AI接口适配助手(推荐)或 第四步:进入可调用工具配置。
| 操作 | 说明 |
|---|---|
| 查看已声明能力 | 中文名、id、Adapter handler、API 路由模板、关联连接器、可用状态 |
| 创建工具 | 选类型 → 选连接器实例(只读显示基础 URL)→ 选 handler → 预览 API 路由 → 填入参 |
| 编辑 / 删除 | 可改名称/状态;handler 与路由只读,改 URL 请去「业务系统连接」 |
| 从咨询交付导入 | 导入标准 ops 工具清单(华东金融云样例) |
保存后,智能体编排「绑定可调用工具」下拉自动同步本表;未声明的能力不会出现。三层配置详解见 API 怎么对应。
完整映射是四层,原型「映射与归一 → 字段映射」已按此实现,并支持手工添加数据源与映射行:
| 层 | 含义 | 举例 |
|---|---|---|
| ① 数据源 | 哪个系统 | Prometheus / 蓝鲸 CMDB / ServiceNow |
| ② 源类 / 表 / 资源类型 | 系统内的对象类型 | CMDB「主机」、K8s Pod、ITSM change_request |
| ③ 源字段 | 该类型上的字段 | labels.pod、metadata.namespace、number |
| ④ 本体类.属性 | Pack 里定义的目标 | Pod.name、Pod.namespace、ChangeRequest.change_id |
labels.pod → 本体 Pod(经归一)· 关系 observed_onservice_id → 本体 TechnicalService.service_idcmdb_ci → 关系 ChangeRequest.targets → ConfigurationItem
入口:领域包管理 → 进入映射与归一 → 左侧「数据源」可先添加 Elastic/Splunk 等,再在「字段映射」里配置四级映射。
是什么:本体的数据结构——类、属性、关系。TBox,还没有具体机器数据。
数据从哪来:咨询工作坊产出 → 导入咨询交付包;或表单编辑。华东金融云样例:22 类全表见 consulting-kit。
不像 CMDB 因为:还包含 Alert、规程、智能体步骤等 CMDB 通常不建的概念。
是什么:多源别名 → 唯一主键 ci_id 的对照表。
数据从哪来:CMDB/监控/工单管理员联合维护;新资源上线时登记。
是什么:各系统的类.字段 → 本体类.属性的对齐规则(含转换:枚举、时间格式等)。
数据从哪来:各数据源 Owner 填表(教辅-07 / 咨询交付映射章);连接器按此 ETL。
是什么:智能体办事时必须遵守的硬规则,Harness 强制执行,不由大模型判断。
举例:R02 生产 LB 重启必须在维护窗口内;R04 未审批变更不得建议执行。
数据从哪来:运维制度、变更管理委员会规则、专家访谈;不是 CMDB 同步来的。
和本体的关系:规程约束「智能体输出的建议是否合法」,属于语义层,和「类/属性」并列,都在第一阶段定义。
是什么:智能体的「手」——Pack 允许调用哪些办事动作(查告警、查变更、查拓扑),含 tool_id、入参 schema、关联连接器。
不是什么:不是 Prometheus / ITSM 的原始 REST API 名;不是让 LLM 随便调客户接口。
和编排的关系:此处声明能力清单;智能体编排里每步绑定其中一项。未声明的能力不能绑。
是什么:一个会办事的智能体——何时触发、按什么步骤查、每步绑定哪个已声明能力、输出什么报告。
举例:场景 A「支付网关根因分析」7 步;场景 B「资产与依赖查询」4 步。
数据从哪来:诊断协议工作坊(咨询交付-场景A/B);运行时 Harness 按步骤调④已声明能力。
是什么:用真实历史故障当考题,发布前智能体必须考过(如通过率 ≥85%)。
举例:EV-01 输入 ALERT-991,金标准必须含 CHG00412;EV-ASSET-01 必须列出 3 个 Pod。
数据从哪来:SRE 提供脱敏真实 case;咨询交付 / 教辅-10。
| 维度 | 传统 CMDB | EASH 本体语义(ops-pack) |
|---|---|---|
| 主要为谁建 | 人——资产治理、台账查询、变更关联(管理员/SRE 直接查界面) | 智能体——Harness 按步骤遍历图谱、调工具、过规程门禁(人通过工作台看结果) |
| 构建目标 | 全公司配置项权威台账,越全越好 | 让智能体能回答场景问题(根因、影响面…),按场景裁剪 MVO |
| 驱动问题 | 「公司有哪些资产?归谁管?」 | 「ALERT-991 根因是什么?会影响哪些业务?」(能力问题 CQ) |
| 数据范围 | 偏重结构层 CI:服务器、网络、应用、依赖 | 结构层 + 动态层(Alert、Event)+ 规程层(ChangeRequest、办事规程)+ 智能体层(步骤、评测) |
| 关系怎么用 | 人看拓扑图、做影响分析 | 智能体自动串证据链:告警 → Pod → 服务 → 变更 |
| 与 CMDB 关系 | 自身即权威源 | 不替代 CMDB;从 CMDB 同步子集,并扩展智能体语义 |
flowchart LR
subgraph CMDB["传统 CMDB · 为人建"]
H1[资产管理员 / SRE]
C1[(配置项台账
CI 类型全 · 字段多)]
H1 -->|查界面、导报表| C1
end
subgraph EASH["EASH 本体 · 为智能体建"]
AG[智能体 + Harness]
ONTO[本体语义 TBox
类 / 属性 / 关系]
RULE[办事规程 R01-R05]
PROTO[诊断步骤 / 评测]
GRAPH[(Neo4j 场景子图)]
ONTO --> GRAPH
RULE --> AG
PROTO --> AG
AG -->|trace / 规程检查| GRAPH
end
C1 -.同步子集.-> GRAPH
重叠部分(Pod、Node、服务、depends_on…)不必重复造轮子——工作坊梳理场景后,从 CMDB 复用类名与关系,经字段映射 + 归一同步实例入图即可。
| 担心 | 实际做法 |
|---|---|
| 类太多 | 首期只建场景需要的 22 类,不是 CMDB 几千个 CI 类型 |
| 映射太复杂 | 只映射本场景用到的数据源字段(如支付网关链路),87%→100% 是增量 |
| 实例太多 | 图谱存相关子图(支付 namespace),不是全公司 1 万台机器一次入图 |
| 各系统模型不一 | 归一词典 + 四级映射表;未解析的进队列人工处理,不硬编 |
| 谁来做 | 咨询工作坊 1~2 周产出 MVO;平台用表单+导入,不是手写 YAML |
华东金融云样例已经证明:一条告警根因链 + 一条资产查询链可以用同一套 22 类本体跑通。验证产品可行后,再扩展下一个场景(日志、指标),类表可复用、映射可追加。
在管理控制台 → 智能体编排中,为每个场景智能体定义办事步骤,每步从「可调用工具」清单中绑定一项。Harness 按步骤调用 ToolGate,办事进度在工作台右侧逐步点亮。
| 操作 | 原型路径 |
|---|---|
| 新建 / 编辑智能体 | 编排页三栏 · 步骤 CRUD + 绑定可调用工具 |
| 保存草稿 / 发布 | 评测未通过时发布被门禁拦截 |
| 预览运行 | 跳转工作台并演示办事进度动画 |
评测中心用真实历史故障脱敏 case检验智能体输出。通过率未达门禁(如 ≥85%)则不得发布。失败案例可跳转字段映射或连接器修复。
连接器是智能体访问客户现网系统的入口(CMDB、Prometheus、ITSM、日志等)。Pack 里的「可调用工具」定义智能体能调什么;连接器定义调到哪里。
| 操作 | 路径(原型) | 说明 |
|---|---|---|
| 新建连接 | 管理端 → 业务系统连接 → 新建 | 选类型 → 填地址/密钥 → 保存并自动测试 |
| 测试连接 | 卡片「测试连接」或「全部测试」 | 成功/失败 Toast;日志类可能显示「映射中」 |
| 配置同步策略 | 业务系统连接 → 编辑 → 同步策略 | 模式(Push/Pull/按需)、Cron、首次同步、同步对象(本体类) |
| 立即同步 | 连接器卡片 / 数据同步 中心 | 触发 GraphSync 入图;编排同步可一次跑多源 |
| 查看进度 | 管理端 → 数据同步 | 任务历史、映射 % vs 同步 %、DLQ 失败重试 |
| 继续映射 | Elastic 卡片 → 继续映射 | 跳转领域包「字段映射」,补齐 log.level 等属性 |
| 演示:最小接入 | 顶栏「演示:完整接入」切换 | ITSM 显示未配置,工作台根因会话缺变更证据(ALERT-992 样例) |
| 导出配置 | 工具栏「导出配置」 | 脱敏 JSON,供备份或迁移 |
上线工作台是租户管理员的汇总页:一眼看清 Pack 安装、连接器、编排、评测是否就绪,以及今日办事情况。
从咨询交付包导入本体、映射、规程
业务系统连接 + 数据同步策略与入图
智能体步骤、评测门禁、运行态启停
Webhook 自动推送 · 值班员工作台
| 区块 | 你能做什么 |
|---|---|
| 八步上线旅程 | 每一步可点击跳转(领域包 / 导入 / 连接 / 编排 / 评测 / 智能体管理 / 集成 / 工作台) |
| 今日办事记录 | 查看值班员办事摘要;「回放」打开 Trace 时间线 |
| 连接器健康度 | 与「业务系统连接」页数据同步;异常时横幅提示去修复映射 |
| 待办横幅 | Elastic 映射 < 95% 时提示,引导完善字段映射 |
工作台是中文对话 + 右侧上下文:不暴露 YAML、protocol_id;值班员用自然语言办事,Harness 在后台按规程执行。右上角皮肤切换支持「值班青绿」与「企业克莱因蓝」(与管理员后台一致)。
| 页面 | 功能 |
|---|---|
| 智能对话 | 多会话切换(告警根因 / 查询 / 影响面 / 资产问数 / 日志 / 指标);右侧展示告警、CI、变更等上下文;办事进度与编排步骤对齐 |
| 办事记录 | 历史摘要列表;点击行恢复会话;支持勾选导出/删除 |
| 消息操作按钮 | 「继续根因分析」「查看拓扑」「查看完整报告」「生成工单草稿」等 → 打开二级全屏页(拓扑 / 报告 / 工单 / 日志 / 图表) |
| 拓扑渲染 | 使用 Mermaid 自动布局(中文不乱码);编码版可升级为 Cytoscape 交互拓扑 |
EASH 支持多种薄入口:后端仍是同一套 Pack + Harness + 智能体,只是用户从企微、工单侧边栏或 Webhook 进来。
| 方式 | 适用 | 原型操作 |
|---|---|---|
| EASH 工作台 | 默认推荐 | 集成页 → 打开工作台 |
| 告警 Webhook | Alertmanager 自动推送 | 复制 Webhook URL → 回放自动分析 Trace |
| 企业微信 / 钉钉 | 移动值班 | 查看回调配置 → 导出接入文档 |
| ITSM 侧边栏 | 处理故障单时 | 嵌入脚本说明 |
| MCP | 开发调试 | 端点说明;生产仍建议经 Harness 审计 |