AIOps 边缘运维闭环实践:PVE、Ceph、网络设备、裸金属与平台审计
边缘机房的运维平台,真正困难的不是“能不能连上设备”,而是“连上以后如何安全地执行、如何记录、如何失败隔离、如何给用户一个可信的结果”。
这个 AIOps 项目已经把 PVE、Ceph、网络设备、裸金属、公网 IP、SNAT 映射和平台审计放进了同一个闭环。但闭环设计来自真实运维知识:哪些命令只能只读、哪些操作必须二次确认、哪些凭据不能落盘、哪些产物不能直接给 AI。
本文主要讲功能和实现方法,不展开源码。重点不是证明“AI 能写代码”,而是说明:没有足够的运维和安全知识储备,很难写出让 AI 稳定落地这类平台的提示词。
1. 为什么边缘运维要做成闭环
边缘机房通常具备几个特点:机房多、网络边界复杂、内网地址可能重复、资源类型不统一、现场凭据敏感、故障排查窗口短。
如果用脚本方式处理,短期很快,长期会遇到几个问题:谁执行的、执行了什么、失败在哪一步、产物在哪里、能不能重跑、有没有越权、是否泄露凭据。
AIOps 的设计目标,是把这些问题变成平台能力:
发起任务 -> 权限校验 -> 中心编排 -> edge-agent 执行 -> 结果回传 -> 产物归档 -> AI 分析 -> 平台审计
闭环的价值不只是自动化,而是可追溯、可治理、可交付。
这也是 AI 开发的第一道门槛。你必须先知道闭环里有哪些环节,才能要求 AI 去实现它们。只说“做一个自动化巡检”,AI 不会天然知道哪些场景需要失败隔离、哪些产物需要脱敏、哪些操作不能开放。
2. 这套闭环背后的工程量
边缘运维闭环不是几个脚本页面的组合,而是一个跨中心平台和边缘执行器的工程体系。按非空行粗略统计,整个 AIOps 项目约 2,957 个文件、30.7 万行工程内容,仓库文件清单约 3,100+ 个文件。
和边缘闭环强相关的部分主要集中在三块:后端约 2,067 个文件,负责模型、权限、审计、任务、产物和编排;前端控制台约 702 个文件,负责多资源域页面、表格、弹窗、导入导出和操作台;edge-agent 约 153 个文件,Python 非空行约 3.5 万行,负责真正进入边缘网络做受控执行。
从结构上看,后端有 69 个 Controller、112 个 Service 实现、143 个 DAO 接口;前端 src/pages 下约 258 个页面文件;edge-agent src 下约 82 个 Python 文件。这些数字背后,是大量“看不见但必须有”的生产细节:参数校验、状态机、异常分支、权限拒绝、审计脱敏、产物归档、版本兼容和边缘失败隔离。
所以,用 Claude+Codex 开发这套平台,并不是把一段脚本交给 AI 改成网页。它更像是让 AI 在明确架构和提示词约束下,持续完成一个多模块、多边界、多发布物的大工程。
3. PVE 虚机生命周期
PVE 虚机操作是高风险能力。平台没有把它设计成“输入 IP 后直接重启”,而是拆成解析、核对、确认、执行、审计几个步骤。
典型流程是:
| 步骤 | 说明 |
|---|---|
| 选择机房 | 确定边缘网络和 Agent 范围 |
| 输入虚机 IP | 支持单 IP 或多 IP 查询 |
| 解析候选虚机 | 从 PVE API、Guest Agent、配置和缓存中定位 |
| 用户核对 | 展示 VMID、节点、虚机名、IP、当前状态 |
| 二次确认 | 避免误操作高风险资源 |
| 执行动作 | 启动、停止、重置等受控操作 |
| 写入审计 | 保存操作者、目标、结果、失败原因和耗时 |
这里的“重置”被定义为“先停止再启动”,而不是直接执行 PVE 硬 reset。定义清楚动作语义,可以减少生产误解。
这类定义不是 AI 自动想出来的,而是运维经验转成提示词后的结果。越是高风险动作,越不能让 AI 自由解释业务语义。
4. Ceph 巡检与 AI 分析
Ceph 巡检不是复用 PVE 巡检接口,也不是把 Ceph 当成 PVE 的一个字段。它被设计成独立资源模型和独立巡检类型。
平台支持两类 Ceph:
| 类型 | 场景 |
|---|---|
| PVE 超融合 Ceph | Ceph 运行在 PVE 节点上,和 PVE 集群有关联 |
| 独立 Ceph 集群 | 独立存储集群,按机房和 Agent 单独登记 |
中心平台负责选择范围、解密凭据、调用 edge-agent、保存结果、生成 Excel/图表、触发 AI 分析。edge-agent 只执行白名单只读命令,并返回结构化 JSON。
这条边界能避免两个风险。
第一,中心平台不直接 SSH 到边缘节点,减少网络和凭据暴露面。
第二,edge-agent 不保存长期凭据和最终产物,不会变成边缘侧小数据库。
5. 网络设备巡检
网络设备巡检的关键不是“能跑命令”,而是命令必须白名单化、产物必须受控下载、私钥必须脱敏。
平台支持网络设备台账、测试连接、自测巡检、批量测试、批量禁用、导入导出和 SSH Key 批量更新。
SSH 认证分为两种模式:
| 模式 | 说明 |
|---|---|
| path | 保存 edge-agent 容器内只读私钥路径 |
| content | 前端提交 PEM 私钥,后端加密保存,接口和审计不回显 |
巡检产物下载也有边界。edge-agent 只允许下载网络巡检输出目录下的合法产物,拒绝 _work 目录、临时私钥、路径穿越和输出根目录。
这类安全细节决定了网络巡检能不能用于生产。如果 artifact 里混入私钥或原始敏感输出,自动化越强,风险越大。
因此,AI 生成网络巡检能力前,提示词必须先锁死边界:只读命令、白名单 runtime、私钥脱敏、artifact 下载范围、失败设备隔离、ZIP 结构、AI 输入截断。少一个约束,都可能变成生产隐患。
6. 裸金属与配置中心同步
裸金属管理不是简单维护服务器列表,它还涉及节点状态、BMC、业务 IP、客户归属、批量分配、批量回收、电源操作和外部配置源同步。
平台里裸金属能力采用几个原则:
| 原则 | 作用 |
|---|---|
| 托管源启用后阻断手工入口 | 避免 Gitea、钉钉在线文档和人工导入互相覆盖 |
| 批量操作先整批预校验 | 避免部分成功造成状态不一致 |
| 电源操作写入审计 | 保留高风险操作追溯链 |
| 长任务后端异步执行 | 避免大 Excel 或批量同步卡死前端请求 |
| 空业务 IP 不视为错误 | 支持故障、未交付或未安装系统节点 |
这些设计都来自生产场景。AI 开发时,如果只按“增删改查”实现,会漏掉大量状态机和运维边界。
7. 公网 IP 与 SNAT 映射
公网 IP 管理被放在边缘运维下,但它不是 edge-agent runtime 能力。公网 IP 是中心平台的权威数据,不需要 Agent 到网络设备上执行变更。
平台支持公网 IPv4 台账、CIDR 拆分、父子段关系、单 IP 分配、回收、删除、批量导入、运营商识别和审计。
SNAT 映射自动生成则是面向网络侧交付的能力:根据容器 IP 清单和公网 SNAT IP/CIDR 清单,轮询生成分组映射,保存不可变历史版本,并支持 Excel、TXT 下载和历史版本对比。
这类功能的重点是“生成可信交付物”,不是自动改防火墙。第一阶段不自动下发网络配置,是一个很重要的边界。
8. 平台操作审计
AIOps 把操作审计从“系统用户审计”升级成“平台操作审计”。审计域不只覆盖系统管理,也覆盖边缘运维等高风险模块。

审计页支持按审计域、模块、动作、状态、关键字和时间范围查询。表格保留操作者、目标用户、资源、状态、开始时间、耗时和详情入口。
生产审计要注意两件事。
第一,审计不是简单保存 HTTP 请求体。请求体里可能有密码、Token、私钥、OIDC 信息或验证码。平台只记录语义化快照和脱敏摘要。
第二,审计写入要覆盖成功和失败。失败记录同样重要,因为它能证明越权、参数错误、状态不允许等情况确实被平台拦截。
9. AI 分析如何接入
巡检的 AI 分析不应该把所有原始输出无脑塞进 prompt。这样既容易超长,也容易泄露敏感信息。
更合理的做法是使用任务摘要、设备状态、错误摘要、结构化 metrics 和经过截断的 resultJson。对网络巡检,默认不读取完整 raw 原始命令输出,也不直接下载 ZIP 给 AI。
这让 AI 分析更像“结构化诊断助手”,而不是“原始日志吞吐机”。它可以给出健康风险、异常项解释和排障建议,但不能替代白名单边界和人工确认。
换句话说,AI 在这里不是被放到生产系统里“自由判断”,而是被放到一个受控输入、受控输出、受控权限的诊断位置。这个边界设计比调用模型本身更重要。
10. 为什么这套方法适合 Claude+Codex
边缘运维闭环涉及很多跨层改动:前端页面、后端编排、权限 SQL、审计模型、Agent runtime、产物下载、AI prompt、发布文档和浏览器验证。
Claude+Codex 适合这种工作,因为它可以在同一个上下文里连续推进多个文件和多个模块。但要让它稳定产出,必须给出强约束:
先读设计文档。
先确认目标和非目标。
危险操作必须后端校验。
凭据不得回显。
SQL 必须幂等。
edge-agent 变更必须同步版本和 capabilities。
每轮变更必须写回开发流和发布说明。
这些约束把 AI 的产出从“能运行”推向“能上线”。
这里的含金量不在于“AI 帮我写了代码”,而在于你能把边缘运维的生产经验拆成清晰任务:哪些由中心平台负责,哪些由 edge-agent 负责,哪些必须进入审计,哪些必须拒绝,哪些必须在发布文档里提醒。
如果没有这些知识储备,即使模型能力很强,也只能生成一个看起来能跑、但很难上线的工具。
11. 小结
AIOps 边缘运维闭环的核心,不是把所有设备都接进来,而是把每一次查询、巡检、操作和分析都放进受控链路。
PVE 负责虚机生命周期,Ceph 负责存储巡检,网络设备负责只读网络巡检,裸金属负责节点和电源状态,公网 IP/SNAT 负责网络资源交付,平台审计负责把所有高风险动作串起来。
中心平台保存权威状态,edge-agent 做无状态受控执行,AI 分析基于脱敏结构化数据工作。这个组合,才是边缘运维从脚本走向平台化的关键。
这也是我认为 AI 开发真正有价值的地方:它让有经验的人把复杂系统更快落地,而不是让没有经验的人绕过系统设计、风险判断和生产验收。