logo
0
0
WeChat Login
J<871578547@qq.com>
update README

OpsHub Logo

OpsHub —— 现代化、插件化的云原生运维管理平台

Go Vue License PRs Welcome


💎 OpsHub 是什么?

🎯 一站式运维管理平台,让运维更简单

OpsHub 是一个功能强大的插件化运维管理平台,采用前后端分离架构,支持多集群 Kubernetes 管理、主机资产管理、RBAC 权限控制、任务编排、监控告警等功能。平台以插件形式组织功能模块,支持一键安装与卸载,可根据实际需求灵活扩展。

🔌 插件化架构,按需加载

通过插件系统实现功能模块的解耦,Kubernetes 管理、任务中心、监控中心等核心功能均以插件形式提供,团队可根据实际需求选择性启用,降低系统复杂度。


🌟 核心亮点

🔌 插件化架构

  • 功能模块以插件形式存在,支持一键安装/卸载
  • 前后端插件系统联动,按需加载
  • 完整的插件开发规范,易于扩展

☸️ 多集群 Kubernetes 管理

  • 统一管理多个 Kubernetes 集群
  • 完整的工作负载管理:Deployment、StatefulSet、DaemonSet、Job、CronJob
  • 网络与存储:Service、Ingress、ConfigMap、Secret、PV/PVC
  • Web Terminal 终端连接,支持会话录制与回放
  • 集群健康巡检,一键生成巡检报告

🔐 精细化权限控制

  • 平台级 + Kubernetes 级双重 RBAC
  • 资产级权限隔离(查看、编辑、删除、终端、文件)

📊 操作审计

  • 操作日志完整记录
  • SSH 终端会话录制与回放
  • 数据变更追溯

📜 项目演示图

登录页面首页概览
资产管理终端连接
K8s集群节点管理
应用诊断火焰图
集群巡检域名监控
集群巡检域名监控

🚀 功能特性

基础功能

功能模块描述
👥 用户管理用户增删改查、密码重置、状态管理
🎭 角色管理角色定义、权限分配、角色继承
🏢 部门管理组织架构管理、部门层级
📋 菜单管理动态菜单配置、权限绑定
📝 操作审计完整的操作日志记录与查询

插件功能

☸️ Kubernetes 容器管理

功能描述
集群管理多集群接入、集群概览、健康检查
节点管理节点列表、资源监控、污点/标签管理
工作负载Deployment、StatefulSet、DaemonSet、Job 管理
网络管理Service、Ingress、NetworkPolicy 管理
配置存储ConfigMap、Secret、PV/PVC 管理
终端审计Web Terminal、会话录制与回放
应用诊断(未完成)针对JAVA应用进行分析(堆栈,火焰图生成)
集群巡检一键生成 K8S 巡检报告

✅ 任务中心

功能描述
执行任务脚本执行、批量操作
模板管理任务模板定义与复用
文件分发批量文件分发到目标主机
执行历史任务执行记录与日志查看

🔐 SSL证书管理

功能描述
证书管理ACME自动申请(Let's Encrypt等)、手动导入、云厂商同步
DNS验证配置支持阿里云DNS验证,自动完成域名所有权验证
部署配置自动部署到Nginx(SSH)和Kubernetes Secret
自动续期定时检查证书有效期,自动续期并部署
任务记录完整的证书签发、续期、部署任务记录

📊 监控中心

功能描述
域名监控SSL 证书监控、到期提醒
告警管理告警规则配置、多渠道通知

📈 Nginx 日志分析

功能描述
数据源管理支持主机 Nginx
概况统计实时访客、PV/UV、今昨对比、趋势图表
Top 分析来路排行、受访页面、入口页面、地域分布
数据日报每日请求数、UV、带宽、响应时间汇总
访问明细访问日志查询、地理位置、设备信息
IP 地理解析使用 GeoLite2 解析 IP 地理位置

🛠️ 技术栈

后端

技术版本描述
Go1.21+后端开发语言
Gin1.11+高性能 HTTP Web 框架
GORM1.31+Go 语言 ORM 库
client-go0.35+Kubernetes Go 客户端
jwt-go5.3+JWT 认证
zap1.27+高性能日志库

前端

技术版本描述
Vue3.5+渐进式 JavaScript 框架
TypeScript5.9+类型安全的 JavaScript
Element Plus2.13+Vue 3 UI 组件库
Vite5.4+下一代前端构建工具
xterm.js6.0+Web 终端模拟器

📦 快速开始

环境要求

  • Go 1.21+
  • Node.js 18+
  • MySQL 8.0+
  • Redis 6.0+

1. 克隆项目

git clone https://github.com/ydcloud-dy/opshub.git cd opshub

2. 初始化数据库

# 创建数据库 mysql -u root -p -e "CREATE DATABASE opshub CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 导入初始化脚本 mysql -u root -p opshub < migrations/init.sql

3. 配置后端

cp config/config.yaml.example config/config.yaml # 编辑 config.yaml 修改数据库连接信息

4. 启动服务

# 启动后端 go run main.go server # 启动前端(新终端) cd web && npm install && npm run dev

5. 访问系统

默认账号

用户名密码
admin123456

⚠️ 重要: 生产环境请立即修改默认密码!


🚢 部署方式

我们提供多种部署方式,请根据实际环境选择:

部署方式适用场景复杂度
Docker Compose快速体验、开发测试简单
Kubernetes生产环境、高可用部署中等
源码部署开发调试、二次开发中等

👉 查看完整部署文档

快速开始(Docker Compose)

# 克隆项目 git clone https://github.com/ydcloud-dy/opshub.git cd opshub # 启动服务 docker-compose up -d # 访问系统 # 前端:http://localhost:5173 # 后端:http://localhost:9876

📖 项目文档

文档链接
🚀 部署指南docs/deployment.md
📘 数据库初始化migrations/README.md
📗 Kubernetes 插件docs/plugins/kubernetes.md
📙 任务中心插件docs/plugins/task.md
📕 监控中心插件docs/plugins/monitor.md
🔐 SSL证书插件docs/plugins/ssl-cert.md
📈 Nginx日志分析插件docs/plugins/nginx.md

🏗️ 系统架构

img.png


📁 项目结构

opshub/ ├── cmd/ # 命令行入口 ├── config/ # 配置文件 ├── internal/ # 核心模块 │ ├── biz/ # 业务逻辑层 │ ├── data/ # 数据访问层 │ ├── plugin/ # 插件系统 │ └── server/ # HTTP 服务 ├── plugins/ # 插件目录 │ ├── kubernetes/ # K8S 管理插件 │ ├── task/ # 任务中心插件 │ ├── monitor/ # 监控中心插件 │ ├── ssl-cert/ # SSL证书管理插件 │ └── nginx/ # Nginx日志分析插件 ├── migrations/ # 数据库脚本 ├── web/ # 前端代码 │ ├── src/ │ │ ├── plugins/ # 前端插件 │ │ ├── views/ # 页面视图 │ │ └── api/ # API 请求 │ └── package.json ├── docker-compose.yml ├── Dockerfile └── main.go

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

📄 许可证

本项目采用 MIT License 开源许可证。


📞 联系方式


如果觉得项目有帮助,欢迎 Star ⭐ 支持!