蓝鲸自动化运维平台 1.蓝鲸简介 官网:https://bk.tencent.com/docs/ 腾讯蓝鲸智云,简称蓝鲸,是腾讯互动娱乐事业群(Interactive Entertainment Group ,简称 IEG)自研自用的一套用于构建企业研发运营一体化体系的 PaaS 开发框架,提供了 aPaaS(DevOps 流水线、运行环境托管、前后台框架)和 iPaaS(持续集成、CMDB、作业平台、容器管理 、数据平台、AI 等原子平台)等模块,帮助企业技术人员快速构建基础运营 PaaS。 /precheck.sh -r 5)部署组件 如果部署所有组件 [root@localhost install]# .
一、概要 Spug是一款使用Python+Flask+Vue+Element组件开发的开源运维管理系统,系统前后端分离,项目创建于2017年,2018 年 2 月第一个开源运维平台版本发布,设计为面向中小型企业设计的轻量级无 Agent的自动化运维平台,UI基于Ant Design设计,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能,且二次开发很方便。 https://github.com/openspug/spug/issues/38 5)平台功能概览 1>主机管理:可以对主机进行管理、主机也可以通过表格批量导入 2>批量在线执行:可以执行模版命令和临时命令 3>文件在线上传下载:可以很方便的在执行命令过程中上传或者下载需要的文件 4>在线终端:在线终端方便平台远程调试,跟本地执行一样 5>应用部署:可以快速部署任意开发语言的的应用,
前言:在之前的文章批量执行crontab指定条目的注释和解注释提到过spug平台,本文具体的对该平台做详细介绍。 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 2.2 获取微信Token 关注微信公众号'Spug运维',点击'我的'菜单获取 2.3 获取钉钉webhook 首先新建群聊 选择接收的联系人,创建群‘spug告警接收’ 点击群聊窗口右边的 ,表示每5分钟发送一次报警消息。 /bin/bash num=5 df -h|grep -vE 'tmpfs|cdrom'| awk -F '[ %]+' 'NR == 1 {next} {print $6 " " $5}'
前言:在之前的文章批量执行crontab指定条目的注释和解注释提到过spug平台,本文具体的对该平台做详细介绍。 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 2.2 获取微信Token 关注微信公众号'Spug运维',点击'我的'菜单获取 ? 2.3 获取钉钉webhook ? 首先新建群聊 ? 选择接收的联系人,创建群‘spug告警接收’ ? ? ? 监控频率为1分钟,即1分钟检查一次;报警阀值为3次,即检查3次不成功才发出报警;报警联系人组为test_team;报警方式为微信、钉钉、邮件和企业微信;通道沉默为5分钟,表示每5分钟发送一次报警消息。 /bin/bash num=5 df -h|grep -vE 'tmpfs|cdrom'| awk -F '[ %]+' 'NR == 1 {next} {print $6 " " $5}'
manage01 ~]# yum -y install epel-* 6.ssh远程连接 管理端和被管理端连接时基于ssh的,所以有两种连接方式 1)基于ssh口令 2)基于ssh证书(重点讲解) 如果想不需要运维人员干预 ECDSA key fingerprint is MD5:c0:80:1b:ae:93:32:c2:66:f5:da:2f:1c:26:1e:7e:f8. ECDSA key fingerprint is MD5:7d:17:0f:80:d5:2b:30:ec:2c:62:f9:79:6b:fb:5f:bc. platform-python" }, "changed": false, "ping": "pong" } 三、学习视频 视频:部署前准备 视频:ssh证书互信设置 视频:ansible平台部署 视频:主机列表文件hosts文件 视频:ansible自动化平台部署知识图谱
一、运维自动化平台介绍 1.1、自动化运维平台介绍 运维自动化平台是由管理机器[S]和业务机器[C]组成的,C/S。 管理机器:任务定制及发布; 业务机器:接收任务并执行任务。 1.2、运维自动化平台的优势: 一次性任务定制:任务一次性发布给所有机器 节省任务执行时间:任务主机并发完成任务,节省部署时间 错误率低:避免重复,保证一次任务定制准确即可 二、常见的自动化运维工具 2.1 2.2、ansible介绍 ansible是一种由Python开发的自动化运维工具,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署 业务机器将执行结果发送给ansible管理机器 反馈字体颜色 绿色 未发生变化 黄色 更改生效 红色 执行错误 四、学习视频 视频:ansible课程介绍 视频:自动化运维平台课程介绍 视频:自动化运维平台介绍 视频:ansible介绍 视频:ansible工作原理
运维管理平台展示,还在完善中,有所不足,望提出建议,感激不尽。 也是自学,从数据的获取(包括各种api的调用,数据库设计查询),到数据处理,再到前端展示,还有前端设计,遇到过各种问题,经过一段时间学习,成功完成一些功能,打开了思路,后续的思路越来越广,会继续完善这个平台
在前面的另外一篇文章【运维平台全体系介绍】中,也讲到运维平台体系的构成,提出“**及服务”的理念,其中有几部分和自动化密切相关,比如说资源及服务、配置及服务、架构及服务,持续集成服务,最终都服务于面向业务的可视化调度平台目标上去 另外建设应用发布平台的目的,就是要让测试、Production环境的运维变更可控。 是不是以上几个运维场景的自动化要一次全部做完呢?不是,是有先后和主次之分。 四、运维自动化的方法论 第一、全局驱动 无论是从全部的自动化管理平台规划,还是某个平台的规划,都希望大家都能找到一个全局的立足点。 所以提供类SSH界面的运维发布和部署平台,是没有任何运维价值的。 五、运维自动化系统的实现 挑战一个自动化的极致场景(可视化),是运维人对极致的追求。 有了用户驱动和价值驱动,对运维的效率、质量都有了更高的要求,反向驱动我们必须走自动化和平台这条道路。
开源自动化运维平台Spug Spug 演示环境 特性 安装 Docker安装 安装步骤 1. 安装docker 2. 拉取镜像 3. 启动容器 4. 初始化 5. 访问测试 6. 版本升级 Spug Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 docker exec spug init_spug admin spug.dev 5. 访问测试 在浏览器中输入 http://localhost:80 访问。
在项目上线完成后,业务系统或平台自然就转入了运维管控期,而在运维期两个重点,一个就是运维流程的标准化和规范化,另外一个就是运维工作本身的自动化。 对于运维自动化将成为后续我重点关注的一个内容,因为本身我们DevOps实践也需要这方面的积累。 对于运维自动化,传统我们可能是编写自动化的运维脚本,然后是手工或定时的执行运维脚本完成整个自动化执行过程和运维例行检查。 而今天要谈自动化运维平台,里面一个重点就是基于我们面对的运维场景,如何将运维操作或任务进行细粒度分解,然后再对运维操作进行组合和编排。 为何要这样做? 重点就是将整个运维流程可视化掉,能够看到分步骤分任务的执行,并快速定位执行中问题。
对于平台里面的几个地方一直没大理清楚,所以想了几种办法,一种是蒙着头继续做,想到哪里做到哪里,结果做的时候发现很多东西都没有规划好,很容易从这个死胡同调入另一个死胡同,所以进度不能保证,质量不能保证。 但是如果是电子版本,总是感觉少了点什么,会在一定程度上限制我的 所以惭愧的是,一直在说自动化,但是现在连半自动化还没有做好。
Spug – 轻量级自动化运维平台 对于中小型企业而言,进行主机和应用的管理是比较麻烦的,应用部署往往需要直接连接服务器,再进行手动的环境配置、代码拉取、应用构建和部署发布等工作,容易出错,且耗时费力。 一个好的自动化运维平台,往往能大大节省人力物力,提高开发部署效率。Spug,正是一个面向中小型企业设计的轻量级自动化运维平台。 Spug自动化运维平台 简介 Spug,是 openspug 在 Github 上开源的自动化运维平台,项目位于 https://github.com/openspug/spug,同时在 Gitee 上维护 参考 《面对中小企业的开源运维平台spug》https://www.modb.pro/db/109404 《一款适合中小企业的轻量自动化运维平台 Spug》https://www.modb.pro/db /109403 《自动化运维平台Spug测试》https://www.modb.pro/db/109402 《无Agent自动化运维平台-spug》https://www.modb.pro/db/109401
一个好的自动化运维平台,往往能大大节省人力物力,提高开发部署效率。Spug,正是一个面向中小型企业设计的轻量级自动化运维平台。 ? Spug自动化运维平台 简介 Spug,是 openspug 在 Github 上开源的自动化运维平台,项目位于 https://github.com/openspug/spug,同时在 Gitee 上维护 Spug 提供了不同阶段的自定义脚本,来实现自动化部署: ? 角色权限 总结 Spug 作为一个自动化运维平台,相对而言比较轻量,无需复杂的配置,就可以完成服务的部署,并通过简单的应用管理和发布申请,完成不同部署项目的版本管理,实现自动化的发布流程,以及版本回滚等 ,并提供了批量化的脚本支持多主机配置,提供定时任务实现状态检测,提供自动的警报系统实现异常管理等,基本满足了自动化部署的需求,值得尝试使用。
: 四舍五入或者取小数点后 random(seed=(ansible_date_time.epoch)),random(start=5),random(start=5,step=3): 随机返回一个随机数并且可以设置步长 msg: "{{ 10 | random(start=5) }}" - debug: #从5到15中随机返回一个随机数,步长为3 #步长为3的意思是返回的随机数只有可能是 5、8、11、14中的一个 msg: "{{ 15 | random(start=5,step=3) }}" - debug: #从0到15中随机返回一个随机数,这个随机数是 5的倍数 msg: "{{ 15 | random(step=5) }}" - debug: #从0到15中随机返回一个随机数,并将ansible_date_time.epoch ] testvar8: [1,[7,2,[15,9]],3,5] testvar9: [1,'b',5] testvar10: [1,'A','b',['QQ','wechat'
: 四舍五入或者取小数点后 random(seed=(ansible_date_time.epoch)),random(start=5),random(start=5,step=3): 随机返回一个随机数并且可以设置步长 msg: "{{ 10 | random(start=5) }}" - debug: #从5到15中随机返回一个随机数,步长为3 #步长为3的意思是返回的随机数只有可能是 5、8、11、14中的一个 msg: "{{ 15 | random(start=5,step=3) }}" - debug: #从0到15中随机返回一个随机数,这个随机数是 5的倍数 msg: "{{ 15 | random(step=5) }}" - debug: #从0到15中随机返回一个随机数,并将ansible_date_time.epoch ] testvar8: [1,[7,2,[15,9]],3,5] testvar9: [1,'b',5] testvar10: [1,'A','b',['QQ','wechat'
1.基础设施,包括网络、服务器、操作系统等工作;2.环境管理,包括开发环境、测试环境、生产环境等;3.部署,将应用或系统部署至不同环境;4.监控,对基础设施、应用或系统进行监控;5.告警响应,对告警通知的响应及处理 防火墙、各种客户端安装;当然这还不够,若运维平台集成了cmdb、跳板机、zabbix等,服务器上架还需要注册到cmdb及跳板机、zabbix等管理工具;如还有其他工具也需要进行集成。 如:(1)nginx实现平滑摘节点(2)调用api实现监控项的禁用及启动5 运维自动化的几个阶段站得高,看得远。 6.2 选择正确的阶段运维自动化一般沿袭这样的阶段:手动支撑 => 线上标准规范化 => 运维工具化 => 平台自助化/自动化。选择适合自己当前业务发展阶段的运维自动化方式,不要一口吃成胖子。 另外,对于大中型运维自动化平台而言, CMDB和配置系统依然不可或缺。CMDB即配置管理数据库,一般用于统一管理IT数据、服务器数据资产等。
蓝鲸智云配置平台,以下简称配置平台配置平台里的平台管理功能是管理员的一些操作,比如一些全局纬度的设置1、全局配置-业务通用业务快照名称:通常不需要修改,保持平台搭建好默认业务(蓝鲸)即可拓扑最大可见层级 :可根据实际业务场景自定义调整,需要注意的是,这个是全局的调整,针对每个业务生效的,目前还不支持按业务自定义层级Ps:自定义层级只能在业务跟集群之间添加举个例子:默认部署完配置平台,拓扑层级只有三层:业务 -集群-模块如果想加一层所属部门,那么可以调整最大层级为4或者大于4,然后在模型关系里添加即可2、全局配置-平台信息1.网页title设置可以修改为自己想要的展示信息2.footer信息(页脚)首页的底部信息
[u9kmdc171v.jpeg] 由此可见,分布式系统本身的复杂性导致手工部署和运维的成本是比较高的,并且容易出错。 传统的自动化部署运维工具如 Puppet / Chef / SaltStack / Ansible 等,由于缺乏状态管理,在节点出现问题时不能及时自动完成故障转移,需要运维人员人工干预。 数据库管理 [dqqc67ifg0.png] 数据库管理是日常运维很核心的一块,此模块通过任务完成统计信息更新、过载保护、慢查询分析和 SQL 预警。 1. 有效的提升了 DBA 的运维效率和整个 TiDB 服务的可用性。 未来我们将继续深入,从审计和 SQL 分析方面着手,为业务提供更多的效率提升和稳定性保障。 原文链接:雷神Thor—TIDB自动化运维平台 [xtxtlfcjd3.png]
当企业遇到运维管理对象的急速增长,业务需求频繁变更等传统运维场景问题时,依靠手工运维已经远远满足不了需求,因此我们需要搭建一套自动化运维平台,来实现运维质量和效率的提升。 成熟的自动化运维平台不仅要满足大量自动化运维场景的支撑,更需要具备一体化能力,基于一套平台孵化和建设包括自动化、标准化、数据化在内的统一运维平台,其中的一体化主要体现在管控一体、平台一体、联动一体等几方面 显然,这不是一个成熟的自动化运维平台。02. 平台一体面对各种运维活动和运维场景,通过统一的自动化运维平台PaaS架构来实现能力的治理和沉淀,使得企业构建运维系统能避免烟囱模式和重复投资建设,实现可持续建设。 而需要基于蓝鲸平台之上建立的配置管理、监控告警、IT运维服务管理、应用发布自动化、自动化等工具可以实现天然的联动交互,并且外围工具也可以基于蓝鲸平台提供的标准接口做集成对接,快速实现外围工具与运维平台的联动一体
导语: 今天与大家一起探讨如何基于Python构建一个可扩展的运维自动化平台,也希望能与大家一起交流,共同成长。 应用在系统运维、业务逻辑、运营平台、测试工具、数据挖掘等领域,腾讯大名鼎鼎的“蓝鲸”运维PAAS平台就是基于Python语言来构建的。 支持同步和异步操作、回调等; saltstack 、ansible 、func : 基本Python开发的自动化配置管理与流程控制组件; Mysql : 是一个非常流行的关系型数据库管理系统。 2、当我们的平台已经具备可定制、扩展操作的能力,运维的核心工作就聚焦以下几点: 平台功能改进、升级,需要具备DevOps能力; 根据业务运营需求,做任务功能模块的编写的工作; 日常工作梳理(标准、流程化建设 3、后续优化 整合ansible或saltstack高级功能,如ansible playbook; 将多个任务模块打包成模板对列,实现原子操作与运维变更流程的结合; 引用任务调度Celery,支持更大并发