基于Python构建运维自动化平台,零基础入门到精通,收藏这篇就够了

导语:

今天受 Reboot 聊运维自动化的议题,与大家一起探讨如何基于Python构建一个可扩展的运维自动化平台,也希望能与大家一起交流,共同成长。

此次分享将通过介绍OMServer、OManager具备的功能、架构设计、模块定制、安全审计、C/S结构的实现等几个方面的内容来展开,两个平台也是《Python自动化运维:技术与最佳实践》的案例介绍。

为什么选择Python?

  • 默认安装且跨平台

  • 可读性好且开发效率高

  • 丰富的第三方库(开发框架、各类API、科学计算、GUI等)

  • 社区活跃&众多开发者。


点击可查看高清大图

Python在腾讯的现状,根据去年内部提交组件语言统计,除去2、3、4前端技术,Python在高级编程语言中排第3位。

应用在系统运维、业务逻辑、运营平台、测试工具、数据挖掘等领域,腾讯大名鼎鼎的“蓝鲸”运维PAAS平台就是基于Python语言来构建的。

一、    平台介绍

OMServer 一个集中式的Linux集群管理(基础)平台,具备业务集群管理、实时安全审计、功能模块定制、数据加密传输、支持主流Python组件、使用简单且体验好等特点。

源码托管地址:

https://github.com/yorkoliu/pyauto

读者可以根据企业的需求定制修改及发布。

1、平台截图


点击可查看高清大图


点击可查看高清大图

2、平台采用到的第三方库

Django : 一个开放源代码的Web应用框架,由Python写成,采用了MVC的软件设计模式;

rpyc : 一个 Python 实现的RPC和分布式计算的工具。支持同步和异步操作、回调等;

saltstack 、ansible 、func : 基本Python开发的自动化配置管理与流程控制组件;

Mysql : 是一个非常流行的关系型数据库管理系统。

二、    平台架构设计

1、OMServer架构图

2、架构说明

OMServer平台为三层架构,分别为WEB交互层、分布式计算层、集群管理服务层。

第一层:即为WEB交互层,典型的B/S架构,以供管理员操作的交互平台,也是OMServer的核心,基于Django开发;

第二层:分布式计算层,提供与主控端的连接通道,采用的是rpyc传输协议。

协议操作流程:

前端模块参数->加密传输->任务执行->返回结果集->解密输出。

第三层:集群管理服务层,整合Python主流的远程操作组件(支持Saltstack、Anaible、Func),对被控端(业务服务器集群)进行管理,其中主控端可以根据不同IDC环境,采用多地多点的管理方式,可提升冗余度及执行效率。

主控端操作模块以不同Python文件加以区分,便于维护,可灵活定制操作逻辑及横向扩展等特点。

3、平台架构优势

管理端多机支持,可按不同IDC划分;

安全性高,加密传输、定义私有通讯规范(TCP);

支持多种管理客户端接入(WEB、桌面、移动);

调用Python组件的高级特性(Playbook、State);

功能扩展性能力强,模块定制化。

4、架构操作流程

上图将三个层次的交互流程进行串连,可以清晰了解OMServer架构的操作流程,结束了传统式直连APP Server的操作,更加规范我们的操作事件,一定程度可以避误一些潜在的误操作。

5、整合远程操作Python组件

分两步:

  1. 提前配置主控端与被控端的信任关系,一般为证书或SSH 认证;

  2. 通过OMServer主控端封装好的任务模块与API接口,实现定制化的任务下发及执行。

三、    平台模块定制

1、任务模块定制的思路

1)任务模块:即为一个“操作事件”为颗粒的任务,如重载配置、部署缓存服务、停止Nginx服务等原子操作;

2)添加模块的步骤

① 定义任务模块“输入参数”,采用HTML Form元素,可以为输入、下拉、单复选框等元素;


点击可查看高清大图

② 编写后台模块代码,其中执行部分由Saltstack或Ansible的Client_API来实现;


点击可查看高清大图

③ 任务模块核心代码,只需要5行代码就可以实现一个SHELL脚本下发、执行的功能。


点击可查看高清大图

3)运行模块的步骤 : 选择任务模块 & 操作对象 -> 指定输入参数 -> 运行 -> 返回执行结果。

2、当我们的平台已经具备可定制、扩展操作的能力,运维的核心工作就聚焦以下几点:
  • 平台功能改进、升级,需要具备DevOps能力;

  • 根据业务运营需求,做任务功能模块的编写的工作;

  • 日常工作梳理(标准、流程化建设),更好将原子操作串成流程;

  • 系统、业务的调优,服务业务。

四、安全审计的实现

1、安全审计技术架构

安全审计功能模块分两部分,一部分为操作事件前台展示,另部分为部署在服务器侧的采集Agent,通过CGI接口上报至数据库存储,可对上报的数据作关键字监控,发现异常可以触发告警。

2、Agent上报实现原理

① 实现原理非常简单,通过修改Linux系统环境配置文件/etc/profile,定义history事件相关环境变量,捕捉所有Linux登录用户会话中的操作事件及指令,实时通过OMAudit_agent.py中的HTTP GET CGI向数据库写操作事件流水。


点击可查看高清大图

② 管理前台页面通过定时刷新,获取最新的操作事件。


点击可查看高清大图

五、C/S结构的实现

1、OManager桌面版截图

2、OManager桌面版架构

3、后续优化
  • 整合ansible或saltstack高级功能,如ansible playbook;

  • 将多个任务模块打包成模板对列,实现原子操作与运维变更流程的结合;

  • 引用任务调度Celery,支持更大并发;

  • 任务对列支持暂停、中止、重运行功能,实现操作可控;

  • 提供与CMDB访问对接,通用性更强。

今天的分享至此为止,欢迎大家提问。

35岁+运维人员的发展与出路

经常有人问我:干网工、干运维多年遇瓶颈,想学点新技术给自己涨涨“身价”,应该怎么选择?

聪明人早已经用脚投票:近年来,越来越多运维的朋友寻找新的职业发展机会,将目光聚焦到了网络安全产业。

1、为什么我建议你学习网络安全?

有一种技术人才:华为阿里平安等大厂抢着要,甚至高薪难求——白帽黑客。白帽黑客,就是网络安全卫士,他们“低调”行事,同时“身价”不菲。

根据腾讯安全发布的《互联网安全报告》,目前中国**网络安全岗位缺口已达70万,缺口高达95%。**而与网络安全人才需求量逐年递增局面相反的是,每年高校安全专业培养人才仅有3万余人,很多企业却一“将”难求,网络安全人才供应严重匮乏。

这种供求不平衡直接反映在安全工程师的薪资上,简单来说就是:竞争压力小,薪资还很高。

而且安全行业就业非常灵活,既可以就职一家公司从事信息安全维护和研究,也可以当作兼职或成为自由职业者,给SRC平台提交漏洞获取奖金等等。

随着国家和政府的强监管需求,一线城市安全行业近年来已经发展的相当成熟工作机会非常多,二三线城市安全也在逐步得到重视未来将有巨大缺口。

作为运维人员,这几年对于安全的技能要求也将不断提高,现阶段做好未来2到3年的技术储备,有非常大的必要性

2、运维转型成为网络安全工程师,是不是很容易?

运维转安全,因为本身有很好的Linux基础,相对于其他人来说,确实有一定的优势,入门会快一些。
系统管理经验
运维对服务器、网络架构的深度理解,可直接迁移到安全防护场景。例如,熟悉Linux/Windows系统漏洞修补、权限管控,能快速上手安全加固工作。
网络协议与架构知识
运维日常接触TCP/IP、路由协议等,有助于分析网络攻击路径(如DDoS防御、流量异常检测)。
自动化与脚本能力
运维常用的Shell/Python脚本技能,可无缝衔接安全工具开发(如自动化渗透脚本、日志分析工具)。
平滑过渡方向
从安全运维切入,逐步学习渗透测试、漏洞挖掘等技能,利用现有运维经验快速上手。
学习资源丰富
可复用运维工具(如ELK日志分析、Ansible自动化)与安全工具(如Nessus、Metasploit)结合学习,降低转型成本。

3. 转型可以挖漏洞搞副业获取收益挖SRC漏洞

  1. 合法挖洞:在合法的平台上挖掘安全漏洞,提交后可获得奖励。这种方式不仅能够锻炼你的技能,还能为你带来额外的收入。

  2. 平台推荐:

补天:国内领先的网络安全漏洞响应平台。

漏洞盒子:提供丰富的漏洞挖掘任务。

CNVD:国家信息安全漏洞共享平台。

关于我

有不少阅读过我文章的伙伴都知道,笔者曾就职于某大厂安全联合实验室。从事网络安全行业已经好几年,积累了丰富的技能和渗透经验。

在这段时间里,我参与了多个实际项目的规划和实施,成功防范了各种网络攻击和漏洞利用,提高了互联网安全防护水平。

在这里插入图片描述

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值