Cognition-Partner-Workshops/app_eventflow-devin-integration

GitHub: Cognition-Partner-Workshops/app_eventflow-devin-integration

将Azure Monitor告警与Devin AI智能体集成,实现从故障检测、根因分析到自动生成修复PR的端到端自动化事件响应流程。

Stars: 0 | Forks: 0

# EventFlow Devin 集成 这是 EventFlow 演示的 AI 驱动事件响应层。它将 Azure Monitor 警报连接到 Devin API,以实现自动化的根因分析和修复生成。 ## 架构角色 ``` Azure Monitor Alert ↓ ┌───────────────────┐ │ Azure Function │ ← alert-function/ │ (webhook handler) │ └────────┬──────────┘ ↓ ┌───────────────────┐ │ Devin API │ Creates a session with context about all EventFlow repos │ /v1/sessions │ └────────┬──────────┘ ↓ ┌───────────────────┐ │ Devin Agent │ Uses MCP to query Azure Log Analytics │ (investigation) │ └────────┬──────────┘ ↓ ┌───────────────────┐ │ Pull Request │ Fix PR on app_eventflow-payment-service │ (auto-generated) │ └───────────────────┘ ``` ## 组件 ### Alert Function (`alert-function/`) 一个 Azure Function(Python,消费计划),它: - 接收来自 Azure Monitor 警报规则的 webhook 负载 - 解析 Common Alert Schema 以提取错误详情 - 调用 Devin API 创建新的调查会话 - 传递结构化上下文:受影响的服务、错误日志、repo URLs ### MCP Server (`mcp-server/`) 一个 Model Context Protocol 服务器,赋予 Devin 访问权限: - **Azure Log Analytics** — 查询应用程序日志、异常、追踪 - **Azure Monitor Metrics** — 查询错误率、响应时间、可用性 - 提供工具:`query_logs`, `get_exceptions`, `get_metrics`, `get_traces` ### Shared Schemas (`schemas/`) 流经系统的事件的 JSON schemas: - `order_created.json` — Order Service 发布的事件 - `payment_processed.json` — Payment Service 发布的事件 - `alert_payload.json` — 来自 Azure Monitor 的 Common Alert Schema ### Demo Runbook (`docs/`) 运行完整演示叙述的分步说明。 ## 设置 ### 前置条件 - Python 3.11+ - Azure Functions Core Tools v4 - 一个 Devin API key(来自 https://app.devin.ai/settings) ### Alert Function ``` cd alert-function pip install -r requirements.txt # 本地测试 func start # 部署到 Azure func azure functionapp publish ``` ### MCP Server ``` cd mcp-server pip install -r requirements.txt # 本地运行 python server.py ``` ## 环境变量 ### Alert Function | Variable | Description | |---|---| | `DEVIN_API_KEY` | Devin API authentication token | | `DEVIN_API_URL` | Devin API base URL (default: `https://api.devin.ai/v1`) | | `GITHUB_ORG` | GitHub org name (default: `Cognition-Partner-Workshops`) | | `REPOS` | Comma-separated repo names for Devin context | ### MCP Server | Variable | Description | |---|---| | `AZURE_LOG_ANALYTICS_WORKSPACE_ID` | Log Analytics workspace customer ID | | `AZURE_TENANT_ID` | Azure AD tenant ID | | `AZURE_CLIENT_ID` | Service principal client ID | | `AZURE_CLIENT_SECRET` | Service principal secret | ## Demo Flow 1. **Trigger**: 向 Order Service 提交 JPY 订单 2. **Crash**: Payment Service 抛出 ValueError(零小数货币 bug) 3. **Detect**: Application Insights 捕获异常,警报规则触发 4. **Invoke**: Azure Function 接收警报 webhook,调用 Devin API 5. **Investigate**: Devin 通过 MCP 连接到 Log Analytics,读取异常详情 6. **Fix**: Devin 在 `app_eventflow-payment-service` 上开启包含货币修复和测试的 PR 7. **Deploy**: CI 通过,CD 部署修复后的 Payment Service 8. **Verify**: 相同的 JPY 订单现在成功处理
标签:AIOps, AI 编程, API集成, Azure, Azure Function, Azure Log Analytics, Azure Monitor, Cloud Native, Devin, MCP, Model Context Protocol, Python, Runbook, Serverless, Webhook, 力导向图, 可观测性, 告警处理, 安全编排与自动化, 微服务监控, 拉取请求, 无后门, 根因分析, 模块化设计, 自动化修复, 自动化运维, 逆向工具