MaazAli8460/DevOps-Guardian

GitHub: MaazAli8460/DevOps-Guardian

一个基于多智能体架构的 DevOps 事件自动检测、诊断与安全修复助手,帮助工程团队减少告警疲劳并加速事件响应。

Stars: 0 | Forks: 0

# DevOps Guardian: Multi-Agent 部署与事件响应智能助手 **DevOps Guardian** 是一个多智能体(Multi-Agent)事件检测、诊断和修复智能助手,旨在帮助软件工程团队安全地管理部署故障和服务降级。 本项目是为 **Kaggle 5-Day AI Agents: Intensive Vibe Coding Course with Google** (赛道:*Agents for Business*)开发的 Capstone 项目。 ## 1. 项目概述与问题陈述 ### 问题所在 现代服务部署和基础设施管理极易发生错误(例如数据库连接超时、内存耗尽、资源达到限制)。当这些故障发生时,工程团队面临两个主要挑战: 1. **告警疲劳:** 仪表盘产生大量噪音告警,导致团队最终忽视它们。 2. **事件响应缓慢:** 人类工程师必须手动登录、检查日志、进行诊断并找出修复方法(例如回滚或重启服务)——这可能需要数小时,并给公司带来收入损失。 ### 解决方案:DevOps Guardian DevOps Guardian 充当了一名自动化的 on-call 工程师: - **轮询指标与检测异常:** 监控错误率和响应延迟。 - **通过日志分析定位根因:** 通过标准协议连接到服务器以检查日志追踪(log traces)。 - **提出安全的修复方案:** 推荐针对性的修复措施(例如回滚、重启、扩容)。 - **Human-in-the-Loop 安全门:** 严格拦截任何变更性命令,并在执行前等待管理员的明确授权。 ## 2. Multi-Agent 系统架构 本项目使用 **Google's Agent Development Kit (ADK)** 设计。它将事件响应构建为一个协作智能体 pipeline,强制执行清晰的关注点分离和安全边界。 ``` [Start] │ ▼ ┌──────────────┐ │ MonitorAgent │ ──► Polls metrics, flags anomalies (e.g. error rate >5%) └──────┬───────┘ │ (anomaly detected) ▼ ┌──────────────┐ │DiagnosisAgent│ ──► Reads server logs via MCP tool, identifies DB Timeout └──────┬───────┘ │ (root cause) ▼ ┌──────────────┐ │ ActionAgent │ ──► Selects best remediation (e.g. rollback_deployment) └──────┬───────┘ │ (proposal + risk tier) ▼ ┌──────────────┐ │SecurityAgent │ ──► Intercepts Medium/High Risk proposals └──────┬───────┘ Creates approval gate blocking execution │ ▼ ┌──────────────┐ │ Human Gate │ ──► Admin reviews & approves via CLI command └──────┬───────┘ │ (authorized) ▼ [MCP Execution] ──► Rollback/Restart command executed on cloud resources ``` ### 智能体角色与权限 1. **Monitor Agent:** 对指标拥有只读权限。评估系统健康状况。 2. **Diagnosis Agent:** 对日志拥有只读权限。使用 `fetch_logs` MCP 工具。 3. **Action Agent:** 提出附带理由和风险等级的修复计划。 4. **Security Agent:** 把关者。检查策略并对变更性操作实施 human-in-the-loop 阻断。 ## 3. 自定义 Model Context Protocol (MCP) Server 系统集成了一个使用 **FastMCP** 构建的自定义 MCP server,向智能体公开以下工具: ### 只读工具(低风险) - `fetch_metrics(service_name: str)`:拉取 CPU、内存、延迟和 5xx 错误统计信息。 - `fetch_logs(service_name: str, tail_lines: int)`:拉取用于事件诊断的日志流。 ### 修复工具(中/高风险) - `restart_service(service_name: str)`:重启 container/instance 进程。 - `rollback_deployment(service_name: str, target_version: str)`:回滚到之前的稳定版本。 - `scale_resource(service_name: str, desired_count: int)`:更新活跃 instance 的 replica 数量。 ## 4. Kaggle 课程核心概念与代码的映射 本项目展示了 5 个课程概念的实际应用: | 核心概念 | 实现位置 | 描述 | | :--- | :--- | :--- | | **Multi-Agent System (ADK)** | [agents/definitions.py](file:///C:/Users/maaza/.gemini/antigravity/scratch/devops-guardian/agents/definitions.py) | 使用 `google.adk.agents.llm_agent.Agent` 构建的 Monitor、Diagnosis、Action 和 Security 智能体。 | | **MCP Server** | [mcp_server/server.py](file:///C:/Users/maaza/.gemini/antigravity/scratch/devops-guardian/mcp_server/server.py) | Python FastMCP server,向 LLM 客户端公开指标、日志和修复 API。 | | **Security Features** | [agents/orchestrator.py](file:///C:/Users/maaza/.gemini/antigravity/scratch/devops-guardian/agents/orchestrator.py#L90-L120) | Human-in-the-loop 验证门。所有变更性操作在被手动通过 CLI 签字确认前都会被阻断。 | | **Agent Skills (CLI)** | [cli/guardian.py](file:///C:/Users/maaza/.gemini/antigravity/scratch/devops-guardian/cli/guardian.py) | 样式化的 Click CLI,公开 `status`、`diagnose` 和 `approve` 入口点。 | | **Deployability** | `Dockerfile` & Mock Fallbacks | Docker 就绪的包结构。包含在缺少 API 密钥时的高保真 mock 回退机制。 | ## 5. 快速入门与设置说明 ### 前置条件 - Python 3.10+(已在 Python 3.14 上测试) - Pip ### 安装 1. 克隆或打开项目文件夹。 2. 安装依赖: pip install -r requirements.txt 3. 将 `.env.example` 文件复制为 `.env`: copy .env.example .env 4. (可选)提供您的 Gemini API 密钥: GEMINI_API_KEY=AIzaSy... *注意:如果未提供 API 密钥,系统将自动以高保真 Mock Mode 运行,并显示完全相同的追踪和执行输出,以便用于演示。* ## 6. 运行项目 您可以通过三种方式与 DevOps Guardian 交互:Web 仪表盘(推荐)、CLI 或自动化 Demo 脚本。 ### 1. Web 仪表盘(推荐) 启动现代 Web 仪表盘(FastAPI 后端 + Vanilla JS 前端): ``` uvicorn web_api:app --reload ``` 然后,在您的 Web 浏览器中打开 `http://localhost:8000`。您可以点击“Diagnose Service”来触发多智能体流程,并通过 UI 与 Human-in-the-Loop 安全门进行交互。 ### 2. Command Line Interface (CLI) 使用 CLI 检查状态或手动诊断服务: ``` # 检查系统状态 python -m cli.guardian status # 为 service 触发 diagnostics python -m cli.guardian diagnose --service web-api # 批准待处理的 remediation action python -m cli.guardian approve --action-id ACT-123456 ``` ### 3. 自动化 Demo 模拟 运行模拟的宕机事件,以观察智能体如何自动进行交互: ``` python -m demo.run_demo ``` ## Kaggle Capstone 项目 (Agents for Business) 本项目是为 **AI Agents: Intensive Vibe Coding Capstone Project (July 2026)** 开发的。 **赛道:** Agents for Business **展示的核心功能:** - **Multi-Agent Systems:** 使用 Agent Development Kit (ADK) 协调四个专门的智能体。 - **MCP Servers:** 一个 FastMCP server 提供外部工具(`fetch_logs`、`scale_resource` 等)。 - **Agent Skills & Edge Cases:** 智能体拥有明确的指令来处理指标缺失和日志结果不明确的情况。 - **Security Features:** 专门的 Security Agent 会阻断高风险的变更性操作,强制执行 Human-in-the-Loop (HITL) 审批门。 - **Web Interface:** FastAPI 后端和现代原生 JS 前端提供了直观的管理仪表盘。 ## 7. 运行端到端模拟 Demo 要通过一条命令自动查看整个生命周期的运行情况,请执行: ``` python demo/run_demo.py ``` 这将执行初始状态检查,运行多智能体诊断,捕获安全阻断,批准操作,并验证成功的解决方案。
标签:AIOps, Google ADK, 事故响应, 多智能体, 自动化运维, 请求拦截, 逆向工具