abhranil1113/Incident-ops
GitHub: abhranil1113/Incident-ops
一个基于 FastAPI 的生产级事件管理后端脚手架,提供从告警接入到事件追踪、实时通知和计费管理的完整后端起点。
Stars: 0 | Forks: 0
# IncidentOps – 自动化事件管理系统
IncidentOps 是一个生产级的后端脚手架,用于事件检测、告警接入、事件生命周期管理、通知、监控以及支付/计费工作流。
## 技术栈
- FastAPI
- SQLAlchemy 2.0
- PostgreSQL
- Alembic
- JWT 认证
- Socket.IO 通知
- Docker / docker-compose
- Prometheus / Grafana
- Kubernetes manifests
- Razorpay 支付占位符
## 功能特性
- 基于邮箱 + 密码的注册/登录(使用 JWT)
- 会话跟踪
- 组织/团队/服务管理
- 事件生命周期:创建、从告警自动创建、确认、解决、关闭
- 评论、附件、标签、升级、复盘
- 告警源、规则、webhook 接入、健康检查、指标摘要
- 通过 Socket.IO 进行实时通知
- 套餐、订阅、发票、支付订单、支付验证、webhook 捕获
- Prometheus 指标和健康探针
## 项目结构
```
app/
api/v1/endpoints/
core/
db/
schemas/
services/
repositories/
sockets/
integrations/
middleware/
tasks/
monitoring/
k8s/
alembic/
```
## 设置说明
1. 复制 `.env.example` 为 `.env`
2. 填写 `DATABASE_URL` 和密钥
3. 安装依赖
pip install -r requirements.txt
4. 本地运行
uvicorn app.main:socket_app --reload --host 0.0.0.0 --port 8000
## 数据库
- 创建迁移:
alembic revision --autogenerate -m "init"
- 应用迁移:
alembic upgrade head
## Docker
```
docker compose up --build
```
服务:
- API: http://localhost:8000
- Swagger: http://localhost:8000/docs
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000
## 监控
- 指标端点:`/api/v1/metrics`
- 健康端点:
- `/api/v1/health`
- `/api/v1/health/live`
- `/api/v1/health/ready`
## Socket.IO
- 端点路径:`/socket.io`
- 在连接期间使用 `auth={"token": ""}` 进行身份验证
- 自动加入房间 `user:`
## 支付
- Razorpay 占位符通过配置和服务类实现。
- 提供用于创建套餐、订阅、发票、创建订单、验证和 webhook 捕获的端点。
## 注意事项
- 此代码库是一个健壮的脚手架/启动模板,专注于清晰的架构、REST 接口面积和部署准备。
- 对于生产环境,请扩展授权、更丰富的持久化规则、alembic 自动生成的迁移、电子邮件/短信发送适配器以及 webhook 签名验证。
标签:AV绕过, Docker, FastAPI, IT运维, PostgreSQL, SaaS平台, Socks5代理, 事件管理, 后端开发, 告警与监控, 子域名突变, 安全防御评估, 测试用例, 自定义请求头, 请求拦截, 逆向工具