WatchAlert 云原生智能监控告警引擎技术文档
1. 安装指南
1.1 环境要求
后端环境:
- Go >= 1.23
- 依赖库:Gin、Viper、Gorm、JWT、Go-zero等
前端环境:
- Node.js >= v18.20.3
- Yarn >= 1.22.22
- 框架:React、JSX、Ant-design、Codemirror等
1.2 安装方式
方式一:Docker快速部署
- 拉取最新镜像
- 配置环境变量
- 启动容器服务
方式二:源码编译安装
- 克隆仓库
git clone https://github.com/w8t-io/WatchAlert.git
- 后端编译
cd server && go build -o watchalert
- 前端构建
cd web && yarn install && yarn build
2. 项目使用说明
2.1 系统功能模块
- 监控告警中心:集中管理所有告警规则与事件
- 故障分析台:AI智能分析异常根因
- 值班管理:轮班排班与告警分配
- 网络探测:HTTP/ICMP/TCP/SSL监控
- 数据源管理:对接多种监控数据源
2.2 基本操作流程
- 配置数据源(Prometheus/Loki等)
- 创建告警规则
- 设置通知渠道
- 查看告警事件
- 分析故障根因
3. 项目API使用文档
3.1 核心API接口
告警规则管理
POST /api/v1/alert/rules创建告警规则GET /api/v1/alert/rules获取规则列表PUT /api/v1/alert/rules/:id更新规则
告警事件查询
GET /api/v1/alerts获取告警事件列表GET /api/v1/alerts/:id获取事件详情
AI分析接口
POST /api/v1/ai/analyze提交分析请求GET /api/v1/ai/results/:id获取分析结果
3.2 API认证方式
使用JWT Token进行认证,需在Header中添加:
Authorization: Bearer <your_token>
4. 详细安装配置
4.1 配置文件说明
主要配置文件位于configs/config.yaml,包含:
server:
port: 8080
mode: release
database:
type: mysql
host: 127.0.0.1
port: 3306
user: root
password: "123456"
db_name: watchalert
alert:
default_interval: 60s
max_retries: 3
4.2 初始化步骤
- 创建数据库
CREATE DATABASE watchalert CHARACTER SET utf8mb4;
- 执行数据迁移
./watchalert migrate
- 启动服务
# 后端服务
./watchalert serve
# 前端服务
cd web && yarn start
5. 最佳实践
5.1 告警规则配置建议
- 设置合理的触发阈值
- 配置多级告警升级策略
- 为不同命名空间设置独立规则
5.2 AI功能使用技巧
- 提供完整的上下文日志
- 关联相关指标数据
- 定期训练本地模型
6. 常见问题解答
Q: 如何扩展新的数据源支持? A: 实现对应的数据接入器接口并注册到系统中
Q: AI分析功能如何离线使用? A: 可下载本地模型包,配置ai.local_mode=true
Q: 告警通知延迟怎么排查? A: 检查消息队列状态和通知渠道的速率限制
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



