一个Django项目:搭建基本自动化运维平台 - Go语言中文社区

一个Django项目:搭建基本自动化运维平台


之前做的一个Python项目,采用了Django的MTV框架搭建,实现的是主机的CMDB平台与作业平台基本功能。

基本的搭建步骤:

1.确定平台的基本功能有哪些:实现主机的自动添加,删除,修改;实现所管理主机配置信息的监控;实现指定对象的批量管理

2.根据上面的功能,设计对应的页面方式,布局,规划如何交互的:如何执行命令与显示

3.根据上面的规划,拟定需要怎样的架构,分别需要几个模块(Modle)几个任务处理的模块(view),几个url跳转的页面(Template中的html)

4.细化每一个功能对应各个(MTV)环节的模块内容(如:主页-----M(模块是一个表,含host,ip,group等字段)-----T(前端是怎样展示出来的)---------V(怎样处理前端提交上来的信息))

5.具体到每个模块中调用的函数,处理的逻辑等,如何用具体的代码实现功能。。。

 

创建了一个app项目,叫myansi,使用了Python中的ansible模块实现自动化批量管理主机的作业平台,ansicfg负责ansible的基本环境准备;

myansible.py上负责每个架构的基本设置,最上层的处理(转交给后续的app应用层)

webansible执行APP具体内容的地方

db.sqilt是一个轻量级的数据库,记录所有的操作生成的数据

manage:一个Django交互工具,交互更加多样化

基本的架构:

相关的自动化脚本有:

1.dhost.py动态主机识别:实际上是一个sqlalchemy函数,获取列表为主机名+IP地址  或 组名+(主机名+IP)在每次用户提交后获得。

2.ansible的Python执行程序:应用在webansi的view.py中,作为模块被调用给task,使用的是ansible的playbook模块框架。在用户每次提交后执行。

3.view.py模块:执行逻辑判断与页面的内容更新,跳转到页面实现。

 

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42714523/article/details/82913759
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 17:00:55
  • 阅读 ( 2267 )
  • 分类:运维

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢