环境和依赖介绍
依赖环境都配置到了镜像中(hikcmdb:1.7)
- django:2.2.5
- 存储:postgresql
- python:3.6
- UI:simpleui-3.9
- docker:18.09.7
安装方法
说明:首次安装先初始化,后面启动服务时只需执行部署动作
初始化
- 配置数据库 /home/ops/newcmdb/mysite/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres', #数据库
'USER': 'postgres', #用户名
"PASSWORD" : 'pg123456', #自己的密码
"HOST":'172.16.0.4', #数据库ip
'PORT':5432, #数据库监听端口
}
}
- 预启动
docker run -it -p 8888:8888 --name cmdb --restart=always -v /home/ops/newcmdb:/usr/src/cmdb hikcmdb:1.7 bash
- 初始化数据库
docker exec -it cmdb python manage.py makemigrations
docker exec -it cmdb python manage.py migrate
- 创建用户
docker exec -it cmdb python manage.py createsuperuser
- 删除容器
docker rm -f cmdb
部署
docker run -it -p 8888:8888 --name cmdb --restart=always -v /home/ops/newcmdb:/usr/src/cmdb hikcmdb:1.7
- 浏览器打开:http://IP:8888
自定义配置
编辑 app/admin.py文件,在对应模型的管理器中进行自定义设置
列表页面配置
- 自定义显示的列
#Asset模型管理器
class Assetlist(ImportExportActionModelAdmin):
...
list_display = ['node_ip', 'bmc_ip', 'area', 'project', 'service', 'asset_type', 'pic', 'user', 'status', 'comment_ellipsis', 'login_manage' ]
...
- 搜索字段
...
search_fields = ['node_ip', 'bmc_ip', 'sn', 'assetnum']
...
- 过滤字段
...
list_filter = ['area', 'manufacturer', 'env']
...
- 每页显示条数
...
list_per_page = 10 # 每页显示10条
...
字段配置
在app/models.py中对字段进行操作,models.py定义一个或多个表(class),在对应表中增、删、改字段即可。最后,执行数据库迁移操作生效
docker exec -it cmdb python manage.py makemigrations
docker exec -it cmdb python manage.py migrate
编辑页面配置
增加一个字段后如何展示在编辑页面?只需将字段添加至fieldsets中的任意一个fields中。fieldsets用于对字段分块,看起来比较整洁
fieldsets = (
(u'IP地址', {
'fields': ('node_ip', 'bmc_ip')
}),
(u'配置', {
'classes': ('2',),
'fields': ('os', 'port', 'cpu', 'memory', 'disk', 'disknum')
}),
(u'位置信息', {
'classes': ('3',),
'fields': ('area', 'room', 'cabinet', 'cabinet_location', 'sn', 'assetnum', 'material_num')
}),
(u'其他', {
'classes': ('4',),
'fields': ('manufacturer', 'asset_type', 'status', 'project', 'env', 'service', 'pic', 'user', 'comment')
})
)