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()
模式django实现自定义和默认的拿到数据方法

 

posted on 2019-05-14 20:47  kaikai2xiaoqi  阅读(159)  评论(0编辑  收藏  举报