F1 告警静默规则 [done]: - 后端 alert_silence.go: CRUD + Toggle (onetime/daily/weekly 三模式) - 告警引擎 isSilenced 集成 (alert_engine.go) - 前端 SilenceRuleTab + SilenceDialog - 路由 /alerts/silences 已注册 F2 审计日志导出 [done]: - 重写 ExportAuditLogs: 真正的 CSV 导出 (encoding/csv + UTF-8 BOM) - 支持 module/action/username/startTime/endTime 筛选 - 导出限制 10000 条防溢出,自动记录审计日志 - JSON 格式向后兼容 (format=json) - 前端 exportLogs 传递查询参数 同时包含累积的前期工作: - 目录重构 internal/ -> controller/model/router (v0.55-v0.57) - 后端分层架构 dto/repository/service/utils - 审计模块全功能 (终端审计/操作审计/登录日志) - asciicast v2 录制格式 - SFTP 文件浏览器 - StatStrip 紧凑统计条 - 在线会话自动刷新 - LiveMonitor WebSocket 诊断修复 验证: go build ✅ | npm run build ✅ | Docker 部署 ✅ | 10 回归端点 ✅ | CSV 导出 ✅ | 静默 CRUD ✅
AIOps 三种部署方式
部署方式对比
| 方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| Docker Compose(双容器) | 生产环境 | 前后端分离,nginx 高性能 | 需要 4 个容器 |
| Docker Compose(embed 单容器) | 快速部署 | 1 个容器搞定,无需 nginx | 静态文件性能稍弱 |
| 二进制部署 | 无 Docker 环境 | 一个文件 + systemd | 需要自行管理 MySQL/Redis |
| Kubernetes | K8s 集群 | 标准化编排,弹性伸缩 | 需要 K8s 集群 |
方式一:Docker Compose(双容器,当前默认)
# 开发机(75)
cd /srv/aiops
make docker-up # 构建并启动
# 生产机(150)
cd /srv/aiops && git pull
make docker-up
架构:nginx(:80) → backend(:8080) + MySQL + Redis
方式二:Docker Compose embed 单容器
前端通过 Go //go:embed 嵌入后端二进制,不需要 nginx 容器。
cd /srv/aiops
docker-compose -f docker-compose.embed.yml up -d --build
# 或
make docker-embed
架构:aiops-app(:80→:8080) + MySQL + Redis(3 个容器)
方式三:二进制部署(无 Docker)
在开发机构建
cd /srv/aiops
make build-binary
# 生成 ./aiops 单二进制(~30MB,前端已嵌入)
在目标服务器部署
# 传两个文件到目标服务器
scp aiops deploy/binary/install.sh root@<target>:/tmp/
# 安装(自动创建 systemd 服务 + 默认配置)
ssh root@<target>
cd /tmp && bash install.sh install
# 修改数据库配置
vim /opt/aiops/config.yaml
# 启动
systemctl start aiops
管理
systemctl start aiops # 启动
systemctl stop aiops # 停止
systemctl restart aiops # 重启
systemctl status aiops # 状态
journalctl -u aiops -f # 日志
架构:aiops 二进制 + systemd(端口 8080 同时服务 API 和前端)
前提:目标服务器需已安装 MySQL 8.0 + Redis 7
方式四:Kubernetes 部署
cd /srv/aiops
kubectl apply -f deploy/kubernetes/
详见 deploy/kubernetes/README.md
快速选择
| 环境 | 推荐方式 |
|---|---|
| 开发测试(75) | 方式一 docker-compose |
| 生产环境(150) | 方式一 docker-compose |
| 客户现场快速演示 | 方式二 embed 单容器 |
| 内网无 Docker 服务器 | 方式三 二进制部署 |
| K8s 集群 | 方式四 Kubernetes |