资源平台CMDB建设指南¶
CMDB是自动化运维的基石,通常在运维平台建设实施时,CMDB的建设要先行,需要把你要管理的运维对象全部创建对应的资产模型,并维护好资产和资产间的关系,然后进行数据录入或者自动采集。OpsAny平台的使用流程也可以根据【资源录入】-【资源纳管】-【资源操作】(批量执行、监控、巡检等)三个步骤进行。
Tip
在你开始之前,我们要很严肃的说明:CMDB(Configuration Management Database)是一个数据库,我相信你不会在你们生产环境中随意的删除数据库的表,或者删除字段,那么请你像对待数据库那样对待CMDB。
模型管理¶
OpsAny资源平台内置了丰富的模型,如果无法满足需求,可以创建新的模型,建议创建时复制已经存在的模型。如果模型已经有对应的数据录入,请不要随意修改模型。
所有的属性标识,保存后会自动增加模型的唯一标识作为前缀,保证在不同模型中的相同属性标识做到全局唯一。下面建议的属性名称可以修改,但是属性标识需要保持一致。
属性建议¶
在创建模型是是需要遵循一些最佳实践的,下面是OpsAny交付团队在项目实施中积累的经验,分享给大家。
-
建议你为所有的模型都设置“备注”字段,系统内置的模型的“备注”字段有固定的作用,不要删除!
-
属性名称: 备注 属性标识:COMMENT
物理设备位置属性¶
物理设备放置在机柜上可以在资源平台,物理视图查看其具体的位置,为了能够正确的显示设备在机柜上的U位。需要在模型中增加以下两个字段,而且属性标识必须如下设置:
- 属性名称:起始U位 属性标识:START_U
- 属性名称:占用U数 属性标识:OCCUPATION_U
关系管理¶
OpsAny的资源之间关系有两种:从属关系和连接关系。从属关系用于表达类似于血缘关系,例如父子关系,或者说没有任何歧义的关系。例如物理服务器一定要放置在机柜上,但是交换机和服务器就不是从属关系,因为交换机不仅仅可以连接服务器和可以连接其它设备。请注意:非必要不要使用从属关系,也不要删除任何默认内置的关系。
从属关系管理¶
OpsAny资源平台的从属关系是模型间有上下级强依赖的模型关系,例如服务器一定需要放置在机柜上,机柜必须属于数据中心的某个区域,没有任何二义性的关系。
请慎用从属关系,OpsAny资源平台内置的模型已经考虑了大部分从属关系,请不要修改和删除,尽量不添加从属关系,尤其是当你不确定的时候。
连接关系管理¶
OpsAny资源平台的连接关系是所有非从属关系的强依赖关系,均为连接关系。不同的连接关系可以采用标签进行区分。
所有的中间件和数据库都应该和主机(虚拟机、物理机、云主机)建立连接关系,而且连接关系的唯一标识必须固定如下:
- 属性名称:关联物理机 属性标识: IN_SERVER
- 属性名称:关联虚拟机 属性标识: IN_VIRTUAL_SERVER
- 属性名称:关联云主机 属性标识: IN_CLOUD_SERVER
例如Redis模型的连接关系:
- 本端:属性名称:关联虚拟机 属性标识: IN_VIRTUAL_SERVER
- 对端:属性名称:运行Redis 属性标识: RUN_REDIS
所有的服务和主机的关系,全部采用RUN_XXX(模型唯一标识)的最佳实践进行设置,保证统一规范。
数据录入¶
手工录入¶
OpsAny资源平台支持手工录入和Excel导入,同时也可以在管控平台直接纳管,纳管完成后,会自动同步到资源平台CMDB中。推荐的使用逻辑是先录入数据,然后再纳管。
资产自动采集¶
OpsAny社区版支持资产自动采集,首先需要在【管控平台】创建资产采集插件,然后在【资源平台】创建采集任务即可。可以参考下面文档。
- https://docs.opsany.com/dev-guide/collect_plugin/
关系编辑¶
录入完毕资源之后,需要进行关系管理,点击资源(名称/唯一标识)进入到详情页面。点击(关系管理)就可以进行关系的维护。
数据分析¶
OpsAny提供了资产孤岛分析功能,所谓的孤岛其实就是指某一个拥有关系的资源,并没有配置关系。例如物理机并没有关联任何的机柜,通过孤岛分析就可以分析出来哪些物理机没有关联机柜。
孤岛分析¶
孤岛分析页面支持定时分析和手工分析两种方式,通常建议设置定时分析,每天对CMDB的数据进行分析和统计,发现问题及时进行修正,来保证CMDB的数据准确有效。
资源授权¶
默认“管理员”角色的用户是可以看到所有的资源数据,但是“普通用户”角色是无法看到任何数据,这个时候就需要进行资源授权。需要注意的是OpsAny的授权分为“功能授权”和“资源授权”。通过这种低耦合的设计,可以增加授权的精度。
资源授权¶
OpsAny资源平台的资源授权页面通过授权规则的方式进行资源授权,有人问,为什么不直接进行选择,而是要通过规则?因为很多场景下,我们授权都是基于某个资源的特征进行的,通过规则可以更加精准并且授权非常的灵活。例如你可以授权某个用户拥有“应用A”关联的所有主机和数据库,你甚至可以授权某个用户拥有所有操作系统是“CentOS”的所有主机。