Virenbhalgamiya/multi-agent-incident-response-system
GitHub: Virenbhalgamiya/multi-agent-incident-response-system
基于多智能体架构的本地优先运维平台,通过 AI 自主调查生产故障并协同 SRE 完成根因分析与缓解决策。
Stars: 0 | Forks: 0
# 多智能体事件响应与根因分析平台
一个生产级、本地优先的运维平台,旨在自主调查生产环境故障。该平台使用由 **LangGraph** 协调的多智能体团队,负责接收告警、关联指标、对错误日志进行聚类、检索相关运维手册、综合得出可能的根因、生成缓解计划,并通过 Next.js 控制台协调 SRE 审批。
## 1. 系统架构
该平台遵循整洁架构和领域驱动设计(DDD)原则。它包括:
* **FastAPI 后端 (`/api/v1`)**:为事件接收、人工审批和系统配置提供 REST 接口。
* **Celery 后台 Worker**:卸载长时间运行的 Agent 工作流,使其在 Web 请求线程之外执行。
* **LangGraph 编排器**:管理状态图转换、动态并行任务以及人机交互中断断点。
* **模型无关的 LLM 网关**:适配 chat completions 和结构化 JSON schema 校验,支持本地 Ollama 模型和云 API(OpenAI、Anthropic、Gemini)。
* **Next.js SRE 控制台**:一个毛玻璃风格的仪表盘,展示实时事件状态、日志终端、指标图表和交互式 SRE 审批卡片。
```
+-------------------+
| Next.js Console |
+---------+---------+
| HTTP / WebSockets
v
+---------+---------+
[ Alert Trigger ] ------------> | FastAPI Backend |
+----+----+----+----+
| | |
+-------------------------------+ | +-------------------------------+
| Write | Queue | Write
v v v
+-------+-------+ +-----+-----+ +-------+-------+
| PostgreSQL DB | <------------------ | Celery/ | ------------------> | Redis Cache |
+---------------+ State Sync/Read | Workers | Queue Broker +---------------+
+-----+-----+
|
v
+---------+---------+
| LangGraph Agent |
| State Graph |
+---------+---------+
|
v
+---------+---------+
| LLM Gateway |
| (Ollama/SaaS API) |
+-------------------+
```
## 2. 仓库结构
```
/
├── src/
│ ├── api/v1/ # REST route controllers (Auth, Incidents, Approvals, Config)
│ ├── core/ # Core setups (Pydantic settings, DB pool, JWT security, LLM gateway)
│ ├── domains/
│ │ ├── incident/ # Incident schemas and telemetry connectors
│ │ └── workflow/ # LangGraph definition, state managers, and Celery tasks
│ ├── models/ # SQLAlchemy model schemas (Tenants, Users, Audit Logs)
│ ├── tools/ # Diagnostic agent tools (Log parsers, DB full-text runbook search)
│ └── main.py # FastAPI application entry point
├── frontend/ # React + Next.js SRE Console
├── tests/ # Unit and integration test suites
├── docker-compose.yml # Multi-container dev orchestration configuration
├── Dockerfile # Backend multi-stage container configuration
└── pyproject.toml # Python package dependencies
```
## 3. 快速入门指南(本地开发)
### 前置条件
* [Docker & Docker Compose](https://www.docker.com/products/docker-desktop/)
* Python 3.11 或更高版本
* [Ollama](https://ollama.com/)(如果在本地运行开源模型)
### 第 1 步:启动数据库
在容器化后台环境中启动 PostgreSQL 和 Redis:
```
docker compose up -d db redis
```
### 第 2 步:初始化后端并植入场景
安装 Python 依赖项,构建数据库表,并植入运维手册:
```
# 安装依赖
pip install poetry
poetry install
# 创建表 & seed 默认用户
poetry run python -m src.core.init_db
# Seed 模拟事件和 SRE runbooks
poetry run python -m src.core.seed_data
```
### 第 3 步:运行服务
1. 启动 **FastAPI REST API**:
poetry run uvicorn src.main:app --reload --port 8000
2. 启动 **Celery 后台 Worker**:
poetry run celery -A src.core.worker.celery_app worker --loglevel=info
### 第 4 步:运行 Next.js 仪表盘控制台
安装依赖包并启动前端本地开发环境:
```
cd frontend
npm install
npm run dev
```
打开 [http://localhost:3000](http://localhost:3000) 查看控制台。
## 4. 如何测试故障流水线
1. 在 `http://localhost:3000` 打开仪表盘。系统会自动将您认证为 `responder@company.com`。
2. 点击 **Simulate DB Connection Pool Exhaustion**。
3. 您将被重定向到事件工作区。实时观察 Agent 时间轴运行日志解析和指标分析。
4. 当工作流遇到断点时(低置信度的 RCA 或高风险的修复措施),请审查提议的命令,添加您的 SRE 反馈,并点击 **Approve** 以恢复后台 Worker。
5. 完成后,检查生成的 Markdown 事后分析报告!
## 5. 集中式日志与 APM 集成
有关如何将此平台连接到企业级可观测性和错误追踪站点(Sentry、OpenTelemetry、Grafana Loki、Datadog 或 Elastic Stack)的详细信息,请参阅[日志与 APM 集成指南](file:///C:/Users/Viren/.gemini/antigravity/brain/76e2662d-5709-4e78-beb9-2a7ce19b1806/logging_integration.md)。
标签:AIOps, AI风险缓解, AV绕过, FastAPI, LangGraph, SRE, 事故响应, 偏差过滤, 多智能体, 搜索引擎查询, 根因分析, 测试用例, 请求拦截, 逆向工具