CMDB实现的四种方式

一.Agent实现方式

        Agent方式,可以将服务器上面的Agent程序作定时任务,定时将资产信息提交到指定的API录入数据库CMDB实现的四种方式

其本质上就是在各个服务器上执行subprocess.getoutput()命令,然后将每台机器上执行的结果返回给主机API,然后主机API收到这些数据之后,放入到数据库中,最终通过web界面展现给用户

有点:  速度快

缺点:  需要为每台服务器部署一个Agent程序

二.  ssh实现方式  (基于Paramiko模块)

   中控机通过Paramiko(py模块)登录到各个服务器上,然后执行命令的方式去获取各个服务器上的信息

CMDB实现的四种方式

优点:  不需要为每台服务器部署一个Agent程序t

缺点:  速度慢

如果在服务器较少的情况下,可应用此方法

CMDB实现的四种方式

saltstack方式

CMDB实现的四种方式

      此方案本质上和第二种方案大致是差不多的流程,中控机发送命令给服务器执行.服务器将结果放入另一个队列中,中控机获取将服务信息发送到API进而录入数据库.

优点:   速递块,开发成本低

缺点:   依赖于第三方工具

salstack的安装和配置

1.  安装和配置

CMDB实现的四种方式

2.授权

CMDB实现的四种方式

3.执行命令

在master服务器上对salve进行远程操作

CMDB实现的四种方式

基于API的方式

CMDB实现的四种方式

参考安装:

        http://www.cnblogs.com/tim1blog/p/9987313.html
        https://www.jianshu.com/p/84de3e012753

Puppet  (ruby语言开发)   (了解)

每隔30分钟,通过RPC消息队列将执行的结果返回给用户