mithilesh241125/Autonomous-incident-response-system
GitHub: mithilesh241125/Autonomous-incident-response-system
一个模拟DevOps/SRE工作流的自主事件响应系统,实现监控、检测、根因分析与自动自愈的闭环。
Stars: 0 | Forks: 0
# 自主事件响应系统
该项目模拟了一个小型 DevOps/SRE 后端,用于监控系统健康状态、检测故障、分析日志、决定纠正措施、应用自愈操作,并通过 Flask 仪表板展示所有信息。
## 项目结构
- `app.py` 启动 Flask 应用程序和仪表板。
- `config.py` 存储环境驱动的配置。
- `monitor.py` 运行后台监控循环。
- `detector.py` 检测故障并创建事件。
- `analyzer.py` 读取 `logs.txt` 并将日志模式映射到原因。
- `healer.py` 模拟恢复操作和告警消息。
- `storage.py` 使用 SQLite 持久化运行时数据。
- `templates/dashboard.html` 显示健康状态、事件、日志和操作。
- `airs.db` 会自动创建以保存运行时数据。
## 功能特性
- 周期性 API 健康检查
- 模拟 CPU 使用率和异常检测
- 短时间窗口内的错误率检测
- 日志模式分析,包括:
- `connection failed`
- `timeout`
- `memory error`
- 根因分析输出(错误、原因、严重程度)
- 模拟自愈操作:
- 重启服务
- 清除缓存
- 重试失败请求
- 仪表板自动刷新
- SQLite 持久化存储事件、告警、操作、健康状态和 RCA 输出
- 通过环境变量可配置阈值和间隔
- 事件状态跟踪与重复消除冷却时间
- 核心模块的内置单元测试
## 运行方法
1. 安装依赖:
pip install -r requirements.txt
2. 启动 Flask 应用:
python app.py
3. 在浏览器中打开:
http://127.0.0.1:5000
## 注意事项
- API 健康检查使用 `https://httpbin.org/status/200`,并会随机模拟故障,以便仪表板展示有趣的事件。
- CPU 使用率和异常被模拟以保持项目简单且适合初学者。
- 事件、告警、操作和最新健康状态存储在 `airs.db` 中。
- 可通过环境变量自定义行为,例如 `AIRS_MONITOR_INTERVAL`、`AIRS_CPU_HIGH_THRESHOLD`、`AIRS_FAILURE_THRESHOLD` 和 `AIRS_DB_PATH`。
## 运行测试
```
python -m unittest discover -s tests
```
标签:API监控, CPU模拟, Flask, Python, SEO: 监控分析, SEO: 自动化运维, SEO: 自愈平台, SQLite, SRE, Web界面, 事件去重, 仪表盘, 偏差过滤, 健康检查, 单元测试, 后台任务, 告警机制, 异常检测, 故障恢复, 数据库, 无后门, 根因分析, 环境变量配置, 监控, 自动修复, 自动化响应, 自愈系统, 逆向工具