NadiraElsirafy/Automated-Incident-Response
GitHub: NadiraElsirafy/Automated-Incident-Response
基于 Laravel 的自动化事件响应引擎,根据可配置策略对监控事件执行模拟修复动作并支持升级逻辑。
Stars: 0 | Forks: 0
# 自动化事件响应 (AIOps 实验 5)
本仓库包含 AIOps 课程实验工作 5 的自动化事件响应引擎实现。
## 概述
AIOps 的最终步骤是自动化。本系统监控由检测管道生成的结构化事件记录,并针对每个未解决的事件,根据可配置的策略表自动选择并执行最合适的修复措施。
### 主要特性
- **自动化引擎**:一个监控事件的 Laravel Artisan 命令 (`aiops:respond`)。
- **响应策略**:基于事件类型(例如,延迟激增、错误风暴、流量激增)指示操作的可配置策略。
- **模拟操作执行**:执行并记录模拟响应,如服务重启、流量限制、扩容和升级。
- **升级逻辑**:如果自动操作反复失败,系统会将事件升级为 `CRITICAL_ALERT`。
- **响应日志**:所有自动响应均作为结构化 JSON 对象记录在 `storage/aiops/responses.json` 中。
## 使用方法
您可以通过提供的 Artisan 命令运行事件响应引擎:
```
# 一次性处理所有待处理 incident 并退出 (One-shot 模式)
php artisan aiops:respond
# 作为 daemon 持续运行,每 15 秒轮询一次
php artisan aiops:respond --loop
# 预览操作而不写入 response log (Dry-run)
php artisan aiops:respond --dry-run
```
## 响应策略
引擎为每种事件类型定义了自动响应:
| 事件类型 | 主要操作 | 最大重试次数 | 升级 |
|---|---|---|---|
| `LATENCY_SPIKE` | `restart_service` | 2 | `critical_alert` |
| `ERROR_STORM` | `send_alert` | 1 | `critical_alert` |
| `TRAFFIC_SURGE` | `scale_service` | 3 | `critical_alert` |
| `SERVICE_DEGRADATION` | `throttle_traffic` | 2 | `critical_alert` |
*(有关完整配置,请参见 `app/Services/ResponsePolicyService.php`)*
## 日志
- 待处理的事件文件预期位于:`storage/aiops/incidents.json`
- 已执行的操作记录位于:`storage/aiops/responses.json`
标签:AIOps, Artisan命令, ChatOps, ffuf, Homebrew安装, ITOM, Laravel, OpenVAS, PHP, 告警升级, 故障自愈, 智能运维, 服务重启, 流量降级, 策略引擎, 系统稳定性, 网络安全挑战, 自动化响应, 自动扩容, 运维自动化