资产管理平台—chemex
1、简介
Chemex CMDB(Configuration Management Database)是一个基于现代微服务架构的资产管理与自动化平台,专为 IT 基础设施与业务资产管理而设计。其核心目标是解决大规模系统运维中资产信息混乱、配置分散、数据不一致等问题,统一资产管理与业务拓扑结构,提升运维效率。
Chemex 使用 Python 编写,前端基于 Vue.js,后端基于 FastAPI,采用异步高性能架构,支持灵活的插件机制和微服务部署,适用于中大型企业构建自己的配置管理数据库平台。
2、特点
-
现代化架构:
-
基于 FastAPI + Vue3 框架;
-
前后端分离、模块化设计,支持分布式部署。
-
-
多租户与权限系统:
-
支持多租户隔离;
-
内建 RBAC 权限管理,控制细粒度访问。
-
-
灵活的模型定义:
-
所有配置项(CI)可自定义;
-
支持字段、字段类型、关联关系灵活配置。
-
-
多数据源同步能力:
-
支持通过采集器从主机、云平台、自动化工具等获取资产数据;
-
支持通过插件编写自定义采集逻辑。
-
-
丰富的 API 接口:
-
所有核心操作均提供开放 API;
-
支持 Webhook 回调、与自动化平台联动。
-
-
二次开发友好:
-
插件式架构,支持业务自定义开发;
-
文档完善、代码清晰、注释详细。
-
3、使用场景
场景类型 | 描述 |
---|---|
资产管理 | 管理主机、网络设备、中间件、数据库等资源信息 |
拓扑管理 | 建立业务系统与底层资源的映射关系 |
变更管理 | 跟踪配置项的生命周期,记录变更日志 |
DevOps集成 | 与 CI/CD、Ansible、SaltStack 等平台对接,实现自动化管理 |
资源采集 | 同步来自 AWS、阿里云、Kubernetes 等平台的实时资源数据 |
权限控制 | 支持团队协作、不同角色的数据隔离与权限细分管理 |
4、部署数据库
docker run -d --name mysql-laravel -eMYSQL_ROOT_PASSWORD=rootpassword -eMYSQL_DATABASE=chemex -eMYSQL_USER=laravel -eMYSQL_PASSWORD=secret -p3306:3306 registry.cn-shanghai.aliyuncs.com/study-03/mysql:5.7
5、部署chemex
在本机新建目录存放laravel配置文件
mkdir /usr/local/chemex && cd /usr/local/chemex
拉取镜像
docker pull celaraze/chemex:latest
先建立一个空文件(此处容易踩坑)
如果不提前创建名为".env"的文件,,则在创建chemex容器时容器中会生成名为".env"的文件夹。
sudotouch .env
创建chemex容器
sudo docker run -itd--name chemex --restart=always -p8000:8000 -v /usr/local/chemex/.env:/var/www/html/laravel/.env celaraze/chemex:latest
从容器中拷贝环境配置文件/var/www/html/laravel/.env.example 到本机替换刚刚的空文件.env
sudo docker ps | grep chemex sudo docker cp fd45eafffd29:/var/www/html/laravel/.env.example ./ sudocp .env.example .env
按说明修改.env文件
一般只需要修改数据库的相关连接配置信息
### 第一步:数据库配置 #数据库类型,不需要修改(兼容mariadb) DB_CONNECTION=mysql # 数据库地址 DB_HOST=192.168.11.3 # 数据库端口号,mysql默认是3306 DB_PORT=3306 # 数据库名称,如果没有此数据库,后续会提示创建 DB_DATABASE=chemex # 数据库用户名 DB_USERNAME=laravel # 数据库密码 DB_PASSWORD=secret
重启chemex , 进入容器初始化
sudo docker restart chemex sudo docker exec -it chemex /bin/bash cd /var/www/html/laravel && php artisan chemex:install
访问,访问地址http://主机IP:8000
默认帐号密码都为admin