raman01211/incident-response-automation
GitHub: raman01211/incident-response-automation
自动化事件响应平台,整合 PagerDuty 值班、Slack 通知、Kubernetes 自动化 Runbook 和无指责复盘报告生成,覆盖事件全生命周期管理。
Stars: 1 | Forks: 0
# 事件响应自动化





## 架构
```
┌─────────────┐ ┌──────────────┐ ┌──────────────────┐
│ Prometheus │────▶│ Alertmanager │────▶│ Incident API │
│ (alerts) │ │ (routing) │ │ (Flask) │
└─────────────┘ └──────────────┘ └────────┬─────────┘
│
┌─────────────────────────────┤
│ │ │
┌─────▼────┐ ┌─────▼────┐ ┌──────▼─────┐
│PostgreSQL│ │ Slack │ │ Grafana │
│(storage) │ │(notify) │ │(dashboard) │
└──────────┘ └──────────┘ └────────────┘
│
┌─────▼────┐
│PagerDuty │
│(on-call) │
└──────────┘
```
## 功能
- **告警接入**:接收来自 Alertmanager 和 PagerDuty 的 webhook
- **事件管理**:支持完整生命周期的创建、确认和解决
- **Slack 通知**:为每次状态变更发送丰富的 Block Kit 消息
- **自动化 Runbook**:K8s pod 重启、扩容、回滚及健康检查
- **无指责复盘**:自动生成包含时间线和行动项的 Markdown 报告
- **仪表盘**:Grafana 仪表盘,用于实时查看事件状态
- **值班集成**:支持 PagerDuty 排班感知的升级机制
## 快速开始
```
# 启动 stack
make up
# 模拟告警
make simulate-alert
# 模拟完整的事件生命周期
make simulate-incident
# 列出事件
make list-incidents
# 生成 postmortem
make generate-postmortem
# 打开 Grafana dashboard
make dashboard
# 销毁
make down
```
## 前置条件
- Docker 和 Docker Compose
- Python 3.11+
- Kubernetes 集群(用于执行 Runbook)
- Slack webhook URL(可选,用于通知)
- PagerDuty API key(可选,用于值班同步)
## 命令
| 命令 | 描述 |
|---------|-------------|
| `make up` | 启动所有服务 |
| `make down` | 停止所有服务 |
| `make simulate-alert` | 发送测试 Alertmanager webhook |
| `make simulate-incident` | 运行完整的事件生命周期模拟 |
| `make list-incidents` | 列出所有事件 |
| `make generate-postmortem` | 为最近的事件生成复盘报告 |
| `make dashboard` | 打开 Grafana |
| `make clean` | 删除所有数据卷 |
标签:Python, Slack, 子域名突变, 无后门, 测试用例, 网络调试, 自动化, 自定义请求头, 请求拦截, 运维, 逆向工具