CMDB資產(chǎn)采集三種方式

一、Agent方式實現(xiàn)之subprocess模塊

#本機(jī)執(zhí)行命令
import subprocess
output = subprocess.getoutput(cmd)

二、SSH鏈接服務(wù)器之paramiko模塊

import paramiko
 
private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')
 
# 創(chuàng)建SSH對象
ssh = paramiko.SSHClient()
# 允許連接不在know_hosts文件中的主機(jī)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接服務(wù)器
ssh.connect(hostname='c1.salt.com', port=22, username='wupeiqi', key=private_key)
 
# 執(zhí)行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 獲取命令結(jié)果
result = stdout.read()
 
# 關(guān)閉連接
ssh.close()

三、資產(chǎn)采集第三方軟件之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授權(quán)
salt-key -L                # 查看已授權(quán)和未授權(quán)的slave
salt-key -a  salve_id      # 接受指定id的salve
salt-key -r  salve_id      # 拒絕指定id的salve
salt-key -d  salve_id      # 刪除指定id的salve
  • 執(zhí)行命令
    在master服務(wù)器上對salve進(jìn)行遠(yuǎn)程操作
salt 'c2.salt.com' cmd.run  'ifconfig'

在py文件中執(zhí)行命令方式

import salt.client
local = salt.client.LocalClient()
result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容