CMDB资产管理采集
Paramiko
1 import paramiko 2 3 private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa') 4 5 # 创建SSH对象 6 ssh = paramiko.SSHClient() 7 # 允许连接不在know_hosts文件中的主机 8 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 9 # 连接服务器 10 ssh.connect(hostname='c1.salt.com', port=22, username='wupeiqi', key=private_key) 11 12 # 执行命令 13 stdin, stdout, stderr = ssh.exec_command('df') 14 # 获取命令结果 15 result = stdout.read() 16 17 # 关闭连接 18 ssh.close() 19 20 paramiko
SaltStack
1. 安装和配置
1 """ 2 1. 安装salt-master 3 yum install salt-master 4 2. 修改配置文件:/etc/salt/master 5 interface: 0.0.0.0 # 表示Master的IP 6 3. 启动 7 service salt-master start 8 """ 9 10 Master
1 """ 2 1. 安装salt-minion 3 yum install salt-minion 4 5 2. 修改配置文件 /etc/salt/minion 6 master: 10.211.55.4 # master的地址 7 或 8 master: 9 - 10.211.55.4 10 - 10.211.55.5 11 random_master: True 12 13 id: c2.salt.com # 客户端在salt-master中显示的唯一ID 14 3. 启动 15 service salt-minion start 16 """ 17 18 Slave
2. 授权
1 """ 2 salt-key -L # 查看已授权和未授权的slave 3 salt-key -a salve_id # 接受指定id的salve 4 salt-key -r salve_id # 拒绝指定id的salve 5 salt-key -d salve_id # 删除指定id的salve 6 """ 7 8 Master
3. 执行命令
在master服务器上对salve进行远程操作
1 salt 'c2.salt.com' cmd.run 'ifconfig'
相当于Python的: 2 import salt.client 3 local = salt.client.LocalClient() 4 result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])