自动运维_Spug 轻量级自动化运维平台

Spug 是面向中小企业的自动化运维平台,提供主机管理、批量执行、应用发布、在线终端等功能。无需Agent,支持Docker快速部署,具备监控、报警和权限管理。简化了应用部署流程,提高开发效率。
摘要由CSDN通过智能技术生成

41a9df697af55527e3cb274520b62da2.gif

对于中小型企业而言,进行主机和应用的管理是比较麻烦的,应用部署往往需要直接连接服务器,再进行手动的环境配置、代码拉取、应用构建和部署发布等工作,容易出错,且耗时费力。一个好的自动化运维平台,往往能大大节省人力物力,提高开发部署效率。Spug,正是一个面向中小型企业设计的轻量级自动化运维平台。

a4c98adfc11d26223bdb75eec89e4621.png

Spug自动化运维平台

简介

Spug,是 openspug 在 Github 上开源的自动化运维平台,项目位于 https://github.com/openspug/spug,同时在 Gitee 上维护,项目位于 https://gitee.com/openspug/spug,目前版本为 v2.3.9。

Spug 面向中小型企业,无 Agent,十分轻量,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能,使用方便,功能灵活,能够满足一般的应用自动化部署需求。

c63df34c418468f5d29ba10db4b0bbbb.png

Spug项目

安装

Spug 部署简单,在生产环境中推荐使用 Docker 镜像安装。Spug 提供了在 Docker hub 和阿里云上的镜像,可以直接拉取:

$ docker pull registry.aliyuncs.com/openspug/spug

镜像下载完成后,直接运行,构建容器并启动:

$ docker run -d --restart=always --name=spug -p 80:80 registry.aliyuncs.com/openspug/spug

默认使用镜像内部的 MySQL 数据库,如果有数据持久化的需求,可以进行数据映射:

$ docker run -d --restart=always --name=spug -p 80:80 -v /mydata/:/data registry.aliyuncs.com/openspug/spug

然后,创建管理员帐号:

$ docker exec spug init_spug <username> <password>
$ docker restart spug

此时,服务已经部署完成,访问 http://localhost:80 即可访问。

Spug 依赖于 Python 3.6+, Node.js 12.14+, Redis 3+,可以进行二次开发和部署。首先下载项目代码:

$ git clone https://github.com/openspug/spug /data/spug

然后,创建 Python 运行环境:

$ cd /data/spug/spug_api
$ python3 -m venv venv$ source venv/bin/activate$ pip install -r requirements.txt -i https://pypi.doubanio.com/simple/

初始化数据库,默认使用 SQLite,并创建管理员帐号:

$ python manage.py initdb
$ python manage.py useradd -u admin -p spug.dev -s -n 管理员

启动后端 API 服务:

$ python manage.py runserver

前端使用 React 的 Antd 开发,安装依赖后启动:

$ cd /data/spug/spug_web
$ npm install --registry=https://registry.npm.taobao.org
$ npm start

此时,就完成了开发环境的手动部署。

示例

部署完成后,Spug 主要在 Web 后台进行使用。Spug 后台主要包括:工作台、主机管理、批量执行、应用发布、任务计划、配置中心、监控中心、报警中心和系统管理模块。

主机,代表着应用最终部署的服务器,通过 SSH 公钥的方式,与 Spug 服务进行交互。Spug 后台可以进行主机的添加和配置,并可以批量执行命令,方便进行环境配置等:

14f59af7e3b46b1b29f0fc76ea54ad14.png

主机批量执行

后台提供了在线终端,可以交互式地在主机上执行命令,同时支持文件上传下载,通过图形化的界面进行文件管理。

Spug 通过应用来进行部署的基本管理。一个应用,是一个需要部署的应用或服务的不同版本的集合:

a771632e4ff8cd2352d4112516627387.png

应用管理

当我们需要部署一个应用时,需要进行发布申请,对于目标应用,选择发布环境,以及 Git 仓库的版本(分支,或标签),和需要发布的目标主机等,提交一个新的发布。

Spug 提供了不同阶段的自定义脚本,来实现自动化部署:

dc8b4c688d042457bd975c6ed16f40da.png

自动化部署脚本

  • 代码检出前执行,是在 Spug 服务器上,在拉取代码前,进行环境配置等工作;

  • 代码检出后执行,是在拉取代码后,进行依赖安装、编译和构建等工作;

  • 应用发布前执行,是在目标主机上,进行旧应用的停止、运行环境配置等工作;

  • 应用发布后执行,是在把项目发布到目标主机后,进行应用的启动等。

Spug 还支持计划任务,可以配置定时的脚本任务,实现服务状态检查等工作:

d8620ce7e26abe1a2f4149e1fb736658.png

计划任务

Spug 提供了监控中心,可以创建监控任务,对应用状态进行定时检测,如对端口进行定时的开放检测,对站点进行定时的连通检测等:

db1ea34299987b3320dd5d99004563e1.png

监控中心

当检测到异常时,系统会自动发出警报,并通过邮件、微信、钉钉等发送。

Spug 后台还可以进行功能权限设置,可以进行团队内部不同职责人员的权限管理:

2bab89f55891b4579017b8a2155249d7.png

角色权限

总结

Spug 作为一个自动化运维平台,相对而言比较轻量,无需复杂的配置,就可以完成服务的部署,并通过简单的应用管理和发布申请,完成不同部署项目的版本管理,实现自动化的发布流程,以及版本回滚等,并提供了批量化的脚本支持多主机配置,提供定时任务实现状态检测,提供自动的警报系统实现异常管理等,基本满足了自动化部署的需求,值得尝试使用。目前,Spug 项目仍处于积极开发阶段,项目作者正征集想要支持的新特性,有兴趣的开发者不妨参与开源贡献。

来源:

https://www.toutiao.com/i6864577635469656583/

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com

59736d3371ee0e46eff0e8de92d156ff.gif 来都来了,走啥走,留个言呗~

 IT大咖说  |  关于版权 

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

相关推荐

推荐文章

  • 整理一波开源的后台管理项目

  • 一款比phpmyadmin更好用的WEB数据库管理工具

  • 超融合的架构演变和技术发展

  • Go语言Gin框架的优秀应用案例,开源Web项目骨架了解一下

  • k8s service 负载均衡:proxy mode介绍

  • 用这个Python的Docker正式版镜像,你也能成容器高玩

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SPUG是一个功能强大的在线任务计划工具,它能够帮助我们实现自动化配置、实时监控和实时报警。 首先,SPUG可以帮助我们进行在线的任务计划。我们可以通过SPUG来设置各种任务,并指定任务的执行时间、频率和相关参数。无论是定时执行的任务还是循环执行的任务,SPUG都能够准确地按照设定的计划来执行,并能够提供详细的执行日志和报告,方便我们随时查看任务的执行情况。 其次,SPUG可以帮助我们实现自动化配置。我们可以通过SPUG来集中管理服务器和应用程序的配置文件,并且可以对配置文件进行版本控制和追踪。这样,当我们需要修改配置时,只需要在SPUG上进行相应的修改,然后SPUG自动将新的配置文件分发到指定的服务器上,实现配置的自动化部署和更新,大大减少了手动操作的工作量和错误发生的概率。 另外,SPUG还具备实时监控的功能。它可以监控服务器的运行状态、应用程序的性能指标和各种资源的使用情况。一旦发现异常或超过阈值的情况,SPUG会立即发出警报,通知相应的负责人员或群组。这样,我们可以及时发现问题并采取相应的措施,避免因问题而导致的服务中断或性能下降。 最后,SPUG还能够实时报警。除了通过监控来发现异常并发出警报外,SPUG还支持自定义的报警条件和动作。我们可以根据自己的需求来设置报警规则,例如当服务器的CPU使用率超过80%时发出警报,或者当应用程序的响应时间超过1秒时发出警报。一旦触发了报警条件,SPUG会立即发送通知给指定的人员,并提供相应的告警信息和处理建议,确保问题能够及时得到处理和解决。 综上所述,SPUG能够为我们提供方便实用的在线任务计划、自动化配置、实时监控和实时报警功能,帮助我们简化运维工作,提高系统的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值