CMDB資產採集

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='maple', key=private_key)
 
# 執行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 獲取命令結果
result = stdout.read()
 
# 關閉鏈接
ssh.close()
paramiko

SaltStack

1. 安裝和配置shell

"""
1. 安裝salt-master
    yum install salt-master
2. 修改配置文件:/etc/salt/master
    interface: 0.0.0.0    # 表示Master的IP 
3. 啓動
    service salt-master start
"""
Master
"""
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
"""
Slave

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
"""
Master

3. 執行命令dom

在master服務器上對salve進行遠程操做ssh

salt 'c2.salt.com' cmd.run  'ifconfig'
基於shell命令
import salt.client
local = salt.client.LocalClient()
result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])
基於Salt的API
相關文章
相關標籤/搜索