rahulreddyin/opspilot-platform

GitHub: rahulreddyin/opspilot-platform

OpsPilot 是一个云原生实时事件响应与团队运营平台,帮助 SRE 和 DevOps 团队高效协调生产事件的发现、修复与全流程审计。

Stars: 0 | Forks: 0

OpsPilot Platform

云原生实时事件响应与团队运营平台

OpsPilot 是一个生产级云原生运营平台,其灵感来源于现实世界中的 SRE、DevOps、平台工程、云运营和事件响应系统。 该平台使工程团队能够: - 创建和管理生产事件 - 协调运营修复任务 - 管理团队和基于角色的访问权限 - 接收实时运营通知 - 跟踪活动时间线和审计追踪 - 跨运营工作流进行协作 - 监控运营就绪状态 - 流式传输分布式运营事件 - 实时同步线上系统活动 技术栈包含: - Spring Boot - React + Vite - PostgreSQL - Kafka (Confluent Platform) - Redis - WebSockets (STOMP/SockJS) - Docker - AWS EC2 - Swagger/OpenAPI - Spring Boot Actuator - Flyway - Terraform 风格的基础设施组织 # 核心亮点 - 使用 WebSockets + STOMP 进行实时运营更新 - Kafka 事件流架构 - Confluent Kafka 平台集成 - 安全的 JWT 认证与基于角色的授权 - 分布式事件驱动工作流 - 团队协作工作流 - 事件生命周期管理 - 运营任务编排 - 实时通知系统 - 活动时间线与审计日志 - Docker 化的多服务部署 - Swagger/OpenAPI 集成 - 使用 Spring Boot Actuator 进行健康监控 - 基于 Redis 的运营缓存 - 面向生产环境的基础设施组织 - 感知环境的部署配置 - 云原生部署架构 # 系统架构 ![系统架构](https://raw.githubusercontent.com/rahulreddyin/opspilot-platform/develop/docs/architecture/opspilot-architecture.jpeg) # 核心功能 ## 认证与授权 - 用户注册和登录 - JWT token 生成与验证 - 受保护的 REST API - 基于角色的授权 - 感知角色的前端渲染 - BCrypt 密码哈希 - Spring Security 认证过滤器 - 安全的 API 请求验证 - 感知环境的安全配置 - 生产级别的 CORS 处理 ### 支持的角色 | 角色 | 用途 | |---|---| | ADMIN | 平台管理和角色管理 | | INCIDENT_MANAGER | 事件协调和运营主导 | | TEAM_LEAD | 团队运营和任务监督 | | USER | 常规运营工作流 | # 事件管理 事件模块模拟了现代 SRE 和平台工程团队使用的真实生产事件响应工作流。 ## 功能 - 创建生产事件 - 分配事件负责人 - 跟踪事件严重程度 - 更新事件状态 - 添加运营评论 - 维护运营时间线 - 搜索和筛选事件 - 接收实时事件更新 - 实时广播运营变更 - 同步分布式运营活动 ### 支持的事件状态 | 状态 | 含义 | |---|---| | OPEN | 事件已创建 | | INVESTIGATING | 根因分析进行中 | | IN_PROGRESS | 正在进行主动修复 | | RESOLVED | 问题已解决 | | CLOSED | 运营收尾完成 | ### 严重级别 | 严重程度 | 含义 | |---|---| | LOW | 轻微问题 | | MEDIUM | 中度运营降级 | | HIGH | 重大运营影响 | | CRITICAL | 重大宕机 / 紧急升级 | # 任务编排 OpsPilot 包含用于工程执行工作流的运营任务管理。 ## 功能 - 创建运营任务 - 将任务分配给用户 - 将任务与事件关联 - 跟踪优先级和截止日期 - 更新任务状态 - 查看特定用户的任务列表 - 接收实时任务更新 - 协调工程执行 - 运营主导跟踪 ### 任务状态 | 状态 | 含义 | |---|---| | TODO | 待处理工作 | | IN_PROGRESS | 正在积极处理的工作 | | DONE | 已完成的工作 | # 团队工作区 团队工作区支持跨工程团队的协作运营执行。 ## 功能 - 团队创建和管理 - 批量用户分配 - 批量角色分配 - 基于团队的任务协调 - 共享执行视图 - 团队主导跟踪 - 运营协作工作流 - 分布式工程协调 # 通知系统 OpsPilot 包含实时的运营通知基础设施。 ## 功能 - 通知铃铛 UI - 最新通知 API - 未读通知计数 - 将通知标记为已读 - 特定用户的 WebSocket 订阅 - 使用 STOMP/SockJS 进行实时推送通知 - 实时运营事件传播 - 分布式通知同步 # 时间线、评论与审计追踪 OpsPilot 跟踪运营协作和历史系统活动。 ## 跟踪的活动 - 事件创建 - 事件状态更新 - 运营评论 - 任务更新 - 团队分配 - 角色变更 - 管理操作 - 运营工作流活动 - 分布式事件传播 这提供了运营可追溯性、历史可见性和审计就绪能力。 # 实时事件架构 OpsPilot 使用带有 STOMP 和 SockJS 的 Spring WebSocket 消息传递来实现分布式实时同步。 ## 后端 WebSocket Endpoint ``` /ws ``` ## Topic 广播 ``` /topic/incidents/** /topic/tasks/** /topic/notifications/** /topic/activity ``` ## 实时运营流 ``` User Action ↓ Spring Boot REST API ↓ Service Layer ↓ Kafka Event Publication ↓ Kafka Consumer Processing ↓ WebSocket Topic Broadcast ↓ React Real-Time UI Synchronization ``` # Kafka 事件流层 OpsPilot 包含用于异步事件驱动工作流的分布式 Kafka 基础设施。 ## Kafka 组件 - Confluent Kafka broker - Zookeeper 协调 - Topic 配置 - Producer 服务 - Consumer 服务 - Listener 容器工厂 - 事件中继架构 - 分布式运营事件传播 ## 已配置的 Topic ``` incident-created incident-status-updated task-created task-status-updated activity-events comment-created notification-events ``` ## Kafka 工程概念 - 事件驱动架构 - 分布式异步通信 - 实时事件传播 - 基于 topic 的运营消息传递 - Producer/consumer 工作流设计 - 事件中继 pipeline # 运营仪表板与分析 OpsPilot 包含用于监控工程执行的运营可见性仪表板。 ## 仪表板功能 - 运营就绪状态跟踪 - 活跃工作负载可见性 - 事件分析 - 实时活动 feed - 通知监控 - 团队执行可见性 - 运营状态同步 - 实时系统更新 # 后端架构 后端遵循分层的企业架构原则。 ``` apps/backend/src/main/java/com/opspilot/platform ├── config ├── controller ├── dto ├── events ├── exception ├── model/entity ├── repository ├── security └── service ``` ## 后端工程概念 - RESTful API 设计 - DTO 分离 - Service 层业务逻辑 - Repository 抽象 - JPA/Hibernate 持久化 - JWT 认证过滤器 - 基于角色的授权 - Kafka 事件发布 - WebSocket 广播 - 基于 Redis 的缓存 - Rate limiting - 运营工作流建模 - 分布式事件同步 - 感知环境的配置 - 生产级后端架构 # 前端架构 前端使用 React + Vite 构建。 ``` apps/frontend/src ├── api ├── components ├── hooks ├── pages ├── utils └── websocket ``` ## 前端工程概念 - 受保护的路由处理 - 感知角色的渲染 - API 抽象层 - 实时通知 hooks - STOMP topic 订阅 - 仪表板 UI - 团队工作区 UI - 事件工作流 UI - 运营活动 feed - 实时状态同步 - 分布式 UI 更新 - WebSocket 事件订阅 # 技术栈 ## 前端 | 技术 | 用途 | |---|---| | React 19 | UI 框架 | | Vite | 构建工具 | | React Router | 客户端路由 | | Axios | REST 通信 | | STOMP.js | WebSocket 消息传递 | | SockJS | 浏览器 WebSocket 回退机制 | ## 后端 | 技术 | 用途 | |---|---| | Java 17 | 后端语言 | | Spring Boot | API 框架 | | Spring Security | 认证与授权 | | JWT | 无状态 API 安全 | | Spring Data JPA | ORM/数据访问 | | Hibernate | 持久化 | | PostgreSQL | 关系型数据库 | | Flyway | 数据库迁移 | | Spring WebSocket | 实时消息传递 | | Kafka | 分布式事件流 | | Confluent Platform | Kafka 基础设施 | | Redis | Runtime 缓存与 rate limiting | | Maven | 依赖管理 | ## DevOps / 基础设施 | 技术 | 用途 | |---|---| | Docker | 容器化 | | Docker Compose | 多服务编排 | | AWS EC2 | 云部署目标 | | Terraform 风格的结构 | 基础设施组织 | | Swagger/OpenAPI | API 文档 | | Spring Boot Actuator | Runtime 可观测性 | | Linux/Ubuntu | 生产环境 runtime 环境 | # Docker 化服务 生产环境的 Docker 设置运行以下内容: | 服务 | 用途 | |---|---| | opspilot-frontend | React 前端 | | opspilot-backend | Spring Boot API | | opspilot-postgres | PostgreSQL 数据库 | | opspilot-redis | Redis runtime | | opspilot-kafka | Kafka broker | | opspilot-zookeeper | Kafka 协调 | # API 文档 当后端服务运行时,可使用 Swagger/OpenAPI 文档。 ``` http://localhost:8080/swagger-ui/index.html ``` ## API 工程概念 - 生产级 API 文档 - 交互式 endpoint 测试 - 运营 API 可见性 - 后端契约验证 # 健康监控 Spring Boot Actuator 暴露了运营健康 endpoint。 ``` GET /actuator/health ``` ## 健康监控包括 - 数据库连通性 - 磁盘空间监控 - 应用活跃度 - Runtime 就绪检查 - 服务可观测性 - 部署监控 # Redis 基础设施 OpsPilot 包含基于 Redis 的运营 runtime 支持。 ## Redis 使用场景 - 运营缓存 - Runtime 状态处理 - Rate-limiting 基础设施 - 分布式缓存协调 # 数据库迁移 Flyway 迁移文件位于: ``` apps/backend/src/main/resources/db/migration ``` 这实现了版本控制的 schema 演进和生产安全的数据库管理。 # 应用截图 ## 认证 ### 登录页面 ![登录](https://static.pigsec.cn/wp-content/uploads/repos/cas/92/92a1913405c86a757c0307e3c84e46221d9e56dbf855d0487afc7c667ce64809.png) ### 注册页面 ![注册](https://static.pigsec.cn/wp-content/uploads/repos/cas/9d/9da73bc31376ec8fdc2c67d794e355a652fbe806d54c39b4ab334f19b66ff11f.png) ## 事件管理 ### 事件仪表板 ![事件仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/cb/cbfee7a66f5588296f4f47760353100c8efa8a415ee7daf12039e686e84d3613.png) ### 事件评论 ![事件评论](https://raw.githubusercontent.com/rahulreddyin/opspilot-platform/develop/docs/screenshots/IncidentComments.png) ## 团队运营 ### 团队管理 ![团队管理](https://static.pigsec.cn/wp-content/uploads/repos/cas/7d/7dc636d8aebe25283834fd9cf370e50b02d02b054a8d05ea21f52ab6bd89b2eb.png) ### 团队工作区 ![团队工作区](https://raw.githubusercontent.com/rahulreddyin/opspilot-platform/develop/docs/screenshots/TeamWorkspace.png) ### 任务分配 ![任务分配](https://static.pigsec.cn/wp-content/uploads/repos/cas/ed/edd8fb87393afb60a43c6da70c1460e27cde43540c145e5cc988939c24c023f6.png) ## 通知与活动 ### 实时通知 ![通知](https://static.pigsec.cn/wp-content/uploads/repos/cas/56/567364fe67d04fe84383790e9f99aec8aa2e27272789aff98b2084bd6cf12619.png) ### 运营仪表板 ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/f9/f96dc3ffd38140d037655c1a936bb8d416d04b49632a12d724690acaa122c2ee.png) ## API 文档 ### Swagger/OpenAPI ![Swagger](https://static.pigsec.cn/wp-content/uploads/repos/cas/3e/3e2ba3176572621c787ac09fe011c890be7bd3da1f72a1bac548d5af9c7d2837.png) ## 部署与基础设施 ### Docker 容器与健康检查 ![Docker 健康](https://static.pigsec.cn/wp-content/uploads/repos/cas/73/734704708980fa0eebeb0dad52e65188f4ba6465721b61bd33a69c0bc0c8ba70.png) # 项目结构 ``` opspilot-platform/ │ ├── apps/ │ ├── backend/ │ └── frontend/ │ ├── docs/ │ ├── architecture/ │ ├── screenshots/ │ ├── api/ │ └── runbooks/ │ ├── infra/ │ ├── docker/ │ └── terraform/ │ ├── scripts/ │ ├── docker-compose.yml ├── docker-compose.kafka.yml └── README.md ``` # 本地开发设置 ## 前置条件 - Java 17 - Maven - Node.js - Docker Desktop - Git # 克隆仓库 ``` git clone https://github.com/rahulreddyin7/opspilot-platform.git cd opspilot-platform ``` # 使用 Docker Compose 启动 ``` docker compose up --build ``` # 本地 URL | 服务 | URL | |---|---| | 前端 | http://localhost:5173 | | 后端 API | http://localhost:8080 | | Swagger UI | http://localhost:8080/swagger-ui/index.html | | 健康检查 | http://localhost:8080/actuator/health | # 生产部署说明 生产部署支持: - 外部化环境变量 - Docker 网络隔离 - EC2 部署 - 持久化的 PostgreSQL 卷 - Kafka 编排 - Redis 集成 - 邮件集成 - JWT 密钥配置 - 感知环境的 API 路由 - 生产安全的 CORS 策略 - 多容器 runtime 编排 敏感信息应使用环境变量或密钥管理器进行管理。 # 展示的企业级工程概念 - 全栈企业应用架构 - 分布式系统设计 - 基于 JWT 的认证 - 基于角色的授权 - 事件驱动的服务设计 - Kafka listener/topic 基础设施 - Confluent Kafka 集成 - WebSocket 实时同步 - STOMP topic 广播 - 分布式事件传播 - 运营工作流建模 - 团队协作工作流 - 事件管理 - 运营审计跟踪 - 云原生部署架构 - Docker 化基础设施 - 健康监控与可观测性 - API 文档工程 - 数据库迁移/版本控制 - 异步事件处理 - 生产部署就绪 - 感知环境的基础设施配置 # 未来增强计划 - Kubernetes 部署清单 - Helm chart 支持 - CI/CD pipeline 集成 - HTTPS 反向代理集成 - Prometheus + Grafana 监控 - SLA/SLO 仪表板 - 多租户组织支持 - 文件附件支持 - AI 辅助事件摘要 - Retry 和 dead-letter Kafka 流程 - 分布式追踪 - 高级可观测性仪表板 # 简历参考摘要 OpsPilot 是一个生产级云原生运营平台,其灵感来源于现实世界中的 DevOps、SRE、分布式系统和事件响应架构。 该项目展示了: - 企业级后端架构 - 实时分布式系统 - 事件驱动的异步工作流 - Kafka/WebSocket 集成 - JWT 安全性 - 基于角色的运营工作流 - 分布式事件同步 - 云原生部署架构 - Docker 化基础设施 - 面向生产的工程实践 - 全栈工程架构 - 运营监控与可观测性 # 作者 Rahul Reddy Puli GitHub: https://github.com/rahulreddyin7 LinkedIn: https://www.linkedin.com/in/rahulreddyin7/
标签:JS文件枚举, React, Spring Boot, Syscalls, 域名枚举, 搜索引擎查询, 测试用例, 请求拦截, 运维管理