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