标签:cmdb
CMDB项目,以上是流程图~
PS:
以实体机为模型开发的,虚拟机的粒度比实体机小得多
1,需要先通过后台管理系统录入服务器基本信息(如主机名,sn号,机房机柜合同等,硬件信息不需要录入,会自动获取),这是本系统的入口。
2,没有采用saltstack或puppet,因为公司目前没有用到,直接做了一个中控机,这样就不用在每台服务器上安装agent了。通过中控机采集硬件信息,并提交到相应接口
详解:
一,后台管理系统
1,录入资产,通过后台管理系统录入服务器基本信息。
二,API,中控机通过调用API来获取主机列表,或者提交采集的硬件信息
1,定义接口
a,获取主机列表接口:/api/untreated_server/
b,提交服务器硬件信息接口:/handle_server_info/
2,配置API验证的key(settings.py文件中)
a,验证是必须的,涉及到公司所有资产,非常机密
b,通过key+时间戳+过期时间+使用次数,进行加密
三,中控机(只一台),根据主机列表采集硬件信息并提交到API
配置接口
-- 配置文件中设置后台管理IP:127.0.0.1
-- 配置文件中设置后台管理端口:8000
-- 配置文件中设置获取主机列表:/api/untreated_server/
-- 配置文件中设置发送主机信息:/api/handle_server_info/
配置paramko
-- 创建一对密钥,将私钥保存至程序根目录(将公钥保存至服务器A、服务器 B...)
-- 配置文件中设置私钥路径
配置错误日志文件
-- 配置文件中设置错误日志文件(默认:程序根目录下error.log)
配置API验证使用的Key
-- 配置文件中设置API验证Key
四、服务器 ,需要配置公钥和采集信息的工具(命令)
1,将公钥保存至服务器A、服务器B...
2,服务器上安装
-- dmidecode 用于采集内存信息
-- MegaCli 用于采集硬盘信息
以上是简要分析系统结构和所需配置,
后面是代码部分,未完待续....
标签:cmdb
原文地址:http://yunweipy.blog.51cto.com/10683003/1693906