昨天提到ITIL,今天再深入一下,它分五個部分,即事件管理、問題管理、配置管理、變更管理、發佈管理,我們要關注的是配置管理,也是ITIL的核心,也就是我們今天要說的資產管理,它主要有一下幾點:
1、能存儲各種硬件信息
2、硬件信息可以自動收集,自動更新
a、服務器上抓取硬件信息,並更新到數據庫
b、通過c/s架構,客戶端彙報
c、自動發現,發現資產,存入數據庫。
d、網絡設備通過snmp獲取信息
3、手動錄入資產
4、對外提供靈活的接口
5、接口安全問題,數據問題
6、資產分類
a、idc
b、業務類型
c、ip網段
d、硬件類型
e、服務類型(功能)
f、系統
g、狀態
h、管理員
7、cmdb事件管理
a、記錄資產的變更
b、流程日誌
8、確定資產的唯一標識
sn號 or 資產id or mac
9、硬件下架、過保了、報廢、是否可以自動刪除
資產不應該被刪除
10、確定配置項
鼠標、鍵盤、網線等維護力度比較大,不能太細
11、定期盤點確保數據的準確性
之後我們就要用python慢慢來實現它的功能
首先創建一個項目,把它的基礎框架搭建出來
NedStark.py
os sys BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR) __name__ == : core HouseStark HouseStark.ArgvHandler(sys.argv) HouseStark.py from core import info_collection class ArgvHandler(object): def __init__(self,argv_list): self.argvs = argv_list self.parse_argv() def parse_argv(self): if len(self.argvs) >1: if hasattr(self,self.argvs[1]): func = getattr(self,self.argvs[1]) func() else: self.help_msg() else: self.help_msg() def help_msg(self): msg = ''' collect_data run_forever get_asset_id report_asset ''' print msg def collect_data(self): obj = info_collection.InfoCollection() asset_data = obj.collect() print asset_data return asset_data Info_collection.py from plugins import sysinfo class InfoCollection(object): def __init__(self): pass def collect(self): sys_info = sysinfo.collect() return sys_info def build_report_data(self,data): return data 今天先寫3個.py,好累