CMDB 收集资产信息之(******收集资产代码流程,API的一个认证,数据库表的一个设计*********)

收集资产代码流程

  1.起初我们些的代码是面条式的一堆的逻辑判断。

    后来通过了不断的优化升级实现了一个3种方案都支持的CMDB系统,我们用哪种方案只需要在配置文件里修改一下设置就行了。

    同时我们借鉴了django的中间件设置还实现了可插拔式的功能,这个可插拔式针对的是我们要收集的某些硬件信息,只需要注释一下,就可以达到不用搜集了。

  2.流程:  1.settings: MODE----->确定哪种方案(【3个方案py文件】)

                 确定哪种脚本(【agent脚本,ssh(paramiko),saltstack】)本质功能调命令行

           可插拔配置---->(需要收集的硬件信息【每个硬件1个py文件】)

MODE='agent' #方案一 'agent', 方案二 'ssh',方案三 'salt'

DEBUG=True
#可插拔配置
PLUGINS_DICT={
    'basic':'src.data.basic.Basic',
    'board':'src.data.board.Board',
    'cpu':'src.data.cpu.Cpu',
    'disk':'src.data.disk.Disk',
    'memory':'src.data.memory.Memory',
#  'nic':'src.data.nic.Nic',
}

        2.for循环硬件配置,传入方法:执行相应硬件的linux命令 拿到我们需要收集的信息 

{'basic': {'status': 10000, 'data': {'os_platform': 'linux', 'os_version': 'CentOS release 6.6 (Final)\nKernel \r on an \\m', 'hostname': 'c2.com'}}}

#注意:ssh(hostme  密钥或服务器用户名密码 ),salt方式只需要hostname

#我写了一个类方法来for循环配置文件,一个方法拿到脚本方法 ,init定义了hostname,root,pwd等    

API的一个认证

猜你喜欢

转载自www.cnblogs.com/3sss-ss-s/p/10256942.html