# cmdb **Repository Path**: no-language/cmdb ## Basic Information - **Project Name**: cmdb - **Description**: 基于Django的CMDB平台,多云环境主机管理结合jenkins打通CI/CD部署交付 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: http://opsbase.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 55 - **Created**: 2025-01-20 - **Last Updated**: 2025-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cmdb管理系统 ## 环境 ![Python](https://img.shields.io/badge/python-3.9-blue.svg?style=plastic) ![Django](https://img.shields.io/badge/django-3.2.9-blue.svg?style=plastic) ![DRF](https://img.shields.io/badge/djangorestframework-3.12.4-blue.svg?style=plastic) ![Simpleui](https://img.shields.io/badge/simpleui-3.0-brightgreen.svg?style=plastic) ![vue-element-admin](https://img.shields.io/badge/vue--element--admin-4.0-green.svg?style=plastic) ## 开发语言与框架 ```text 前端Web框架: vue-element-admin 后端Web框架: Django REST framework 后端Task框架:Celery + Redis ``` ## 功能说明 ![cmdb](http://assets.processon.com/chart_image/60a63cd30791296d60a5b88b.png) **action** : - 支持ldap认证登录 - 基于rbac角色权限管理 - ssh密码和sshkey方式web终端访问 - 结合cmdb+jenkins自动发布 - 容器化 ## simpleui admin后台模板 ![simpleui](uploads/image/simpleui.png) ## 资产管理 ### ssh ![ssh](uploads/image/ssh.jpg) ### 主机列表 ![host](uploads/image/host.png) ### webssh ![webssh](uploads/image/webssh.png) ## 应用发布 ### 发布流程 ![cmdb-deploy](uploads/image/cmdb-deploy.png) ### 应用配置登记 ![app](uploads/image/app.png) ### cmdb数据 + Jenkins + python发布脚本 ![jenkins](uploads/image/jenkins.png) ![jenkins-demo](uploads/image/jenkins-demo.png) ## Docker部署 ### 快速部署 ```bash docker run --name cmdb \ -d -p8000:8000 \ -e DB_NAME='cmdb' \ -e DB_HOST='66.94.1.1' \ -e DB_PASSWORD='123456' \ -e REDIS_HOST='192.168.0.110' \ lghost/cmdb # 启动容器 ``` ### 引用数据库,redis,ldap参考 ```bash docker run --name cmdb \ -d -p8000:8000 \ -e DB_NAME='cmdb' \ -e DB_HOST='192.168.0.102' \ -e DB_PASSWORD='123456' \ -e DB_PORT=3306 \ -e REDIS_HOST='192.168.0.30' \ -e REDIS_PWD='123456' \ -e REDIS_PORT=6379 \ -e AUTH_LDAP_SERVER_URI='ldap://opsbase.cn' \ -e AUTH_LDAP_BIND_DN='cn=admin,dc=opsbase,dc=cn' \ -e LDAP_ADMIN_PASSWORD='123456' \ lghost/cmdb docker exec -it cmdb sh # 登录 tail logs/access.log -f # 查看日志 ``` > 需要先建库 ### 初始化导入默认数据 ```bash docker exec -it cmdb python init.py ``` ### 登录账号 ```text http://127.0.0.1:8000 visitor / 123456 admin / 123456 test / 123456 ``` ### 其他接口地址 > http://127.0.0.1:8000/admin > http://127.0.0.1:8000/swagger/ > http://127.0.0.1:8000/docs > http://127.0.0.1:8000/prometheus/metrics ### Jenkins CI 生成主机选项 ```bash python utils/get_application_cluster_ip.py Pro.GM.zsj.web-game ``` ```text [pro-skyvpn-jar-web1]-192.168.1.124 [pro-us-host2]-192.168.1.1 [pro-hk-host1]-192.168.0.30 ``` ## Demo >visitor / 123456 ---- 扫码加入 **运维大本营** ![qq](uploads/image/qq.png) ## License 项目基于 GPLv3 协议, 详细请参考 [LICENSE](LICENSE) 。