tessera-ai/incident-response-template
GitHub: tessera-ai/incident-response-template
一个可一键部署到 Railway 的智能事件响应系统,通过 AI 分析服务日志并在 Slack 中提供实时告警与交互式修复操作。
Stars: 0 | Forks: 0
# Railway 模板:事件响应与日志分析
🚨 **部署此模板即可获得一个智能事件响应系统,用于监控您的 Railway 服务并通过 Slack 提供 AI 驱动的警报。**
[](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, 云端部署, 偏差过滤, 内存规避, 告警通知, 子域名变形, 实时日志流, 异常检测, 故障分类, 智能分析, 服务监控, 系统健康监测, 自动化运维