adheeb2/ResponseOs-incident-management-software

GitHub: adheeb2/ResponseOs-incident-management-software

一个从零构建的生产级事件管理平台,实现从告警触发到事后复盘的完整响应闭环。

Stars: 0 | Forks: 0

# 响应式 Os-incident-management-software 这个项目是我个人的一次尝试,旨在了解真正的工程团队是如何处理生产环境故障的。它既不是演示应用,也不是教程练习。其目标是构建一个管理系统,专门处理生产环境中出现问题 **之后** 发生的事情。 当警报被触发时,该平台会创建事件、指派合适的人员、展示相关 Runbook、允许实时协作、存储日志和操作记录,随后生成事后复盘(postmortem)报告。后续还会加入 AI 助手,帮助工程师在活跃事件期间对日志和 Runbook 进行推理。 这个仓库的存在是为了探索系统思维:并发下的数据库设计、后台 Worker、可观测性、实时更新、云端部署、性能以及安全性。 ## 项目理念 本项目有意避免不必要的抽象和工具。其目的是理解系统在压力下的行为,而不是将复杂性隐藏在框架之后。 你会看到: * 工作流和事件的关系建模 * Worker 根据警报创建事件 * 结构化日志和指标 * 事件期间的实时更新 * 在使用托管服务之前的手动基础设施 * 仅在核心系统稳定后才加入 AI ## 核心功能 * 服务和警报定义 * 根据警报自动创建事件 * 包含结构化步骤的 Runbook * 用于协作的实时事件仪表板 * 用于警报处理的后台 Worker * 日志和时间线追踪 * 事后复盘报告生成 * 用于日志和 Runbook 推理的 AI 助手(后期阶段) ## 技术栈 * Node.js * Fastify * PostgreSQL * Drizzle ORM * Redis * React * TanStack Query 和 Router * Tailwind CSS * Docker 和 Docker Compose ## 本地开发设置 ### 前置条件 * Node.js v20+ * pnpm * Docker 和 Docker Compose ### 安装 1. 安装依赖: pnpm install 2. 复制环境变量: cp .env.example .env 3. 启动 database 和 redis 容器: pnpm docker:dev 4. 运行数据库迁移: pnpm migrate:dev 5. 启动开发服务器: pnpm dev 应用程序现在可以在本地访问了。 ## 项目结构 ``` apps/ backend/ web/ packages/ database/ jobs/ server/ ui/ ``` * `backend` 处理 API、Worker 和事件逻辑 * `web` 提供事件仪表板和管理 UI * `database` 包含 schema 和迁移 * `jobs` 处理后台警报和事件 Worker * `server` 包含共享的服务器工具 * `ui` 包含共享的前端组件 ## 系统工作原理 1. 监控模拟器生成警报。 2. 警报自动创建事件。 3. 事件指派响应者并显示 Runbook。 4. 工程师实时更新事件。 5. 日志和操作被存储。 6. 解决后,生成事后复盘。 稍后,真正的监控工具可以通过 Webhook 发送警报。 ## 可用脚本 * `pnpm dev` – 在开发环境中启动 backend 和 web * `pnpm build` – 构建所有应用 * `pnpm docker:dev` – 启动 postgres 和 redis * `pnpm migrate:dev` – 应用迁移 * `pnpm worker:dev` – 启动后台 Worker ## 贡献策略 本项目遵循简单的基于分支的工作流: 1. 从 `main` 创建功能分支 2. 实施更改 3. 发起 Pull Request 4. 审核后合并 ## 本仓库的目的 这个仓库旨在成为一个长期运行的系统,在数月内不断演进。每个阶段都会增加新的复杂性:可观测性、云端部署、性能调优、AI 集成以及安全加固。 最终,这应该类似于一个真正的内部工具,可供工程团队在他们最糟糕的生产环境日子里使用。 - 注:按 ctrl+ shift+ v 可查看 readme 文件在 github 上的预览效果,无需在每次提交后前往 github 查看
标签:AI助手, API集成, B端软件, DNS解析, Docker, Drizzle ORM, Fastify, GNU通用公共许可证, MITM代理, Node.js, PostgreSQL, React, Redis, Runbook, SRE工具, Syscalls, Tailwind CSS, TanStack Query, 事后复盘, 事故管理, 仪表盘, 协同工具, 可观测性, 后台任务处理, 告警系统, 安全防御评估, 开源项目, 搜索引擎查询, 测试用例, 生产故障, 系统设计, 自动化攻击, 请求拦截