美文网首页
CMDB资产采集三种方式

CMDB资产采集三种方式

作者: SlashBoyMr_wang | 来源:发表于2019-02-14 21:19 被阅读0次

    一、Agent方式实现之subprocess模块

    #本机执行命令
    import subprocess
    output = subprocess.getoutput(cmd)
    

    二、SSH链接服务器之paramiko模块

    import paramiko
     
    private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')
     
    # 创建SSH对象
    ssh = paramiko.SSHClient()
    # 允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname='c1.salt.com', port=22, username='wupeiqi', key=private_key)
     
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('df')
    # 获取命令结果
    result = stdout.read()
     
    # 关闭连接
    ssh.close()
    

    三、资产采集第三方软件之SaltStack

    • SaltStack 安装和配置
    1. 安装salt-master
        yum install salt-master
    2. 修改配置文件:/etc/salt/master
        interface: 10.211.55.4     # 表示Master的IP 
    3. 启动
        service salt-master start
    
    1. 安装salt-minion
        yum install salt-minion
    
    2. 修改配置文件 /etc/salt/minion
        master: 10.211.55.4           # master的地址
        或
        master:
            - 10.211.55.4
            - 10.211.55.5
        random_master: True
    
        id: c2.salt.com                    # 客户端在salt-master中显示的唯一ID
    3. 启动
        service salt-minion start
    
    • SaltStack授权
    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
    
    • 执行命令
      在master服务器上对salve进行远程操作
    salt 'c2.salt.com' cmd.run  'ifconfig'
    

    在py文件中执行命令方式

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

    相关文章

      网友评论

          本文标题:CMDB资产采集三种方式

          本文链接:https://www.haomeiwen.com/subject/msweeqtx.html