基于centos6+python3.6+django2+ansible2.4+celery4.2 运维管理系统,目前实现功能:用户和用户组管理、资产管理、集成ansible2.4、简易堡垒机(主机分配支持rdp以及vnc、用户分配、文件上传下载、配置禁用命令清单、操作录像回放功能)、CI/CD(支持git仓库和svn仓库)、数据库管理(一部分)、celery任务编排、知识库及文件共享
ops
基于centos6+python3.6+django2+ansible2.4+celery4.2 运维管理系统-开发中,目前实现功能:用户和用户组管理、日程管理、资产管理、集成ansible、简易堡垒机(主机分配(支持Linux和Windows)、用户分配、文件上传下载、配置禁用命令清单、操作录像回放功能)、数据库管理(一部分)、CI/CD(支持git仓库和svn仓库)、celery任务编排、基于markdown编辑器的知识库支持实时预览和全局搜索结果高亮和文件共享中心4.24更新
资产管理新增了阿里云主机自动拉取入库功能,像其他腾讯云、华为云等实现方法都差不多就没一一实现,本来想写一些关于docker管理的东西,但感觉没什么实际应用场景,现在 k8s 编排这么流行,就没写,不过在我的博客文章中 django实现web端登录docker 简单的写了下web端登录docker容器的方法,然后这篇文章 docker 配置远程加密调用 描述了如何开启docker远程调用
无耻的推一波我的博客:https://www.poorops.com/
自动拉取阿里云主机实现方法参考 https://github.com/opendevops-cn/codo-cmdb/blob/master/libs/aliyun/rds.py
安装
一、安装python3.6建议安装虚拟环境,具体步骤参考
二、安装模块
git clone https://github.com/pythonzm/Ops.git pip install -r requirements.txt
// 因为django-celery-results的pip包与github上不一致,所以使用下面方法安装 pip install https://github.com/celery/django-celery-results/zipball/master#egg=django-celery-results
三、安装mysql 建议MySQL5.6,安装过程略
vim /etc/my.cnf 设置字符集
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_c init_c character-set-server=utf8 collation-server=utf8unicodeci skip-character-set-client-handshake
忽略大小写
lowercasetable_names=1
/etc/init.d/mysqld restart
mysql -uroot -p
mysql>create database ops DEFAULT CHARACTER SET utf8 COLLATE utf8generalci; mysql>grant all privileges on ops.* to root@'%' identified by 'password'; mysql>quit
四、安装redis(略)
五、安装mongodb(略)
六、配置celery后台运行,或查看官网
cp conf/celeryd.conf /etc/default/celeryd 将配置文件里的内容按照实际情况更改
cp conf/celeryd.server /etc/init.d/celeryd cp conf/celerybeat.server /etc/init.d/celerybeat /etc/init.d/celeryd start ##如果出现celeryd无法启动,则添加环境变量:export CFORCEROOT="true" /etc/init.d/celerybeat start
七、配置获取主机内存脚本
cp conf/get_mem.py /path/to/your ansible python module location ##可以使用ansbile --version命令查看路径
八、安装Guacamole用于支持web端登录Windows服务器以及开启VNC的服务器(可选)
安装步骤建议参考官方文档:
九、启动服务
需要将Ops目录中的settings.py celery.py按照实际情况更改
python manage.py makemigrations users assets dbmanager fort plan projs task wiki python manage.py migrate python manage.py createsuperuser python manage.py runserver 0.0.0.0:8000
以下为部分截图:
系统操作日志
用户管理
日程管理
参考:https://github.com/RobbieHan/sandboxOA
添加用户以及分配用户权限(采用的django自带的权限系统)等,用户组同理
资产概览
资产拉取
可以自动同步阿里云中的ECS,并同步至资产列表中,只写了阿里云的ECS同步,至于RDS等资产或其他像腾讯云、华为云的实现方式基本一致
实现方式参考:https://github.com/opendevops-cn/codo-cmdb

资产管理,需要关联的项目管理只完成了一部分
资产详细,CPU等信息可以通过收集按钮自动获取
资产监控
ansible执行模块
ansible执行playbook
ansible role编辑
webssh分配主机及用户、用户组
webssh终端,包括文件的上传下载
webssh操作记录回放
web端登录Windows服务器
登录日志查看
webssh命令查看
数据库用户管理,包括新增用户,修改用户,密码,权限
>数据库管理用户,该用户需要有grant option权限,并且只能授权该用户所拥有的权限
数据库执行命令
数据库操作记录
CI/CD项目配置
注意:如果是启动tomcat项目,启动命令需要加上nohup,由于ansible运行机制问题
CI/CD部署流程
CI/CD部署日志
自定义项目架构
celery任务编排
新增文章
文章详细
用到的一些开源产品
- 后端:
- 前端: