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绕过, 系统日志, 网络安全, 网络拓扑, 网络运维, 自动化运维, 逆向工具, 配置错误, 隐私保护