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, 事故响应, 偏差过滤, 多智能体, 搜索引擎查询, 根因分析, 测试用例, 请求拦截, 逆向工具