| 模块 | 说明 |
|---|---|
| CMDB | 项目、环境、服务器、应用资产管理 |
| CI/CD | Jenkins 集成,应用部署与归档发布 |
| 聚合打包 | 多应用聚合打包,Consul 配置驱动 |
| Consul 管理 | 配置管理、批量复制、管道替换 |
| 告警中心 | 规则管理、联系人、渠道、模板、Webhook |
| 监控大屏 | Grafana 仪表盘代理、健康检查、Prometheus 集成 |
| 安全扫描 | 主机扫描、Web 扫描、漏洞管理、FIM 文件完整性监控 |
| 运维小助手 | AI 对话助手,支持 Ollama 本地模型及主流第三方模型,回答语言跟随界面语言 |
| 国际化 | 中英文界面一键切换,浏览器标题与系统名称同步翻译(自定义站点名保持原样) |
| 权限管理 | JWT 认证、RBAC 角色权限、菜单控制 |
| 审计日志 | 操作审计、平台事件流 |
| 工作台 | CMDB 项目管理 |
|---|---|
![]() |
![]() |
| 工作台(English) | 安全扫描 |
|---|---|
![]() |
![]() |
| 部署发布 | 告警模板(English) | 运维小助手 |
|---|---|---|
![]() |
![]() |
![]() |
后端: Go 1.25 · Gin · GORM · MySQL 8.0 · Redis 7.4 · Zap
前端: React 18 · TypeScript · Vite · Ant Design 5 · Axios
基础设施: Docker Compose · Nginx · Ollama (可选)
git clone git@github.com:jenvenson/ops-platform.git //若失败,使用git clone https://github.com/jenvenson/ops-platform.git
cd ops-platformcp deploy/.env.example deploy/.env编辑 deploy/.env,至少修改以下三项:
DB_PASSWORD=your_secure_mysql_password
REDIS_PASSWORD=your_secure_redis_password
JWT_SECRET=your_jwt_secret_key_change_in_production开发环境使用预置扫描工具的 base 镜像,首次需构建一次,后续重启无需重复:
docker build -f deploy/Dockerfile.backend-dev-base -t ops-backend-dev-base .构建过程会编译 nuclei 等工具,约需 5–10 分钟(取决于网络)。构建完成后永久缓存,重启容器约 1 分钟即可就绪。
docker compose -f deploy/docker-compose.dev.yml -p ops-dev up -dcurl http://localhost:28080/health
# {"status":"ok","checks":{"database":"ok"}}浏览器打开 **http://localhost:18890**,使用默认账号登录。
| 服务 | 地址 | 说明 |
|---|---|---|
| 前端入口 | http://localhost:18890 | Web 管理界面 |
| 后端 API | http://localhost:28080 | REST API |
| MySQL | localhost:23306 | 数据库直连 |
| Redis | localhost:16379 | 缓存直连 |
| 字段 | 值 |
|---|---|
| 用户名 | admin |
| 密码 | admin123 |
首次登录后请在「个人中心」修改密码。
docker-compose.dev.yml 会启动全部服务:MySQL、Redis、后端(golang 容器内 go run)、前端(node 容器内 Vite)、Nginx。源码目录挂载进容器,无需本地安装 Go / Node。
后端基于 ops-backend-dev-base 镜像(已预装 nmap、mariadb-client、nuclei 等扫描工具),容器启动时跳过工具安装,直接编译运行,重启时间约 1 分钟:
# 前端:Vite 热更新,改完代码自动生效
# 后端:无热重载,修改代码后重启容器
docker restart ops-backend-dev
# 查看日志
docker logs -f ops-backend-dev
docker logs -f ops-frontend-devMySQL 连接失败 / Authentication plugin 错误
部分客户端不支持 MySQL 8.0 的 caching_sha2_password:
docker exec ops-mysql mysql -uroot -p -e \
"ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES;"前端无法连接后端
确认 deploy/.env 中 JWT_SECRET 已设置,且后端容器 ops-backend-dev 已启动:
docker logs ops-backend-dev --tail 20端口冲突
修改 deploy/.env 中的端口变量或直接编辑 deploy/docker-compose.dev.yml 的 ports 映射。
国内网络慢 / 依赖下载失败
在 deploy/.env 中设置 Go 模块代理:
GOPROXY=https://goproxy.cn,direct├── backend/ # Go 后端
│ ├── cmd/server/ # 入口
│ ├── internal/ # 业务模块 (cmdb/security/alert/assistant/...)
│ ├── pkg/ # 公共工具包 (config/logger/jenkins/consul)
│ ├── configs/ # 配置文件
│ ├── migrations/ # 数据库迁移
│ └── scripts/ # 初始化脚本
├── frontend/ # React 前端
│ └── src/
│ ├── api/ # API 客户端
│ ├── components/ # 公共组件 (MainLayout, AIChatbot)
│ ├── pages/ # 页面 (cmdb/security/alarm/deploy/...)
│ └── styles/ # 主题样式
├── deploy/ # 部署配置
│ ├── docker-compose.yml # 生产环境
│ ├── docker-compose.dev.yml # 开发环境
│ ├── Dockerfile.backend # 后端生产镜像
│ ├── Dockerfile.backend-dev-base # 后端开发 base 镜像(预装扫描工具)
│ ├── Dockerfile.frontend # 前端镜像
│ ├── nginx.conf.template # Nginx 模板
│ ├── .env.example # 环境变量示例
│ ├── deploy-init.sh # 首次部署
│ └── deploy-update.sh # 迭代更新
├── docs/ # 文档与截图
└── migrations/ # 历史补充迁移
Browser → Nginx (:80)
├── /api/* → Backend (:8080) → MySQL + Redis
├── /grafana-proxy → Grafana
└── /* → Frontend static files
后端模块依赖:
auth → cmdb / security / alert / consul / cicd / assistant
↓
platformevent / platformobject
↓
database (MySQL + Redis)
内置 AI 对话助手,支持通过 Ollama 运行本地模型,也可接入第三方模型 API:
# 本地 Ollama
ASSISTANT_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_CHAT_MODEL=qwen3:8b
# 第三方模型 (DeepSeek / 通义千问 / GLM / Kimi / MiniMax / 豆包 等)
ASSISTANT_PROVIDER=deepseek
ASSISTANT_API_KEY=sk-your-api-key支持的工具调用:CMDB 查询、告警管理、部署操作、安全扫描。
本项目采用 MIT License,可自由使用、修改和分发。






