首页 > 数据库技术 > 详细

CMDB

时间:2019-06-24 20:43:50      阅读:108      评论:0      收藏:0      [点我收藏+]

CMDB实现的四种方式

方式一   Agent方式

#本质就是在各个服务器上部署Agent,执行subprocess.getoutput()命令,然后将每台机器上的执行结果,返回给API,通过数据的筛选,存入数据库
优点:速度快
缺点:需要每台服务器部署一个Agent

技术分享图片

 

 

 

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

中控机通过Paramiko(py模块)登陆到各个服务器上,然后执行命令的方式取获取各个服务器上的信息
#优点:不需要各个服务器Agent
#缺点:需要登陆各个服务器,速度慢

 

技术分享图片

技术分享图片
pip install paramiko

import paramiko

#创建SSH对象
ssh = paramiko.SSHClient()

#允许连接不在know_host文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

#连接服务器
ssh.connect(hostname=10.0.0.100,port=22,username=root,password=1)
stdin ,stdout ,stderr = ssh.exec_command(hostname)

#执行命令
result = stdout.read()
print(result)

#关闭连接
ssh.close()
大致核心代码

 

方式三  salt stack方式

使用第三方工具,不需要登陆每台服务器,类似于两套生产者消费者模型,分别把数据存到队列中
#优点:快,开发成本低,
#缺点:依赖于第三方工具

 

技术分享图片

 

1、安装与配置

技术分享图片
master端
#1安装salt-master
 yum install salt-master

#2修改配置文件
    vim /etc/salt/master

#3启动
    service salt-master start


#slave端
#1安装salt-minion
    yun install salt-minion

#2修改配置文件
    master:10.211.55.4            #master的地址
或
    master:
        -10.211.55.4
        -10.211.55.5
    random_master:True
    id:c2.salt.con        #客户端在salt-master中显示的唯一ID

#3启动
    service salt-minion start
View Code

 

2、授权

salt-key-L                 # 查看已授权和未授权的slave
salt-key -a  salve_id      # 接受指定id的salve
salt-key -r  salve_id      # 拒绝指定id的salve
salt-key -d  salve_id      # 删除指定id的salve

 

3、执行命令

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

salt c2.salt.com cmd.run ifconfig

基于API的方式

import salt.client
local = salt.client.LocalClient()
result = local.cmd(c2.salt.com, cmd.run, [ifconfig])

 

CMDB

原文:https://www.cnblogs.com/pdun/p/11079146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!