• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

运维工具《链喵 CMDB》

CMDB eryajf 3个月前 (07-07) 1002°C 已收录 0个评论
本文预计阅读时间 8 分钟

1,介绍。

项目中文名:链喵

项目英文名:chain

linux 云主机 管理系统,包含 CMDB 系统,webssh 登录、命令执行、异步执行 shell/python/yml、查看日志、定时任务等功能。

重要通知:因本人工作原因,本项目就此完结。之后不提供更新和维护。 2018-6-1

交流群号: 620176501

2,DEMO。

http://47.104.140.38:8001

  • 账号 admin
  • 密码 1qaz.2wsx

3,目录结构。

  • asset 资产
  • api asset/api/asset.html
  • chain 主配置目录
  • crontab 定时任务
  • data 测试数据/Dockerfile 目录
  • index 首页及用户处理
  • tasks 任务
  • name 系统用户 | 组 | 权限
  • static css | js
  • templates 静态模板
  • webssh 终端 ssh 登录 参考的 https://github.com/huashengdun/webssh 此项目

4,权限。

关于权限,采用的为 django-guardian 对象权限 和 django 自带 auth 权限 相结合。

举个例子:

  • 新建一个资产项目 [运维] 新建一个资产 [web01] 和 资产用户 [web01-root] 分配到 [运维] 项目下
  • 新建一个用户 [hequan] , 将 [hequan] 分配到用户组 [ops].
  • 系统用户–组对象权限 | 添加 对象类型:[资产项目] 资产项目:[运维] 组:[ops] 权限:[asset | 资产项目 | 只读资产项目]
  • [ hequan ] 获得 [web01] [web01-root] [运维] 可读权限
  • 小权限分 5 类: [可读 添加(没用到) 修改 删除 执行(后面用来执行 cmd 和工具)]
  • [admin] 默认有所有权限
  • 如果想让 [hequan] 有添加资产权限, 选择 系统用户 — 用户或者组 选择 Can add 资产管理
  • 普通用户 无权限 管理系统用户 和 登录后台

5,环境。

前端模板:

  • INSPINIA 2.7.1

后端:

  • django==2.0.5

  • Python 3.6.5

运行环境:

  • 阿里云 Centos 7.5

数据库:

  • 目前开发阶段 用的 sqlite3,可无缝切换为 mysql

6,部署。

1,下载源码。

git clone https://github.com/hequan2017/chain.git

2,修改 chain/settings.py。

web_ssh = "47.104.140.38"    ##修改为本机外网 IP
web_port = 8002

3,一些操作。

mkdir /etc/ansible/
cd chain/

yum  install   sshpass  bzip2  redis   -y
systemctl start redis
pip3   install -r   requirements.txt

cd /tmp/
wget https://files.pythonhosted.org/packages/12/2a/e9e4fb2e6b2f7a75577e0614926819a472934b0b85f205ba5d5d2add54d0/Twisted-18.4.0.tar.bz2
tar xf Twisted-18.4.0.tar.bz2
cd Twisted-18.4.0
python3 setup.py install


cd  chain/
python3     manage.py   makemigrations
python3     manage.py   migrate

python manage.py  shell
from  name.models import Names
user=Names.objects.create_superuser('admin','hequan@chain.com','1qaz.2wsx')
exit()

python3   manage.py runserver 0.0.0.0:80

python3    webssh/main.py    ##启动终端登录功能

celery   -A  chain  worker  -l  info
celery   -A  chain  beat  -l  info

4,报错解决。

如果遇到报错 ImportError: No module named '_sqlite3' ,可以执行下面的操作

yum -y install sqlite-devel

重新编译 python3.6.5

想在 windows 环境下运行,请注释 tasks/views.py  以下两行

from   task.ansible_2420.runner import AdHocRunner
from   task.ansible_2420.inventory import BaseInventory

7,docker 部署。

可以参考 data/dockerfile-* 文件部署。

/opt
    chain
    password.sh
    dockerfile-chain
    dockerfile-python3
    supervisord.conf


cd /opt
mv  /opt/chain/data/dockerfile-python3   .
mv  /opt/chain/data/dockerfile-chain   .
mv  /opt/chain/data/supervisord.conf  .
mv  /opt/chain/data/password.sh  .


修改 password.sh 里面的密码

docker build  -t python3.6.5  -f dockerfile-python3    .
docker build  -t chain   -f dockerfile-chain  --build-arg  ip='47.104.140.38'  .

docker  run  -itd  --name chain   -p 8001:8001  -p 8002:8002    chain

docker  exec  -it   chain /bin/bash

8,截图展示。

9,源码地址。

chain

by:hequan.


二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明运维工具《链喵 CMDB》
赞赏
喜欢 (1)or
[如果想支持本站,可支付宝赞助]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮