CMDB学习之三数据采集
生活随笔
收集整理的這篇文章主要介紹了
CMDB学习之三数据采集
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
判斷系統因為是公用的方法,所有要寫基類方法使用,首先在插件中創建一個基類
將插件文件繼承基類
?思路是創建基類使用handler.cmd ,命令去獲取系統信息,然后進行判斷,然后去執行 磁盤 ,cpu,網卡,內存等信息的收集;
基類代碼:
class BasePlugin:def get_os(self,handler,hostname):os = handler.cmd("查詢操作系統的命令",hostname)# return osreturn 'win32'def process(self,handler,hostname):os = self.get_os(handler,hostname)if os == 'win32': #測試判斷執行win32return self.win(handler,hostname)else:return self.linux(handler,hostname)def win(self,handler,hostname):#約束派生類必須實現win方法raise NotImplementedError('handler() must Implemented.')def linux(self,handler,hostname):#約束派生類必須實現Linux方法raise NotImplementedError('handler() must Implemented.')disk.py ,cpu.py,memory.py,network.py 代碼;
from .base import BasePluginclass Disk(BasePlugin):def win(self,handler,hostname):'''執行命令拿到結果磁盤:return:'''print("執行win方法")ret = handler.cmd('wmic diskdrive',hostname)[0:10]return retdef linux(self,handler,hostname):'''執行命令拿到結果磁盤:return:'''print("執行Linux方法")ret = handler.cmd('df -h',hostname)[0:10]return ret from .base import BasePluginclass Memory(BasePlugin):def win(self,handler,hostname):'''執行命令拿到結果-內存:return:'''print("執行win方法")ret = handler.cmd('wmic memphysical list brief',hostname)[0:10]return retdef linux(self,handler,hostname):'''執行命令拿到結果-內存:return:'''print("執行Linux方法")ret = handler.cmd('free',hostname)[0:10]return ret from .base import BasePlugin class CPU(BasePlugin):def win(self,handler,hostname):'''執行命令拿到結果-cpu:return:'''print("執行win方法")ret = handler.cmd('wmic cpu',hostname)[0:10]return retdef linux(self,handler,hostname):'''執行命令拿到結果-cpu:return:'''print("執行Linux方法")ret = handler.cmd('wmic cpu',hostname)[0:10]return ret from .base import BasePlugin class Network(BasePlugin):def win(self,handler,hostname):'''執行命令拿到結果-網卡:return:'''print("執行win方法")ret = handler.cmd('ipconfig',hostname)[0:10]return retdef linux(self,handler,hostname):'''執行命令拿到結果-網卡:return:'''print("執行Linux方法")ret = handler.cmd('ifconfig',hostname)[0:10]return ret?
最后測試執行結果
?
轉載于:https://www.cnblogs.com/michael2018/p/10419637.html
總結
以上是生活随笔為你收集整理的CMDB学习之三数据采集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你会不会购买掉漆的iPhone 12
- 下一篇: nplayer怎么和电脑共享(nplay