vindhyashre/cloud-incident-response-lab
GitHub: vindhyashre/cloud-incident-response-lab
基于 Docker、Prometheus 和 Grafana 的云端事件响应实验室,模拟真实云环境中的应用监控、告警检测、故障排查与服务恢复全流程。
Stars: 0 | Forks: 0
# 云端事件响应实验室 🚀
一个生产级的云支持工程师项目,演示了如何使用 Docker、Prometheus 和 Grafana 进行应用监控、基础设施监控、告警和事件响应。
## 📌 项目概述
本项目模拟了一个真实的云支持环境,工程师在此环境中监控容器化应用程序、检测事件、排查问题并恢复服务。
该实验室包括:
- Flask 应用程序
- Docker 容器化
- Nginx 反向代理
- Prometheus 监控
- Grafana 仪表盘
- Node Exporter 基础设施监控
- 告警规则
- 事件响应自动化脚本
- GitHub Actions CI/CD
# 🏗️ 架构
```
User
|
v
Nginx
Port: 80
|
v
Flask Application
Port: 5000
|
+----------+----------+
| |
v v
```
Prometheus Node Exporter
指标 (Metrics) 系统指标 (System Metrics)
|
v
Grafana
仪表盘 (Dashboards)
|
v
告警 (Alerts)
# 🛠️ 使用的技术
| 技术 | 用途 |
|---|---|
| Docker | 容器化 |
| Docker Compose | 多容器部署 |
| Flask | 应用程序服务 |
| Nginx | 反向代理 |
| Prometheus | 指标收集 |
| Grafana | 监控仪表盘 |
| Node Exporter | 服务器指标 |
| GitHub Actions | CI/CD 自动化 |
| PowerShell | 事件自动化脚本 |
# 🚀 设置说明
## 要求
安装:
- Docker Desktop
- Git
- Python 3.x
验证:
```
docker --version
docker compose version
git --version
```
# 启动应用程序
## 克隆仓库:
```
git clone https://github.com/vindhyashre/cloud-incident-response-lab.git
```
## 进入项目:
```
cd cloud-incident-response-lab
```
## 启动容器:
```
-docker compose up --build
```
-访问服务
-服务 URL
-应用程序 http://localhost
-Prometheus http://localhost:9090
-Grafana http://localhost:3000
-Node Exporter http://localhost:9100
# 📊 监控仪表盘
## Grafana 监控内容:
-应用指标 (Application Metrics)
-HTTP 请求计数 (HTTP request count)
-错误率 (Error rate)
-应用程序可用性 (Application availability)
-基础设施指标 (Infrastructure Metrics)
-CPU 使用率
-内存使用率
-磁盘使用率
-网络统计数据
# 🚨 告警
## Prometheus 告警规则检测:
应用程序宕机 (Application Down)
## 条件:
up{job="application"} == 0
## 操作:
-触发告警
-工程师进行排查
-执行服务恢复
-高 CPU 使用率
## 条件:
CPU usage > 80%
# 🧪 事件模拟
模拟应用程序故障
## 停止应用程序:
docker stop flask-app
## 检查告警:
Prometheus → 告警 (Alerts)
## 恢复:
```
docker start flask-app
```
## 验证健康状况:
```
.\scripts\check_health.ps1
```
# 🔧 故障排查命令
## 检查容器:
```
docker ps
```
## 查看日志:
```
docker logs flask-app
```
## 检查资源使用情况:
```
docker stats
```
## 重启服务:
```
docker compose restart
```
# 📁 项目结构
cloud-incident-response-lab
├── app
│ ├── app.py
│ └── requirements.txt
│
├── nginx
│ └── nginx.conf
│
├── prometheus
│ ├── prometheus.yml
│ └── rules
│ └── alerts.yml
│
├── scripts
│ ├── check_health.ps1
│ ├── stop_application.ps1
│ └── collect_logs.ps1
│
├── incidents
│ └── application-down.md
│
├── .github
│ └── workflows
│ └── docker-build.yml
│
├── Dockerfile
└── docker-compose.yml
# 🎯 展示的技能
-云基础设施监控
-Linux/容器故障排查
-Docker 操作
-Prometheus 指标
-Grafana 可视化
-事件响应工作流
-告警配置
-CI/CD 自动化
-生产环境故障排查实践
# 👩💻 作者
Vindhya Shree
云支持工程师作品集项目
保存文件。
## 然后提交:
```
git add README.md
git commit -m "Add professional project README"
```
## 推送:
git push
标签:AI合规, Docker, Grafana, Python, 安全防御评估, 无后门, 版权保护, 自动化运维, 自定义请求头, 请求拦截, 逆向工具