python的方向:
web开发(Django,flask,tornado),自动化运维(CMDB项目)爬虫和数据分析
人工智能 机器学习 算法 自动化测试
CMDB项目:
项目上线流程;
产品经理调研(画出原型图) ---->定需求---->三方会谈(产品经理,研发,...)---->定日期----->测试项目------>最终上线------>应用运维
目前:把代码打包给运维,运维解压上线
问题:随着机器数量的线性增加,运维的工作量也是线性增加,重复无意义的劳动
解决:
写一个shell脚本,进行部署
搞一个自动化代码上线系统
必要条件:服务器的各种信息(主机名,cpu,硬盘大小等)
监控系统:
检测服务器的各种信息,以图表的形式展示在web界面上(可视化)
必要条件:(服务器的各种信息主机名,cpu,硬盘大小等)
自动装机系统::cobbler软件
必要条件:服务器的各种信息(主机名,cpu等)
cmdb实现的核心:
目标:收集服务器的信息(cpu,内存,网卡,硬盘等)
实现方式:
linux命令获取cpu,内存,网卡
python执行linux的命令
sunprocess模块,getoutput函数
4种实现方案:
1.agent方式:
缺点:每台服务器都要放置agent
优点速度快
使用场景:服务器比较多的时候
2.ssh类的方式:
缺点:有一个中控机,速度慢
使用场景:服务器比较少的时候
3.salt-stack方式
使用场景:公司已经使用salt-stack软件
安装salt-master:
yum install salt-master
配置配置文件:
interface:本机IP
service salt-master start
安装salt-minion:
yum install salt-minion
配置文件配置:
master:10.0.0.51
salt-key -L:列出所有minion主机
salt "主机名" cmd.run "命令"
4.puppet方式:
rubby写的
分为三大部分:
1.服务器数据采集
目标:实现上述三种方案,然后通过配置,可以任意的切换方案
规划采集项目目录:
bin: 启动文件
conf: 配置文件
lib: 库文件或公共文件
src: 源代码
test: 目录
配置文件的管理:
django的全局配置文件:管理一些不常用的默认的配置比如:语言,email配置等
核心点:setattr ,getattr,dir的用法
原文:https://www.cnblogs.com/suncunxu/p/10863937.html