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, 力导向图, 可观测性, 告警处理, 安全编排与自动化, 微服务监控, 拉取请求, 无后门, 根因分析, 模块化设计, 自动化修复, 自动化运维, 逆向工具