CMDB的全称解释为:配置管理系统
企业中实现CMDB的四种实现方式:
1. 使用agent脚本
缺点: 每台服务器都要放置agent
优点: 速度快
使用场景: 服务器比较多的时候

2. 使用ssh类完成(在python中使用paramiko模块来实现)
缺点: 有一个中控机, 速度慢 使用场景: 服务器比较少的时候

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实现 (不怎么使用)
代码实现:
这里使用到类中的反射用法,拿到想要的数据

from conf import config
from . import global_settings
class Settings():
def __init__(self):
##整合全局配置文件
for k in dir(global_settings): #拿到global_settings的文件内的数据,使用dir,
if k.isupper(): #因为dir得到还有内置的字典形式,所以想要的内容都大写表示
v= getattr(global_settings,k) #这里就用到了反射, 通过k值 得到 value的值
setattr(self,k,v) #反射为值添加新的数据
#这里吧自定义的放在下面因为执行是从上往下,这样的话不会不会被替换掉
for k in dir(config):
if k.isupper():
v = getattr(config,k)
setattr(self,k,v)
settings= Settings()
来源:https://www.cnblogs.com/gukai/p/10864506.html
