自动化运维模块
自动化运维模块
传统运维与自动化运维的对比
1.总结一般企业中,项目的发布流程
产品经理调研需求 ——》 三方开会讨论(开发,产品,运维和测试)——》开发进行开发产品 ——》测试流程 ——》项目上线
传统的上线流程
svn开发将代码压缩一下发给运维,运维拿到代码之后,将代码解压缩,部署到服务器上,启动服务
好处:流程比较简单
坏处:服务器多的话,部署的就非常慢,会影响上线的速度
自动化运维的流程:
建一个web的系统,勾选发布的机器,上传代码,进行发布
上述系统需要知道服务器的基本信息(元信息)
2.监控系统
需要监控服务器的cpu使用率,磁盘大小(>90%,报警),内存使用率
上述系统需要知道服务器的基本信息
CMDB
1.概念
需要做一个基石的项目,提供服务器的进出信息(如服务器的磁盘,cpu,内存等),这个基石项目叫做CMDB Configure Manage DataBase 中文叫 配置管理数据库,主要用来收集服务器的基础信息
2.架构图方案
两种架构方式:
agent实现方式
ssh实现方式
一.如何获取服务器的信息?
执行对应的linux命令(ip:ifconfig)
二.如何使用python代码来执行linux的命令?
subprocess模块来执行命令
三.为什么post中没有收到数据,而body中有?
django根据你http协议的头信息来判断,如果content-type:application/form-url-encode的话,django会将body中的数据付给post,如果content-type:application/json的话,django不会将body中的数据付给post
总结:
整个架构方案,分成3部分,客户端采集,api数据分析,数据展示
同时实现这两套方案,好处是:将来好切换