medamedameda/netops-incident-response

GitHub: medamedameda/netops-incident-response

一个 AI 驱动的网络事件分诊系统,模拟故障场景、关联告警事件,并利用 GPT-4o-mini 进行根因分析和生成修复建议。

Stars: 0 | Forks: 0

# NetOps AI 事件响应平台 一个 AI 驱动的网络事件分诊系统,它接收模拟的网络告警(syslog、SNMP traps、指标),将相关事件关联为事件,并使用 GPT-4o-mini 执行根因分析并生成可操作的修复步骤。 构建为作品集项目,展示面向网络支持工程师岗位的 AI 驱动型网络运维能力。 ## 功能 1. **模拟** 真实的网络故障场景(BGP 故障、链路震荡、DDoS 攻击、硬件故障) 2. **关联** 使用时间窗口、设备邻近度和因果模式分析来关联事件 3. **分析** 利用 AI 分析事件 —— GPT-4o-mini 判定根因、评估影响并生成具体的修复命令 4. **可视化** 网络拓扑,并实时高亮显示事件 ## 快速开始 ### 前置条件 - Python 3.12+(已在 3.14 版本测试) - Node.js 18+(已在 24.14 版本测试) - OpenAI API key(可选 —— 如无此 key,应用将使用模拟响应运行) ### 后端 ``` cd backend pip install -r requirements.txt # 可选:设置您的 OpenAI API key 以进行真实 AI 分析 # 若未设置,应用将使用逼真的预编写 mock responses set OPENAI_API_KEY=sk-your-key-here # Windows # export OPENAI_API_KEY=sk-your-key-here # macOS/Linux python -m uvicorn main:app --reload --port 8000 ``` API 文档: http://localhost:8000/docs ### 前端 ``` cd frontend npm install npm run dev ``` 仪表盘: http://localhost:5173 ## 架构 ``` React Frontend (Vite + TypeScript + Tailwind CSS) | REST API (Axios) v FastAPI Backend (Python 3.14) |-- Data Layer | |-- Synthetic Event Generator (4 failure scenarios) | |-- Network Topology (6-device Ashburn VA datacenter) | '-- In-Memory State (events + incidents) | |-- Intelligence Layer | |-- Correlation Engine (time / proximity / causal patterns) | '-- AI Analyzer (OpenAI GPT-4o-mini + caching + mock fallback) | '-- API Layer |-- GET /api/topology (devices + links) |-- GET /api/events (filterable) |-- GET /api/incidents (with correlated events) |-- POST /api/simulate (generate failure scenario) |-- POST /api/incidents/{id}/analyze (trigger AI analysis) '-- GET /api/dashboard (aggregated stats) ``` ## 模拟场景 | 场景 | 链条 | 受影响设备 | |----------|-------|-----------------| | **BGP 会话故障** | 配置变更 → MTU 不匹配 → BGP 中断 → OSPF 重收敛 → 延迟激增 | CORE-RTR-01, CORE-RTR-02, EDGE-RTR-01 | | **链路震荡** | CRC 错误 → 接口震荡 → 反复 up/down → OSPF 邻接丢失 | DIST-SW-01, ACCESS-SW-01, CORE-RTR-02 | | **DDoS / 流量异常** | 流量激增 → CPU 过载 → 连接表耗尽 → SLA 违规 | FW-EXTERNAL-01, EDGE-RTR-01, CORE-RTR-01 | | **硬件故障** | 设备宕机 → 所有接口丢失 → 所有路由会话中断 → 完全重收敛 | CORE-RTR-01, CORE-RTR-02, EDGE-RTR-01, DIST-SW-01 | ## 架构决策 **为什么选择内存存储而不是数据库?** 对于演示项目,内存存储将重点保持在 AI 和网络层面 —— 无需数据库设置。重启时状态重置,每次都能提供干净的演示环境。在生产环境中,您会使用 PostgreSQL + TimescaleDB 来存储时间序列事件数据。 **为什么选择 GPT-4o-mini 而不是微调模型?** GPT-4o-mini 开箱即具备广泛的网络工程知识。微调需要数千条标记的历史事件数据。对于作品集项目,Prompt Engineering 同样展示了集成技能。在生产环境中,一旦拥有历史数据,您可以考虑评估微调方案。 **为什么选择合成数据而不是真实网络轮询?** 合成数据无需实验室硬件即可实现可重现、特定的故障场景。该架构的设计使得生成器可以被替换为真实的采集(参见未来路线图)。 **为什么选择 FastAPI 而不是 Flask?** 自动生成的 OpenAPI 文档(位于 /docs 的 Swagger UI),原生的 Pydantic 集成用于类型化的请求/响应处理,以及对 OpenAI API 调用的 async 支持。 **为什么选择 SVG 而不是 D3 或 vis.js?** 对于 6 台设备和 6 条链路,React 中的原生 SVG 比引入库依赖更简单、更轻量。这也展示了 SVG 基础知识,对自定义监控仪表盘很有用。 ## 未来路线图 ### 真实网络集成 - 用 syslog 采集替换合成生成器(rsyslog → FastAPI webhook) - 通过 pysnmp 进行 SNMP 轮询以获取实时设备指标 - 使用 Netmiko/NAPALM 进行实时配置检索和自动修复 - 使用 Kafka/RabbitMQ 进行大容量事件采集 ### 预测分析模块 - 网络指标(延迟、丢包、CPU)的时间序列异常检测 - Prophet 或 LSTM 模型用于故障预测(提前 30-120 分钟) - 仪表盘组件:“Link-7 预计将在约 2 小时后发生性能降级” ### 配置自动化模块 - 上传配置以进行 AI 驱动的错误配置检测 - 基于规则的检查(缺失 ACL、OSPF 计时器不匹配) - LLM 分析细微的安全和优化问题 - 自动生成修复配置并提供 diff 预览 ### 生产加固 - PostgreSQL + TimescaleDB 用于事件持久化 - WebSocket 用于实时事件流 - 基于角色的访问控制 (RBAC) - Docker Compose 实现一键部署 ## 技术栈 | 类别 | 技术 | 用途 | |----------|-----------|---------| | 后端 | Python 3.14, FastAPI, Pydantic v2 | API、数据模型、验证 | | AI | OpenAI GPT-4o-mini | 根因分析、修复生成 | | 前端 | React 18, TypeScript, Vite | 基于组件的 UI 及类型安全 | | 样式 | Tailwind CSS v4 | 深色 NOC 风格主题 | | HTTP | Axios | 类型化 API 通信 |
标签:AIOps, AV绕过, BGP, DDoS攻击, Docker 部署, FastAPI, FOFA, GPT-4o, NetOps, PE 加载器, Python, Python 3.12, React, Syscalls, Syslog, Tailwind CSS, TypeScript, Vite, 人工智能, 仪表盘, 全栈项目, 告警关联, 安全插件, 故障排查, 无后门, 根因分析, 流量捕获, 用户模式Hook绕过, 系统日志, 网络安全, 网络拓扑, 网络运维, 自动化运维, 逆向工具, 配置错误, 隐私保护