资讯动态

AIOps 智能运维平台:从告警到自动修复的完整链路

发布时间:2026/10/19 3:30:08 来源:尧图企业网站定制
凌晨 2 点K8s 集群 Pod 反复重启告警群炸了。你登录服务器、查日志、定位根因、手动重启——40 分钟后服务恢复。第二天同样的告警又来了一次。这个项目要解决的问题是让 AI 完成“查状态 → 分析日志 → 执行修复 → 验证结果”的推理闭环人只需要在高危操作前点一次“批准”。项目地址GitHub - scwjsdgs/AiOps: 基于 AI Agent Spring Boot Vue 3 的智能运维平台实现告警自动分析、根因定位与修复执行的全链路闭环。 · GitHub从 0 到 1 构建生产级 AIOps 平台LangGraph 与 RAG 的深度实战闭环 引言在云原生时代传统的“告警触发 - 人工排查 - 手动修复”运维模式链路长、响应慢、极易出错。本文将分享一套基于Python LangGraph 多智能体与 Java Spring WebFlux构建的生产级 AIOps 智能运维平台。系统不仅实现了从底层 Prometheus 告警到 K8s 自动修复的全自动闭环更重点解决了企业级落地中的三大痛点:大模型幻觉控制、高危操作安全拦截、以及外部依赖崩溃时的系统级降级。️ 一、 核心架构设计系统采用“决策与执行分离”的异构架构确保 AI 物理上无法越权直接操作集群1. Java 中枢网关负责高并发告警接入、降噪聚合、工具白名单校验、真实 K8s 执行与 WebSocket 推送。2. Python AI 大脑基于 LangGraph 构建状态机负责多智能体协同推理、RAG 检索与反思审阅。3. 双层安全防线模型只能调用 Java 暴露的只读工具涉及写操作如重启、回滚必须触发 interrupt() 挂起等待人类审批。️ 二、 生产级高可用与容错机制核心亮点在真实的运维场景中AI 系统必须比传统脚本更“抗造”。1. 物理级工具白名单 (Tool Allow-list)系统严禁大模型拥有任意命令执行能力。即使发生提示词注入攻击AI 也只能调用白名单内的安全工具。诸如 generic_command (任意 Shell 执行) 等高危工具被永久隔离在 AI 权限之外仅限人类在控制台手工执行。2. 强制人机协同与 Fail-Closed 兜底涉及扩缩容、回滚等写操作时LangGraph 会触发 interrupt()将图状态持久化至 Checkpointer 挂起。实测数据在模拟告警风暴场景下系统瞬间积压了 **81 个待审批请求**。兜底表现系统严格执行 55 秒超时机制**自动拒绝了 82 次超时的高危操作**。宁可放弃修复也绝不带着风险执行变更。3. 大模型级联降级验证 (Cascading Fallback)由于外部 LLM 接口存在网络抖动或欠费风险系统设计了多级降级策略Rerank 精排失败降级使用 RRF 融合粗排。Query 改写失败降级使用原句检索。Reflection 审阅失败默认放行保证主流程流转。在实测中当阿里云 API 突发 401 欠费报错时系统依靠本地向量库与 DeepSeek 主模型依然成功输出报告并且大模型严格遵守了防幻觉约束回答“*证据不足不予提供也不编造*”。 三、 工业级 RAG 与自学习闭环单纯的“向量检索”不足以支撑复杂的运维场景。双路召回流水线Query 改写 - BM25 关键词 Chroma 向量双路召回 - RRF 融合 - Rerank 精排 Top3。文本切分策略采用 RecursiveCharacterTextSplitter按 500 字符切分重叠 50 字符防止语义截断。案例自学习机制每一次诊断闭环完成后系统会自动将本次故障报告 Embedding 进 Chroma 案例库下次遇到相似告警时Agent 优先检索历史经验实现系统越用越聪明。 四、 核心排错实战记录1. 惊险的“孤儿 ToolMessage”报错在 LangGraph 多轮工具调用中如果滑动窗口裁剪 (trim_messages) 逻辑不当极易把 AIMessage(tool_calls) 和紧随其后的 ToolMessage 切断导致大模型报错Messages with role tool must be a response to a preceding message with tool_calls。解决方案在子图节点清洗阶段增加成对校验逻辑自动过滤孤儿消息同时在 Send 分发并行子图时隔离局部状态从干净的 System/Human 消息开始确保上下文绝对干净。2. 统计噪声导致的预测性误报系统基于 μ±3σ 算法做基线预测时曾遇到底层系统组件 local-path-provisioner 因为偶发调度导致 CPU 从 0.0012 核跳到 0.0347 核触发严重警报。AI 表现Agent 综合了日志、K8s 事件与历史数据不仅判定出这是“统计噪声”甚至顺带查出了监控工具因命名空间传错导致的“查无此服务”的 Bug主动放弃了无意义的修复。️ 五、 本地快速启动指南1. 拉起基础依赖 (MySQL/Redis/K8s)docker compose up -dkind create cluster --config kind-config.yamlbash apply-monitoring.sh2. 启动 Java 中枢 (端口 8081)cd ops_agent ./mvnw spring-boot:run3. 启动 Python 大脑 (端口 5000)cd aiops-agent python -m venv .venv source .venv/bin/activatepip install -r requirements.txt uvicorn main:app --reload4. 启动前端控制台 (端口 3000)cd ops-agent-front npm install npm run dev 六、 后续演进规划MCP Server 网关将现有的 Java 工具网关封装为标准的 Model Context Protocol (MCP) Server支持多端复用与动态工具发现。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑