数据库设计
概述
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 |
操作时间 |
表关系
AutoMigrate
表结构在 backend/pkg/database/database.go 中定义,服务启动时自动执行:
切换数据库
MySQL
编辑 backend/config.yaml:
PostgreSQL