用Claude+Codex开发的AIOps边缘自动化运维闭环实践:PVE、Ceph、网络设备、裸金属与平台审计

用Claude+Codex开发的AIOps边缘自动化运维闭环实践:PVE、Ceph、网络设备、裸金属与平台审计

Deng YongJie's blog 1 2026-07-04

AIOps 边缘运维闭环实践:PVE、Ceph、网络设备、裸金属与平台审计

边缘机房的运维平台,真正困难的不是“能不能连上设备”,而是“连上以后如何安全地执行、如何记录、如何失败隔离、如何给用户一个可信的结果”。

这个 AIOps 项目已经把 PVE、Ceph、网络设备、裸金属、公网 IP、SNAT 映射和平台审计放进了同一个闭环。但闭环设计来自真实运维知识:哪些命令只能只读、哪些操作必须二次确认、哪些凭据不能落盘、哪些产物不能直接给 AI。

本文主要讲功能和实现方法,不展开源码。重点不是证明“AI 能写代码”,而是说明:没有足够的运维和安全知识储备,很难写出让 AI 稳定落地这类平台的提示词。

aiops-edge-ops-closed-loop

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 把操作审计从“系统用户审计”升级成“平台操作审计”。审计域不只覆盖系统管理,也覆盖边缘运维等高风险模块。

aiops-operation-audit-sanitized

审计页支持按审计域、模块、动作、状态、关键字和时间范围查询。表格保留操作者、目标用户、资源、状态、开始时间、耗时和详情入口。

生产审计要注意两件事。

第一,审计不是简单保存 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 开发真正有价值的地方:它让有经验的人把复杂系统更快落地,而不是让没有经验的人绕过系统设计、风险判断和生产验收。