项目简介
本项目是一套CMDB资产管理系统,后端基于Python Tornado实现,前端采用Vue + Iview - admin。它能够集中管理服务器、数据库、网络设备等各类资产信息,还可通过API接口与AWS、阿里云、腾讯云等云服务提供商交互,自动获取并同步资产信息到CMDB,方便用户对资产进行查询、管理和监控。
项目的主要特性和功能
现有功能
- 支持主机、数据库记录,可自定义IDC机房。
- 支持Server/DB批量添加、删除操作。
- 基于Tag管理实现用户访问资产授权。
- 自动获取AWS、阿里云、腾讯云的AWS/RDS/Cache信息。
- 记录IDC、Server、DB的操作记录(POST\PUT\DELETE)。
- 支持标签管理、标签规则管理以及自定义规则自动加入Tag。
- 主表和详情表分离,便于在不影响数据的情况下进行扩展。
- 支持(自动、手动)发现AWS、阿里云、腾讯云主机、DB、Cache。
待开发功能
- CMDB跳板机功能。
- Ucloud云服务器支持。
安装使用步骤
部署前准备
- 确保已安装Python环境,并安装
boto3
(用于AWS交互)、qcloud-sdk-python
(用于腾讯云交互)等必要的库和模块。 - 安装并配置好数据库(如MySQL)。
具体部署步骤
- 创建数据库
create database `codo_cmdb` default character set utf8mb4 collate utf8mb4_unicode_ci;
- 修改配置
- 修改
settings.py
配置信息,注意需修改的信息在该文件中已标注,要确保mysql
、redis
等配置信息准确。 docs/nginx_ops.conf
文件建议保持默认,若修改则后续DNS、网关都要相应修改为该域名。
- 修改
- 打包镜像
docker build . -t codo_cmdb
- 启动Docker
docker-compose up -d
- 初始化表结构
docker exec -ti cmdb_codo_cmdb_1 /usr/local/bin/python3 /var/www/codo-cmdb/db_sync.py
后续操作
- 查看日志
- 服务日志:
/var/log/supervisor/cmdb.log
(主程序日志) - 定时日志:
/var/log/supervisor/cmdb_cron.log
(一些后端守护自动运行的日志)
- 服务日志:
- 接口测试
curl -I -X GET -m 10 -o /dev/null -s -w %{http_code} http://${cmdb_domain}:8050/are_you_ok/
- 服务注册:由于每个模板单独部署,微服务需要在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" }, } } }
- 权限分配:为不同用户分配不同的权限,确保数据的安全性。
- 测试与验证:通过Web界面或命令行接口进行功能测试,确保系统正常运行。
请注意,以上步骤仅为简化说明,实际部署可能需要更多的细节和配置。此外,本项目是一个复杂的系统,需要有一定的Python编程和数据库管理经验才能正确安装和使用。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】