项目简介
本项目是基于Python框架构建的CMDB(配置管理数据库)系统,用于管理IT资源(如服务器、网络设备、应用系统等)的配置信息。项目提供RESTful API接口,可对配置项(CI)及其关联信息进行查询、添加、更新和删除操作,同时支持用户权限管理和访问控制。
项目的主要特性和功能
- 多种视图展示:具备资源视图、树形视图和关系视图三种类型视图。资源视图展示模型的实例数据,用户可订阅;树形视图以树形图展示模型按字段分级,用户可订阅;关系视图展示模型之间的关系,管理员可配置。
- RESTful API:提供丰富的RESTful API接口,支持HTTP请求方法(GET、POST、PUT、DELETE)用于操作CI和关联信息。
- 权限管理:实现基于角色的访问控制(RBAC),可通过API接口管理用户角色和权限。
- 缓存机制:使用Redis和Elasticsearch作为缓存工具,提高数据查询效率。
- 日志记录:使用Flask的日志系统记录操作日志,便于追踪和调试。
- 测试覆盖:提供详细的测试脚本和测试用例,确保代码的质量和可靠性。
安装使用步骤
Docker一键快速构建
- 先安装docker环境,进入主目录。
- 执行命令
docker-compose up -d
。 - 浏览器打开 http://127.0.0.1:8000。
本地搭建
环境和依赖
- 存储:mysql, redis
- python版本:python2.7, >=python3.6
安装步骤
- 启动mysql服务和redis服务。
- 创建数据库cmdb。
- 拉取代码:
bash cd cmdb cp api/settings.py.example api/settings.py
- 设置
api/settings.py
里的database。 - 安装库:
- 后端:
pipenv run pipenv install
- 前端:
cd ui && yarn install && cd..
- 后端:
- 创建数据库表:
pipenv run flask db-setup && pipenv run flask init-cache
- 可将
docs/cmdb.sql
导入到数据库里,登录用户和密码都是admin
。 - 启动服务:
- 后端:
pipenv run flask run -h 0.0.0.0
- 前端:
cd ui && yarn run serve
- worker:
celery worker -A celery_worker.celery -E -Q cmdb_async --concurrency=1
- 后端:
- 浏览器打开 http://127.0.0.1:8000,如果是非本机访问,要修改
ui/.env
里VUE_APP_API_BASE_URL
里的IP地址为后端服务的ip地址。
使用Makefile安装
- 启动mysql服务和redis服务。
- 创建数据库cmdb。
- 拉取代码:
bash cd cmdb cp api/settings.py.example api/settings.py
- 设置
api/settings.py
里的database。 - 顺序在cmdb目录下执行:
- 环境:
make env
- 启动API:
make api
- 启动UI:
make ui
- 启动worker:
make worker
- 环境:
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】