该CMDB目前主要实现了sso登录,资产的自动化收集和管理,zabbix管理,API接口和日志审计等功能,现详细说明一下
- sso登录
该系统目前接入了LDAP,所以可使用公司LDAP账号进行登陆,默认登陆的账号会被授予普通用户的权限,即只有查看权限。
- 资产自动化收集和管理
目前资产的自动化收集主要采用的是salt的grains特性(被动方式)进行收集,还有一些定制化的收集需求主要是采用编写grains脚本的方式同步到所有机器进行收集,基本能满足需求,同时为了解决跨机房收集的问题,在每个机房的salt master机器上部署了一个proxy,proxy的主要功能是每天定时收集所有机器的资产信息,然后存放到本地的redis里面,有效期是1小时,如果有资产被删除了,那么proxy上就会记录被删除的资产的IP,收集完毕后,利用redis的发布订阅功能发布消息给本地的cmdb机器,cmdb机器收到这个消息以后,远程同步redis里面的资产信息到cmdb,然后cmdb进行资产信息的逻辑处理,拿新到最新的资产信息。
- zabbix管理
由于我们国内外均有机房,国内外机房之间如果互通的话,延迟可能会很大,影响监控的效率和准确度,维护两套监控,无形中也增加了运维的成本,所以通过调用zabbix API接口的办法,把这两套监控的平时的相关操作集成在了CMDB里面,同时会定期同步zabbix监控的数据,保证CMDB和这两套监控数据的一致性,方便了大家的操作。
- 日志审计
日志审计这一块主要是记录资产的更新情况,包括手动(可以手动添加资产信息和删除资产)和自动的。
- API接口
主要实现了所有资产和单个资产的查询接口,还有根据项目查询该项目名下资产等接口。
- 权限控制
权限控制这块根据用户职能分配相应的权限,比如管理员,普通用户,开发和测试等分别有不同的权限,第一次登陆默认是普通用户的权限,权限可以叠加