title: CMDB 数据库设计
tags: Django
CMDB数据库设计
具体的资产
服务器表和网卡、内存、硬盘是一对多的关系,一个服务器可以有多个网卡、多个内存、多个硬盘
hostname设置成unique=True,唯一
硬盘有多个槽位,slot,最后入库的时候数据也是根据槽位进行的操作
related_nameserver_obj = models.ForeignKey('Server', related_name='disk')
通过Server的对象obj,通过related_name 就能反向关联到Disk表,这就是代替了小写的表明_set
网络设备也是资产信息,所以需要资产信息表,和服务器表的关系是一对一关系
IDC机房
用户相关
资产需要划分部门,实际上就是业务线表,部门表和资产表也是一对多的关系,一个部门可以有多个资产
每条业务线是由相应的运维人员负责的,对应运维需要设置运维组,运维和运维组之间是多对多的关系,最终就是一条业务线有多个运维组负责,每个业务线还需要有专门的业务联系人,负责处理紧急业务线问题,如宕机等
资产信息变更
资产信息变更表,关联的是资产表Assert,资产信息的变更有两种,一种是自动采集,一种是用户进行的变更,自动的采集的是没有用户的
错误日志信息
采集错误的时候,堆栈的错误信息会显示,所以需要错误日志表
O2O
O2O
O2O
O2O
FK
FK
FK
FK
FK
FK
资产表
资产表
FK
FK
FK
FK
FK
FK
服务器表
[Not supported by viewer]
网络设备
网络设备
网卡
网卡
硬盘
硬盘
内存
内存
交换机
[Not supported by viewer]
防火墙
[Not supported by viewer]
O2O
O2O
用户表
用户表
管理员表
管理员表
FK
FK
FK
FK
FK
FK
用户组表
用户组表
M2M
M2M
M2M
M2M
用户和用户组关系表
用户和用户组关系表
FK
FK
业务线表
业务线表
业务联系人
业务联系人
业务管理员
业务管理员
资产信息变更表
资产信息变更表
IDC机房
IDC机房
创建资产变更的用户,可以为空
创建资产变更的用户,可以为空
错误日志表
错误日志表
O2O:一对一
O2O:一对一
FK:外键
FK:外键
M2M:多对多
M2M:多对多
CMDB数据库图:
在页面中添加svg,
<div width="100%" style="overflow-x: auto;">
<svg width="140" height="170">
<title>SVG Sample</title>
<desc>This is a sample to use SVG in markdown on the website cnblogs.</desc>
<circle cx="70" cy="95" r="50" style="stroke: black; fill: none;"/>
</svg>
</div>