CMDB

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