feat: 完善堡垒机与 Agent 智能运维能力
- 支持 Windows Agent 构建、安装脚本和统一上报协议 - 增强 RDP 剪贴板、虚拟盘和文件传输能力 - 新增 AIOps 上下文工具、告警 RCA trace 落库和回放接口 - 重构 docs 模块文档并补充终端、堡垒机、监控、AI Agent 设计
This commit is contained in:
1 parent
a9513c2056
commit
e0d652d211
169 files changed
+12192
-9116
No files matched your search
@@ -1,210 +0,0 @@
|
||||
# 数据库设计
|
||||
|
||||
## 概述
|
||||
|
||||
AIOps 使用 GORM 作为 ORM 框架,支持 SQLite / MySQL / PostgreSQL。
|
||||
|
||||
- **默认**: SQLite(零配置,数据文件 `backend/data/aiops.db`)
|
||||
- **生产**: 推荐使用 MySQL 或 PostgreSQL
|
||||
|
||||
首次启动时,`AutoMigrate` 会自动创建所有表。
|
||||
|
||||
## 数据模型
|
||||
|
||||
### 用户体系
|
||||
|
||||
#### users - 用户表
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | uint | 主键 |
|
||||
| username | string | 用户名(唯一) |
|
||||
| password | string | 密码(bcrypt 加密) |
|
||||
| email | string | 邮箱 |
|
||||
| phone | string | 手机号 |
|
||||
| real_name | string | 真实姓名 |
|
||||
| avatar | string | 头像 URL |
|
||||
| status | int | 状态(1=正常 0=禁用) |
|
||||
| last_login | time | 最后登录时间 |
|
||||
| created_at | time | 创建时间 |
|
||||
| updated_at | time | 更新时间 |
|
||||
|
||||
#### roles - 角色表
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | uint | 主键 |
|
||||
| name | string | 角色名称 |
|
||||
| code | string | 角色代码 |
|
||||
| description | string | 角色描述 |
|
||||
| sort | int | 排序 |
|
||||
|
||||
#### permissions - 权限表
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | uint | 主键 |
|
||||
| name | string | 权限名称 |
|
||||
| code | string | 权限代码 |
|
||||
| type | string | 权限类型(menu/btn/api) |
|
||||
| path | string | 路由路径 |
|
||||
| method | string | HTTP 方法 |
|
||||
|
||||
### 服务器管理
|
||||
|
||||
#### servers - 服务器表
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | uint | 主键 |
|
||||
| name | string | 服务器名称 |
|
||||
| hostname | string | 主机名 |
|
||||
| ip | string | IP 地址 |
|
||||
| port | int | SSH 端口 |
|
||||
| os | string | 操作系统 |
|
||||
| cpu | int | CPU 核数 |
|
||||
| memory | int64 | 内存(MB) |
|
||||
| disk | int64 | 磁盘(GB) |
|
||||
| status | string | 状态(online/offline/maintenance) |
|
||||
| tags | string | 标签(JSON) |
|
||||
| cloud_id | uint | 关联云账号 |
|
||||
| region | string | 地域 |
|
||||
|
||||
#### clouds - 云平台表
|
||||
#### cloud_accounts - 云账号表
|
||||
#### regions - 地域表
|
||||
#### domains - 域名表
|
||||
|
||||
### K8s 管理
|
||||
|
||||
#### k8s_clusters - K8s 集群表
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | uint | 主键 |
|
||||
| name | string | 集群名称 |
|
||||
| version | string | K8s 版本 |
|
||||
| api_server | string | API Server 地址 |
|
||||
| kubeconfig | string | Kubeconfig 内容 |
|
||||
| status | string | 集群状态 |
|
||||
|
||||
#### k8s_nodes, k8s_pods, k8s_deployments, k8s_services, k8s_ingresses
|
||||
|
||||
### 监控告警
|
||||
|
||||
#### alert_rules - 告警规则表
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | uint | 主键 |
|
||||
| name | string | 规则名称 |
|
||||
| description | string | 规则描述 |
|
||||
| type | string | 告警类型 |
|
||||
| source | string | 数据源 |
|
||||
| expression | string | PromQL 表达式 |
|
||||
| severity | string | 严重级别(critical/warning/info) |
|
||||
| duration | string | 持续时间 |
|
||||
| notify_channels | string | 通知渠道(JSON) |
|
||||
| enabled | bool | 是否启用 |
|
||||
|
||||
#### alert_events - 告警事件表
|
||||
#### notify_channels - 通知渠道表
|
||||
#### metric_data - 指标数据表
|
||||
|
||||
### CI/CD
|
||||
|
||||
#### pipelines - 流水线表
|
||||
#### pipeline_runs - 流水线执行记录表
|
||||
#### app_releases - 应用发布表
|
||||
|
||||
### 自动化运维
|
||||
|
||||
#### cron_jobs - 定时任务表
|
||||
#### scripts - 脚本表
|
||||
#### task_executions - 任务执行记录表
|
||||
#### playbooks - Ansible Playbook 表
|
||||
|
||||
### 审批流程
|
||||
|
||||
#### approval_templates - 审批模板表
|
||||
#### approval_processes - 审批流程表
|
||||
#### approval_steps - 审批步骤表
|
||||
|
||||
### 其他
|
||||
|
||||
#### navigation_groups - 导航分组表
|
||||
#### navigation_links - 导航链接表
|
||||
#### audit_logs - 审计日志表
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | uint | 主键 |
|
||||
| user_id | *uint | 操作用户 ID |
|
||||
| module | string | 模块 |
|
||||
| action | string | 操作类型 |
|
||||
| resource | string | 资源标识 |
|
||||
| request | string | 请求内容 |
|
||||
| response | string | 响应内容 |
|
||||
| error | string | 错误信息 |
|
||||
| ip | string | 操作 IP |
|
||||
| created_at | time | 操作时间 |
|
||||
|
||||
## 表关系
|
||||
|
||||
```
|
||||
users ──< user_roles >── roles ──< role_permissions >── permissions
|
||||
|
||||
servers ──> cloud_accounts ──> clouds
|
||||
servers ──> regions
|
||||
|
||||
alert_rules ──< alert_events
|
||||
alert_rules ──> notify_channels
|
||||
|
||||
pipelines ──< pipeline_runs
|
||||
app_releases ──> pipelines
|
||||
|
||||
approval_templates ──< approval_processes ──< approval_steps
|
||||
|
||||
navigation_groups ──< navigation_links
|
||||
```
|
||||
|
||||
## AutoMigrate
|
||||
|
||||
表结构在 `backend/pkg/database/database.go` 中定义,服务启动时自动执行:
|
||||
|
||||
```go
|
||||
func AutoMigrate(db *gorm.DB) error {
|
||||
return db.AutoMigrate(
|
||||
&models.User{}, &models.Role{}, &models.Permission{},
|
||||
&models.Server{}, &models.Cloud{}, ...
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
## 切换数据库
|
||||
|
||||
### MySQL
|
||||
|
||||
编辑 `backend/config.yaml`:
|
||||
```yaml
|
||||
database:
|
||||
driver: mysql
|
||||
host: localhost
|
||||
port: 3306
|
||||
user: root
|
||||
password: your_password
|
||||
dbname: aiops
|
||||
charset: utf8mb4
|
||||
```
|
||||
|
||||
### PostgreSQL
|
||||
|
||||
```yaml
|
||||
database:
|
||||
driver: postgres
|
||||
host: localhost
|
||||
port: 5432
|
||||
user: postgres
|
||||
password: your_password
|
||||
dbname: aiops
|
||||
```
|
||||
Reference in new issue
Block a user