简介
CMDB(Configuration Management Database):配置管理数据库。存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。---百度百科
CMDB貌似是运维开发必写的项目,虽然有不少开源的CMDB,但由于每个企业管理、资产等的不同,很难找到一款完全适合的产品,所以自己开发还是非常有必要的。当然为了避免重复造轮子,拿一个开源来进行修改也是不错的选择。由于我之前没开发经验,所以就拿这项目来练手(入坑),希望不要“难产”。
CMDB规划
目标:实现运维管理的控制平台。
版本一(V1.0):
定义:服务器管理系统:能记录所有的服务器资料。
1、 登录管理(20180430)
实现:登录(20180428)、注销(20180429)、修改密码(20180430)功能
2、用户管理(20180430)
实现:用户的增、删、查、改
3、服务器资产管理(20180430)
实现: 3.1、服务器资产信息的增、删、查、改(20180430)
3.2、记录服务器名称、备注、内存、cpu、类型、内核版本、系统版本、环境标签(20180429)
3.3、可根据已存在进行搜索,支持模糊搜索、精准搜索。(20180430)
已于2018年4月30日完成
版本二(V2.0):
定义:资产管理系统:能通过自定义模板,来记录相应模板的资产信息。服务器资产管理引入远程连接功能。
1、 远程连接功能
实现:1.1、服务器资产可以填入账号、密码或秘钥来远程连接。连接后将能获取到相应模板中的信息。
1.2、远程连接后,将定义检查远程服务器的心跳。若检查不到心跳则显示报警。
2、 资产管理模板化
实现:可以通过自定义模板来管理资产信息(服务器模板为默认)
版本三(V3.0):
定义:监控管理平台:将已有的监控界面引入到CMDB中
1、 监控管理系统
实现:通过CMDB能查看Gafana、Kibana监控信息
版本四(V4.0):
定义:运维自动化平台:可以看各自动化Job的完成情况,有异常的则跳转到其他管理界面进行修复处理。
1、 接入Jenkins
实现:通过CMDB能查看到Jenkins各Job的完成情况
版本五(V5.0):
定义:安全加固、权限管理、报警定制
1、 验证模块:
登录界面将需要通过验证模块才能登录---防爆破
2、 权限管理:
对用户的模块可见-可操作权限做分离---适用于不同人群使用
3、 报警定制:
接入短信、邮箱、微信三种报警方式。并将远程连接在线检查接入该项报警中。
版本六(V6.0):
定义:门户化
1、实现自定义添加URL链接
版本七(V7.0):
定义:集群管理,接入ansible实现集群管理
1、提供操作界面可以控制集群,不提供如rm等危险命令
二零一八年四月二十六日起草
备注:
1、每个大版本包含了对之前版本的优化。
2、后续版本功能点会逐渐细化,并对开发中遇到的问题做调整。
3、每个功能完成后将追加其完成时间,以便回顾及追溯
相关技术:
语言:Python3.X、
后端框架:Django框架、
前端:HTML5、
数据存储:MySQL、MongoDB、ElasticSearch
缓存:Redis
python相关依赖,在github中的readme.md文件详明。
网友评论