Docker 部署Spug轻量级自动化运维平台

0x01 什么是spug?

Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

0x02 部署安装

Spug部署很简单,在Docker中部署,基本也就是一行docker 命令而已,生产环境推荐使用docker部署

#首先在/目录下创建data/spug目录
mkdir -p /data/spug
#从阿里云拉取spug镜像后台运行,挂载容器内data目录到本地/data/spug目录实现数据持久化
docker run -d --restart=always --name=spug -p 80:80 -v /data/spug:/data registry.aliyuncs.com/openspug/spug
#新建管理员帐号admin密码passwd1!
docker exec spug init_spug admin passwd1!
#重新启动容器spug
docker restart spug

至此,spug已部署完成,可通过浏览器进入http://localhost 进入后台,使用刚新建的admin帐号密码登录

0x03 登录使用

登录进入后台,进入页面如下

Docker 部署Spug轻量级自动化运维平台

初始使用,首先需要添加主机,点击’主机管理’–‘新建’

Docker 部署Spug轻量级自动化运维平台

新建主机,添加主机类别,输入主机名称,ssh连接信息等

此处,如主机配置为密钥登录,可上传密钥到spug,如没有输入完用户名,ip后直接验证,会提示输入密码

Docker 部署Spug轻量级自动化运维平台

Docker 部署Spug轻量级自动化运维平台

Docker 部署Spug轻量级自动化运维平台

添加完成后,即可通过spug console执行登录终端操作,以及图形化上传文件等

Docker 部署Spug轻量级自动化运维平台

Docker 部署Spug轻量级自动化运维平台

依次添加完成主机之后,可通过spug批量执行密令

Docker 部署Spug轻量级自动化运维平台

可以通过定制模版,直接从模版中选择脚本或命令行执行,也可直接通过手动输入命令执行

执行如下

Docker 部署Spug轻量级自动化运维平台

0x04 配置报警

首先进入报警中心,新建报警联系人与联系组

Docker 部署Spug轻量级自动化运维平台

微信Token可通过关注spug公众号,点击–我的 即可出现

Docker 部署Spug轻量级自动化运维平台

Docker 部署Spug轻量级自动化运维平台

钉钉与企业微信机器人可通过查找相关官方开发文档接入,因未使用企业微信与钉钉,未做演示

然后再新建报警联系组,将刚新建的用户加入到组里

Docker 部署Spug轻量级自动化运维平台

接下来就需要创建监控项,点击监控中心,添加监控任务

Docker 部署Spug轻量级自动化运维平台

可按自己需求添加,包括站点检测[检测http或https状态码],端口检测,进程检测,ping连通性检测,以及自定义脚本

Docker 部署Spug轻量级自动化运维平台

下一步之前,可以先执行测试一下

Docker 部署Spug轻量级自动化运维平台

点击下一步

Docker 部署Spug轻量级自动化运维平台

监控频率,报警阈值可按自己实际生产需求设定,报警方式勾选,此处只做了微信的报警,勾选微信,然后提交

查看报警效果

手动将服务停止后,监控中心显示服务异常,随后触发微信报警

Docker 部署Spug轻量级自动化运维平台

微信报警页面,服务正常恢复的时候,同样会有恢复通知告警

Docker 部署Spug轻量级自动化运维平台

0x05 任务计划

可通过spug 对多主机批量定制执行任务计划

Docker 部署Spug轻量级自动化运维平台

Docker 部署Spug轻量级自动化运维平台

Docker 部署Spug轻量级自动化运维平台

触发器类型可实际需求选择,支持unix cron计划

0x06 应用发布等功能

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

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

Docker 部署Spug轻量级自动化运维平台

  1. 代码检出前执行,是在 Spug 服务器上,在拉取代码前,进行环境配置等工作;
  2. 代码检出后执行,是在拉取代码后,进行依赖安装、编译和构建等工作;
  3. 应用发布前执行,是在目标主机上,进行旧应用的停止、运行环境配置等工作;
  4. 应用发布后执行,是在把项目发布到目标主机后,进行应用的启动等。

其他功能待深度体验后,再进行分享,有兴趣的可以在gayhub搜索项目了解..

0x07 总结

总的来说,Spug 作为一个自动化运维平台,相对而言比较轻量,无需复杂的配置,就可以完成服务的部署,并通过简单的应用管理和发布申请,完成不同部署项目的版本管理,实现自动化的发布流程,以及版本回滚等,并提供了批量化的脚本支持多主机配置,提供定时任务实现状态检测,提供自动的警报系统实现异常管理等,基本满足了自动化部署的需求,值得尝试使用。

声明:本站内容仅限用于测试、学习环境使用!在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站和媒体平台。如若本站内容侵犯了原著者的合法权益,请联系客服或发送邮件:info@xxapp.net「需要权利证明」本站将及时下架相应内容!失效反馈

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
搜索