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

【源码】基于Python Tornado和Vue的CMDB资产管理系统

项目简介

本项目是一套CMDB资产管理系统,后端基于Python Tornado实现,前端采用Vue + Iview - admin。它能够集中管理服务器、数据库、网络设备等各类资产信息,还可通过API接口与AWS、阿里云、腾讯云等云服务提供商交互,自动获取并同步资产信息到CMDB,方便用户对资产进行查询、管理和监控。

项目的主要特性和功能

现有功能

  1. 支持主机、数据库记录,可自定义IDC机房。
  2. 支持Server/DB批量添加、删除操作。
  3. 基于Tag管理实现用户访问资产授权。
  4. 自动获取AWS、阿里云、腾讯云的AWS/RDS/Cache信息。
  5. 记录IDC、Server、DB的操作记录(POST\PUT\DELETE)。
  6. 支持标签管理、标签规则管理以及自定义规则自动加入Tag。
  7. 主表和详情表分离,便于在不影响数据的情况下进行扩展。
  8. 支持(自动、手动)发现AWS、阿里云、腾讯云主机、DB、Cache。

待开发功能

  1. CMDB跳板机功能。
  2. Ucloud云服务器支持。

安装使用步骤

部署前准备

  1. 确保已安装Python环境,并安装boto3(用于AWS交互)、qcloud-sdk-python(用于腾讯云交互)等必要的库和模块。
  2. 安装并配置好数据库(如MySQL)。

具体部署步骤

  1. 创建数据库 create database `codo_cmdb` default character set utf8mb4 collate utf8mb4_unicode_ci;
  2. 修改配置
    • 修改settings.py配置信息,注意需修改的信息在该文件中已标注,要确保mysqlredis等配置信息准确。
    • docs/nginx_ops.conf文件建议保持默认,若修改则后续DNS、网关都要相应修改为该域名。
  3. 打包镜像 docker build . -t codo_cmdb
  4. 启动Docker docker-compose up -d
  5. 初始化表结构 docker exec -ti cmdb_codo_cmdb_1 /usr/local/bin/python3 /var/www/codo-cmdb/db_sync.py

后续操作

  1. 查看日志
    • 服务日志:/var/log/supervisor/cmdb.log (主程序日志)
    • 定时日志:/var/log/supervisor/cmdb_cron.log (一些后端守护自动运行的日志)
  2. 接口测试 curl -I -X GET -m 10 -o /dev/null -s -w %{http_code} http://${cmdb_domain}:8050/are_you_ok/
  3. 服务注册:由于每个模板单独部署,微服务需要在API网关进行注册,可参考如下示例进行配置。 rewrite_conf = { [gw_domain_name] = { rewrite_urls = { { uri = "/cmdb2", rewrite_upstream = "cmdb2.opendevops.cn:8050" # nginx配置的域名 }, { uri = "/mg", rewrite_upstream = "mg.opendevops.cn:8010" }, { uri = "/accounts", rewrite_upstream = "mg.opendevops.cn:8010" }, } } }
  4. 权限分配:为不同用户分配不同的权限,确保数据的安全性。
  5. 测试与验证:通过Web界面或命令行接口进行功能测试,确保系统正常运行。

请注意,以上步骤仅为简化说明,实际部署可能需要更多的细节和配置。此外,本项目是一个复杂的系统,需要有一定的Python编程和数据库管理经验才能正确安装和使用。

下载地址

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