能力概览
Ongrid 组织成一个 4 层栈。这么拆是因为每层有不同的迭代节奏、不同的爆炸半径、 不同的审计姿态 —— 把它们坍缩在一起会出现 "AI agent 满地 ssh" 的反模式,那是 早期原型踩过的坑。
这对运维为什么重要
下面那些横切能力(审计、按角色门控、热切 provider、爆炸半径走图)每一个都 住在某个具体层里。你要是有 "X 怎么不工作" 的问题,这一页把它分到哪层,配置 就在哪层里。
四层
L1 —— 集群
物理或虚拟基础设施:主机、manager 进程、内嵌的 MySQL / Prometheus / Loki / Tempo / Grafana / Qdrant 栈,以及双向的 geminio tunnel broker。
Ongrid 不抽象这一层 —— 没有 inventory schema,没有 CMDB。host 在 edge agent 拨号回家时被发现。集群层是 "manager 二进制运行时碰到的所有东西"。
L2 —— Edge tunnel + 设备直达
每台主机跑一个 ongrid-edge 二进制,往 manager 建一条单向出站的 geminio 连接。tunnel 多路复用:
- 反向 RPC —— manager → edge 调用,在 host 上调用 skill (
Caller.Call(ctx, edgeID, method, body),internal/manager/biz/aiops/tools/registry.go:34)。 - WebSSH 流 —— 走专用流 class 的交互式终端流量,见 WebShell。
- 插件信令 —— 一条控制通道,告诉 edge 派哪些子插件 (
promtail、otelcol、node-exporter)。
"设备直达" 是 L2 的核心赌注:manager 寻址真实的主机,而不是服务抽象。Agent 说 "在 edge-prod-04 上重启 nginx" 时,正好一台主机跑那条命令。
L3 —— 智能
graph-kernel ReAct agent、tool registry、persona registry、知识库、LLM provider 路由器。完全住在 manager 侧,只通过工具包跟 L2 说话。
关键文件:
internal/manager/biz/aiops/tools/—— 30+ 个 BaseTool,LLM 的双手。internal/pkg/llm/——MultiClient、RoutingChatModel、BudgetChecker。internal/manager/biz/knowledge/—— Qdrant + vault + upload。
L4 —— 告警
规则评估、incident 生命周期、自动 RCA 扇出、通道路由、抑制。由 L1 收上来 的 Prometheus + Loki + Tempo 信号驱动,触发时通过 L3(investigator persona) 回写。
关键文件:
internal/manager/biz/alert/pipeline.go—— evaluator tick。internal/manager/biz/alert/investigator/usecase.go—— 自动 RCA。
能力矩阵
| 能力 | 层 | 页面 |
|---|---|---|
| 告警规则(8 指标 + 6 日志/链路类型) | L4 | 告警 |
| incident 触发时自动根因分析 | L3 + L4 | RCA |
| Prometheus + Grafana 嵌入 | L1 | 监控 |
| Loki 日志搜索 + 日志告警 | L1 + L4 | 日志 |
| Tempo 链路搜索 + 链路告警 | L1 + L4 | 链路 |
| 服务 / 设备拓扑图 + 爆炸半径走图 | L3 | 拓扑 |
| 对 vault + 你自己的 repo 做 RAG | L3 | 知识库 |
| 30+ 主机 / 可观测 / 知识工具 | L2 + L3 | 技能 |
| 带完整会话录制的 WebSSH | L2 | WebShell |
这一页不是什么
这是面向运维的概览。设计依据(为什么把 PromQL 作为标准谓词保留、为什么 edge 拨出去、为什么 remote_write 而不是 scrape)请看 GitHub repo 里 docs/ 树的 ADR/HLD 索引。
另见
- 架构 —— 同样的 4 层分法,以部署图形式表达。
- 概念 —— 词汇表(edge、device、incident、persona、 scope)。
- 告警规则 schema —— 告警 页总结的 规则行的 wire format。