littlebot
Published on 2025-04-07 / 0 Visits
0

【源码】基于Python框架的运维资产配置管理系统

项目简介

本项目是基于Python框架构建的CMDB(配置管理数据库)系统,用于管理IT资源(如服务器、网络设备、应用系统等)的配置信息。项目提供RESTful API接口,可对配置项(CI)及其关联信息进行查询、添加、更新和删除操作,同时支持用户权限管理和访问控制。

项目的主要特性和功能

  1. 多种视图展示:具备资源视图、树形视图和关系视图三种类型视图。资源视图展示模型的实例数据,用户可订阅;树形视图以树形图展示模型按字段分级,用户可订阅;关系视图展示模型之间的关系,管理员可配置。
  2. RESTful API:提供丰富的RESTful API接口,支持HTTP请求方法(GET、POST、PUT、DELETE)用于操作CI和关联信息。
  3. 权限管理:实现基于角色的访问控制(RBAC),可通过API接口管理用户角色和权限。
  4. 缓存机制:使用Redis和Elasticsearch作为缓存工具,提高数据查询效率。
  5. 日志记录:使用Flask的日志系统记录操作日志,便于追踪和调试。
  6. 测试覆盖:提供详细的测试脚本和测试用例,确保代码的质量和可靠性。

安装使用步骤

Docker一键快速构建

  1. 先安装docker环境,进入主目录。
  2. 执行命令 docker-compose up -d
  3. 浏览器打开 http://127.0.0.1:8000

本地搭建

环境和依赖

  • 存储:mysql, redis
  • python版本:python2.7, >=python3.6

安装步骤

  1. 启动mysql服务和redis服务。
  2. 创建数据库cmdb。
  3. 拉取代码: bash cd cmdb cp api/settings.py.example api/settings.py
  4. 设置 api/settings.py 里的database。
  5. 安装库:
    • 后端:pipenv run pipenv install
    • 前端:cd ui && yarn install && cd..
  6. 创建数据库表:pipenv run flask db-setup && pipenv run flask init-cache
  7. 可将 docs/cmdb.sql 导入到数据库里,登录用户和密码都是 admin
  8. 启动服务:
    • 后端: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
  9. 浏览器打开 http://127.0.0.1:8000,如果是非本机访问,要修改 ui/.envVUE_APP_API_BASE_URL 里的IP地址为后端服务的ip地址。

使用Makefile安装

  1. 启动mysql服务和redis服务。
  2. 创建数据库cmdb。
  3. 拉取代码: bash cd cmdb cp api/settings.py.example api/settings.py
  4. 设置 api/settings.py 里的database。
  5. 顺序在cmdb目录下执行:
    • 环境:make env
    • 启动API:make api
    • 启动UI:make ui
    • 启动worker:make worker

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】