tessera-ai/incident-response-template

GitHub: tessera-ai/incident-response-template

一个可一键部署到 Railway 的智能事件响应系统,通过 AI 分析服务日志并在 Slack 中提供实时告警与交互式修复操作。

Stars: 0 | Forks: 0

# Railway 模板:事件响应与日志分析 🚨 **部署此模板即可获得一个智能事件响应系统,用于监控您的 Railway 服务并通过 Slack 提供 AI 驱动的警报。** [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/incident-response?referralCode=tessera_ai&utm_medium=integration&utm_source=template&utm_campaign=generic) ## 功能 - **🔍 实时日志流**:监控 Railway 服务的日志事件和异常 - **🤖 AI 驱动分析**:使用 OpenAI 分析事件并提供智能修复建议 - **🚨 Slack 集成**:向您的 Slack 工作区发送包含严重性评估和操作建议的智能通知 - **📊 服务监控**:跟踪 Railway 服务的健康状况、性能和部署事件 - **🎯 事件分诊**:根据影响自动对事件进行分类和优先级排序 - **🔒 审计追踪**:完整记录事件、操作和对话历史,以满足合规要求 ## 快速开始 ### 1. 部署此模板 点击上方的“Deploy on Railway”按钮,将此模板部署到您的 Railway 账户。 ### 2. 配置所需的环境变量 前往 Railway 中您服务的 **Variables** 选项卡,并添加所需的变量。 ## 📋 设置指南 有关完整且权威的变量列表(必需、可选、默认值),请参阅 `RAILWAY_TEMPLATE.md`。 ### 🔗 获取您的 Railway API Token 1. 前往 [Railway Dashboard → API Tokens](https://railway.app/account/tokens) 2. 点击 **“Create New Token”** 3. 为其命名(例如,“Incident Response System”) 4. 复制该 token 5. 在您的 Railway 变量中将其添加为 `RAILWAY_API_TOKEN` ### 🎯 查找您的 Railway Project ID 1. 前往 [Railway Dashboard](https://railway.app) 2. 选择您想要监控的任意项目 3. 点击 **Settings** → 复制 **Project ID** 4. 将其添加到 `RAILWAY_MONITORED_PROJECTS`(多个项目以逗号分隔) **示例:** ``` RAILWAY_MONITORED_PROJECTS=80661543-f4f8-473e-ae39-0e49270938de,another-project-id ``` ### 🤖 获取您的 OpenAI API Key 1. 前往 [OpenAI Platform → API Keys](https://platform.openai.com/api-keys) 2. 点击 **“Create new secret key”** 3. 复制该 key(以 `sk-proj-` 开头) 4. 在 Railway 变量中将其添加为 `OPENAI_API_KEY` ## 💬 设置 Slack 集成 ### 第 1 步:创建 Slack App 1. 前往 [Slack API Apps](https://api.slack.com/apps) 2. 点击 **“Create New App”** → **“From scratch”** 3. 为其命名(例如,“Railway Agent”)并选择您的工作区 4. 点击 **“Create App”** ### 第 2 步:配置 Bot Token Scopes 1. 在您的应用设置中,前往 **OAuth & Permissions** 2. 在 **Bot Token Scopes** 下,添加: - `chat:write` - 发送消息 - `commands` - 斜杠命令 - `im:history` - 读取私信历史(用于对话) ### 第 3 步:启用交互性 1. 前往 **Interactivity & Shortcuts** 2. 开启 **Interactivity** 3. 将 **Request URL** 设置为: https://your-app.railway.app/api/slack/interactive (将 `your-app.railway.app` 替换为您实际的 Railway 域名) ### 第 4 步:添加斜杠命令(可选) 1. 前往 **Slash Commands** 2. 点击 **“Create New Command”** 3. 配置: - **Command**:`/tessera`(或您偏好的名称) - **Request URL**:`https://your-app.railway.app/api/slack/slash` - **Description**:“Interact with Railway Agent” ### 第 5 步:安装到工作区 1. 前往 **OAuth & Permissions** 2. 点击 **“Install to Workspace”** 3. 授权该应用 ### 第 6 步:获取您的凭证 安装完成后: | 凭证 | 在哪里找到 | | ---------------------- | ------------------------------------------------------------------------ | | `SLACK_BOT_TOKEN` | **OAuth & Permissions** → **Bot User OAuth Token**(以 `xoxb-` 开头) | | `SLACK_SIGNING_SECRET` | **Basic Information** → **App Credentials** → **Signing Secret** | ### 查找您的 Slack Channel ID 1. 打开 Slack 并进入您想要接收警报的频道 2. 右键点击频道名称 → **“View channel details”** 3. 在弹出窗口的底部,复制 **Channel ID**(以 `C` 开头) ## 使用说明 ### 自动监控 配置完成后,Railway Agent 会自动: 1. 连接到您受监控项目的 Railway 日志流 2. 分析日志以查找错误模式和异常 3. 在检测到事件时发送 Slack 警报 4. 建议(或自动执行)修复操作 ### Slack 警报 当检测到事件时,您将收到一条包含以下内容的 Slack 消息: - **严重性**和**置信度** - **根因分析** - **建议的修复操作** - 操作按钮: - **Auto-Fix** - 执行建议的修复 - **Start Chat** - 开始对话式故障排查 - **View Logs** - 打开 Railway 日志 - **Ignore** - 忽略此警报 ### 斜杠命令 在 Slack 中使用 `/tessera` 命令(或您配置的命令): ``` /tessera restart api-service /tessera scale memory api-service 2048 /tessera rollback api-service /tessera status api-service ``` ### 仪表板 访问 `https://your-app.railway.app` 处的仪表板可以: - 查看近期事件及其状态 - 按服务开启或关闭自动修复 - 监控修复操作历史 - 按严重性或状态筛选事件 ## 故障排除 ### 未检测到任何事件 - 检查 `RAILWAY_API_TOKEN` 是否有权访问受监控的项目 - 确认 `RAILWAY_MONITORED_PROJECTS` 包含有效的 Project ID - 检查 Railway 日志以查看 WebSocket 连接状态 ### Slack 通知不工作 - 确认 `SLACK_BOT_TOKEN` 和 `SLACK_SIGNING_SECRET` 正确无误 - 确保已将 bot 邀请到目标频道 - 检查 `SLACK_CHANNEL_ID` 是频道 ID(而不是频道名称) ### LLM 分析失败 - 确认 `OPENAI_API_KEY` 有效且有余额 - 检查应用日志中是否存在速率限制 - 即使 LLM 不可用,基于模式的检测也会继续运行 ## 健康检查 应用在 `/health` 暴露了一个健康检查端点: ``` curl https://your-app.railway.app/health ``` 响应: ``` { "status": "healthy", "timestamp": "2025-12-05T12:00:00Z", "version": "0.1.0" } ``` ## 许可证 MIT
标签:AIOps, AI运维, IT运维, MITM代理, OpenAI, Petitpotam, Railway, Slack机器人, Socks5代理, SRE, 云端部署, 偏差过滤, 内存规避, 告警通知, 子域名变形, 实时日志流, 异常检测, 故障分类, 智能分析, 服务监控, 系统健康监测, 自动化运维