前言
在现代软件开发和运维中,管理和操作各种不同类型的服务器和数据库是一个复杂而又重要的任务。虽然有一些现成使用到的服务器管理工具和数据库管理应用,比如:XShell
、Termius
、Navicat
等。但是它们都是分开使用的。
今天,本文将介绍一款开源的统一管理操作平台 Mayfly-Go,它提供了Web版Linux终端、文件操作、脚本执行、进程管理以及对多种数据库和缓存的统一管理和操作,极大地简化了运维管理工作。
Mayfly-Go 项目介绍
mayfly-go
是一款web版的 Linux、数据库、redis、mongo 统一管理操作平台。
通过它的名称也可以看出来,它的后端采用了Go语言进行开发,保证了它的性能。
Gitee:https://gitee.com/dromara/mayfly-go
GitHub:https://github.com/dromara/mayfly-go
1、作者开发该项目背景?
1)方便公司 统一管理 且更加安全高效地维护管理以及操作相关资源信息,开发测试人员可无需查阅文档或咨询前辈索要ip账号密码等资源信息。
2)简化开发人员的 多客户端安装烦恼(正常来说开发人员或运维人员需要安装Xshell、Navicat、Redis Desktop等软件进行对应的资源数据操作)。
2、项目里程碑介绍
mayfly-go
从开源至今不到半年,但却已经迭代了30+大中小版本,目前最新版本为1.6.1。作者也一直在更新迭代维护中,最近的更新在两周前,目前Gitee Star 1.6K,GitHub Star 1.4K。
3、功能特性
-
Linux
:ssh终端(终端操作记录回放),文件查看(可根据常见后缀名高亮显示关键词等)、修改、上传、下载、删除等,脚本管理执行,计划任务、进程操作,运行状态查看等(可当做堡垒机使用)。 DBMS(目前支持mysql、postgres、高斯、达梦)
:可视化数据增删改查,sql语句提示,表信息、索引信息、建表语句查看,建表等(类似mini版navicat)。Redis(单机、哨兵、集群)
:增删改查redis数据,redis基本信息查看,如版本,内存,cpu等使用情况、集群信息节点查看。Mongo
:增删改查mongo文档数据,数据库、集合状态查看,新建删除集合等。支持ssh tunnel访问
:linux机器、数据库、redis、mongo都支持ssh隧道访问操作。系统管理
:同时拥有完善的账号、角色、资源权限控制、系统配置(oauth2、ldap登录、登录验证码、双因素校验、水印等),也可基于该项目进行二次开发作为后台管理系统。
项目部署
1、二进制部署
1)前往项目Releases下载对应版本安装包
2)数据源配置,支持mysql与sqlite
mysql
: 将mayfly-go.sql导入对应数据库即可。sqlite
: 将初始化的mayfly-go.sqlite数据文件放到自定义位置(默认在当前可执行文件同级目录下),并将config.yml中mysql相关配置注释,将sqlite数据文件路径配置至config.yml的sqlite.path即可。
3)将对应的安装包上传至指定平台解押即可(解压后内容如下图所示),随后根据readme内容操作配置后执行startup.sh脚本即可启动运行(若已启动,则为重启),执行shutdown.sh停止运行。(注:需要将config.yml.example文件的后缀.example去除,改为config.yml)
2、docker部署
docker部署需要先执行项目依赖的数据库脚本(mayfly-go.sql(mysql))或将mayfly-go.sqlite(sqlite)数据文件放到自定义位置并进行挂载访问。
1)拉取mayfly-go镜像
docker pull ccr.ccs.tencentyun.com/mayfly/mayfly-go:v1.6.1
2)通过-e容器环境变量设置启动依赖相关参数
# 通过-e容器环境变量设置启动依赖相关参数 docker run -d --name mayfly-go -p 18888:18888 \ -e MAYFLY_JWT_KEY=53445c86e8189b6c646ed7d0d319015144423e72 \ -e MAYFLY_AES_KEY=7bc5418eefd50402ef39107274891fbe \ -e MAYFLY_DB_HOST=localhost:3306 \ -e MAYFLY_DB_USER=root \ -e MAYFLY_DB_PASS=123456 \ -e MAYFLY_DB_NAME=mayfly-go \ -v /usr/local/mayfly-go/mayfly-go.log:/mayfly/mayfly-go.log \ -v /usr/local/mayfly-go/rec:/mayfly/rec ccr.ccs.tencentyun.com/mayfly/mayfly-go:{version(替换为对应版本号)}
具体操作可以详见项目文档:https://www.yuque.com/may-fly/mayfly-go
演示环境Demo体验
体验地址:http://go.mayfly.run
1、首页展示-功能类别
2、机器操作-ssh终端
3、数据库操作-增删改查
4、Redis操作
5、Mongo操作
6、系统管理-资源管理
总结
mayfly-go
项目为开发者和运维人员提供了极大的便利,简化了管理和操作多种服务器和数据库的复杂性。
总的来说,是一款不错的资源管理平台。有兴趣的朋友们可以体验试试。