昨天提到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,好累