Faizk510/azure-ai-incident-response
GitHub: Faizk510/azure-ai-incident-response
一个基于Azure的事件驱动工作流,通过AI增强警报分析,自动化云运维事件响应和结构化报告。
Stars: 0 | Forks: 0
# Azure AI 事件响应
这是一个基于 Microsoft Azure 构建的事件驱动云事件响应与运维监控工作流,采用了 Azure Monitor、Azure Functions、日志分析、逻辑应用以及基于 Ollama 的 AI 分析。
该项目自动化了事件增强、结构化报告、运维通知和警报去重,以模拟实际的云运营并支持工程工作流。
## 项目概述
本工作流并非将原始监控警报直接转发给运维人员,而是规范化警报上下文,利用 AI 生成的分析增强事件信息,验证结构化输出,应用去重逻辑,并将事件报告存储在日志分析中以实现运维可见性。
该项目聚焦于云支持和事件管理环境中常用的运维工程概念,包括:
- 事件驱动的监控工作流
- AI 辅助的事件分析
- 警报规范化与上下文增强
- 结构化运维报告
- 通知去重与抑制
- 日志分析摄取管道
- 运维可见性与警报分流
## 主要功能
- 使用 Azure Monitor 和 Azure Functions 的事件驱动事件响应工作流
- 使用本地托管的 Ollama 模型进行 AI 增强的事件分析
- AI 处理前的警报上下文规范化
- 基于结构化 JSON 的事件报告
- 使用 Azure 数据收集规则 (DCR) 进行日志分析摄取
- 逻辑应用电子邮件通知工作流
- 通知去重与抑制处理
- AI 响应验证与回退事件处理
- 使用自定义日志分析表实现运维可见性
- 基于安全环境变量的配置管理
## 架构图
下图展示了此项目中实现的端到端运维工作流。
工作流始于 Azure Monitor 警报生成,并依次经过自动化事件增强、AI 辅助分析、结构化日志分析摄取以及运维通知传递。
关键设计目标包括:
- 减少人工警报分流工作量
- 利用运维上下文增强原始警报
- 防止重复通知
- 保持结构化的事件可见性
- 改进运维响应工作流

## 端到端工作流
事件响应工作流遵循一个事件驱动的运维管道:
1. Azure Monitor 检测到被监控的基础设施或应用程序状况。
2. Azure Monitor 操作组触发基于 HTTP 的 Azure Function 工作流。
3. 该函数从传入的负载中提取并规范化警报上下文。
4. 相关运维字段被转换为结构化的 AI 提示词。
5. Ollama 生成 AI 辅助的事件分析和建议操作。
6. AI 响应被验证、规范化和清理,然后再进行下游处理。
7. 结构化事件报告通过数据收集规则 (DCR) 写入日志分析。
8. 去重逻辑检查最近处理过的事件以减少警报噪声。
9. 逻辑应用为非重复事件发送运维通知。
10. 支持团队收到的是增强的运维事件摘要,而非原始监控警报。
## AI 事件分析与警报规范化
此项目的一个核心目标是利用结构化 AI 辅助的事件分析来增强运维警报,而不是将原始的 Azure Monitor 警报直接转发给支持团队。
在 AI 处理之前,工作流提取并规范化运维相关的警报字段,以提高提示词的一致性并减少不必要的监控噪声。
该工作流使用结构化提示词工程、JSON 响应格式化、响应清理逻辑和回退运维摘要,以提高 AI 生成的事件分析的可靠性和一致性。
### 警报上下文规范化
工作流的这一部分在 AI 处理之前提取并规范化 Azure Monitor 警报字段。
规范化层标准化了不同 Azure 资源类型和监控负载结构中的运维上下文。

### AI 提示词工程与响应分析
该工作流使用受限提示词和结构化 JSON 输出格式来提高 AI 响应的一致性。
响应处理逻辑在运维摄取之前验证、清理和规范化 AI 生成的内容。

### Ollama AI 集成
以下截图展示了用于 AI 辅助事件分析生成的 Ollama API 集成。

### AI 增强的事件分析示例
此截图展示了生成的 AI 辅助运维事件分析的示例,包括:
- 事件摘要
- 可能的根本原因
- 建议操作
- 潜在的运维影响

## 结构化报告与去重
该工作流在将事件摄取到日志分析之前,会创建结构化的事件报告,而不是生成自由格式的运维警报。
每个处理过的事件都包含规范化的运维字段,例如:
- 警报名称
- 严重性
- 受影响资源
- 事件摘要
- 建议操作
- 事件状态
- 时间戳元数据
该工作流还包含去重和抑制逻辑,以减少同一事件状况的重复通知。
重复抑制基于以下字段的组合:
- 警报名称
- 受影响资源
- 事件状态
这有助于减少运维警报疲劳,同时仍允许新的或更改的事件生成通知。
### 函数应用运维日志记录
以下截图展示了在事件处理和日志分析摄取操作期间,Azure Function 执行的日志记录。

### 逻辑应用通知工作流
逻辑应用用于在 AI 增强和重复抑制验证之后,生成运维电子邮件通知。
这确保了运维人员收到的是增强的、可操作的事件摘要,而不是原始警报。

### 电子邮件通知示例
以下截图展示了由该工作流在事件处理和 AI 增强后生成的运维电子邮件通知。

### 示例结构化事件报告
存储库中包含一个经过脱敏的示例事件报告,展示了工作流生成的最终运维负载。
```
sample-data/sample-incident-report.json
```
## 截图与工作流演示
### Azure 资源组概览
以下截图重点展示了用于支持事件响应工作流的 Azure 资源,包括监控、摄取、AI 分析和通知服务。

### Azure Monitor 警报配置
此警报监控 Azure 资源内的运维条件,并通过 Azure Monitor 操作组触发事件驱动的工作流。

### Azure Function 工作流
Azure Function 托管了核心事件响应工作流,包括:
- 警报规范化
- AI 增强
- 事件报告
- 通知抑制
- 日志分析摄取

### 函数应用处理逻辑
以下截图重点展示了 Azure Function 工作流中负责运维处理、AI 集成、摄取处理和事件编排的部分。

### 端到端运维工作流
此截图展示了跨 Azure Monitor、Azure Functions、AI 分析、日志分析摄取和逻辑应用通知传递的完整工作流。

## 工程挑战与经验教训
此项目在 Azure 监控、摄取管道、AI 响应处理和事件驱动工作流自动化方面遇到了若干运维和工程挑战。
主要挑战包括:
### Azure Monitor 与日志分析摄取
- 排查数据收集规则 (DCR) 和数据收集端点 (DCE) 的关联问题
- 解决摄取授权和令牌范围问题
- 验证自定义日志分析表映射和流配置
- 调试摄取响应失败和格式错误的负载处理
### AI 响应可靠性
- 处理不一致或格式错误的 AI 生成 JSON 响应
- 设计可预测运维输出的结构化提示词
- 实现响应清理和规范化逻辑
- 在 AI 分析失败时构建回退运维摘要
### 运维警报处理
- 规范化不一致的 Azure Monitor 警报负载结构
- 跨不同警报类型提取有意义的运维上下文
- 减少重复的运维通知
- 提高事件对下游工作流的可读性
### 事件驱动工作流设计
- 设计事件驱动架构,而不是仅依赖轮询工作流
- 将 Azure Monitor 操作组与 HTTP 触发的 Azure Functions 集成
- 可靠地协调下游摄取和通知工作流
此项目显著提升了以下方面的实践经验:
- Azure 运维监控工作流
- 事件响应自动化
- 日志分析摄取管道
- AI 辅助运维分析
- 事件驱动云架构
- 结构化运维遥测处理
## 未来改进
此项目的潜在未来增强功能包括:
- 多警报关联和事件分组
- 基于严重性的升级工作流
- 预定义条件的自动修复
- 使用 Azure Workbooks 或 Power BI 进行仪表板可视化
- 与票务平台(如 ServiceNow 或 Jira)集成
- 支持额外的监控源和遥测管道
- 高级异常检测和趋势分析
## 项目结构
```
azure-ai-incident-response/
│
├── architecture/
│ └── azure-ai-incident-response-architecture.png
│
├── function_app/
│ ├── function_app.py
│ ├── host.json
│ └── requirements.txt
│
├── images/
│ ├── ai-incident-analysis.png
│ ├── ai-prompt-logic-fields-normalization.png
│ ├── ai-prompt-response-analysis.png
│ ├── azure-monitor-alert.png
│ ├── email-notification.png
│ ├── end-to-end-workflow.png
│ ├── function-app-log.png
│ ├── function-app-overview.png
│ ├── function-app-code-overview.png
│ ├── logic-app-notification-workflow.png
│ ├── ollama-api-integration.png
│ └── resource-group-overview.png
│
├── sample-data/
│ └── sample-incident-report.json
│
├── .gitignore
├── local.settings.json.example
└── README.md
```
## 关于此项目
构建此项目是为了加强在 Azure 运维监控、事件响应自动化、AI 辅助分析工作流以及现代支持工程和云运维环境中常用的事件驱动云工程模式方面的实践经验。
标签:AI辅助决策, AI风险缓解, Azure, Azure Functions, Azure Monitor, LLM评估, Log Analytics, Logic Apps, Microsoft Azure, Ollama, 事件驱动架构, 事故响应, 云安全监控, 云监控, 人工智能, 工作流自动化, 数据富化, 日志可视化, 智能运维, 用户模式Hook绕过, 监控告警, 结构化报告, 自动化运维, 规范化处理, 警报分析, 运营工程, 逆向工具, 通知去重, 静态分析