自动化运维管理平台,基于Django1.10,python2.7版本.
项目来源于各种环境版本的自动化发布;后来逐渐添加了堡垒机的部分功能如webssh自动连接服务器;数据库脚本的提交、审核;web监控与自定义服务监控;nginx日志的查询统计;业务系统的统计报表
django 1.10 + Mysql + Celery + Mongodb + GateOne.
集成GateOne, 服务器ssh连接,服务自动化部署,版本发布,任务管理与日志,数据库脚本执行,web监控,自定义服务监控,邮件发送,
nginx日志查询统计, 集成ansible执行shell命令, SSH公钥配置。
用户的管理使用了django的admin后台来创建与管理,用户权限通过用户组来分配权限。
安装依赖模块
pip install -r requirements.txt
修改配置文件configmodule.py:
通过配置NOVA_ENV环境变量来判断读取哪个环境对应的配置;
修改数据库连接DATABASES;
修改CELERY连接的Redis;
修改代码签出的svn用户名与密码;
ssh_key_password为'private_key'表示RunCmd使用公钥连接服务器;
修改GATEONE服务器地址, API_KEY, SECRET(生产环境API_KEY与SECRET尽可能配置复杂);
nodejs应用与tomcat应用暂时都统一安装到/u01目录下。
数据库迁移:
python manage.py migrate
创建admin用户:
python manage.py createsuperuser
启动应用:
python manage.py runserver 或者运行start_app.sh(linux)or start_app.bat(windows)
登陆admin后台创建普通用户,用户组,并赋予用户用户组的权限
配置GateOne:
修改20authentication.conf通过API接口调用GateOne:
"auth": "api",
修改10server.conf:
"origins": ["localhost:443", "127.0.0.1:443", "应用IP地址:应用端口号"],
修改30api_keys.conf:
"gateone": {
"api_keys": {
"配置文件configmodule.py中的GATEONE_API_KEY值": "配置文件configmodule.py中的GATEONE_SECRET值"
}
}
Django集成GateOne部分见views.py中host_connect与get_auth_obj
运行app:
python manage.py runserver 0.0.0.0:端口号
运行celery worker:
celery -A nova worker --loglevel=info
运行celery beat:
celery -A nova beat
Celery定时任务在setting中的CELERYBEAT_SCHEDULE进行配置
发送邮件的配置在表nova_mail中进行配置
shell命令集成ansible.
附件目录attachment下的文件如jdk,tomcat,nodejs,ant等因为太大没有上传到github
服务器列表,可以执行命令
使用ansible批量执行命令,查看结果
超级用户拥有配置SSH公钥权限
一键配置SSH公钥,并验证配置结果
应用从svn初始化部署,目前是从svn直接部署
部署的应用列表
应用列表中点击应用名称查看对应环境的配置文件与添加
点击新增配置文件,配置各配置文件的SVN路径,并上传配置文件
点击配置文件名称,可以查看增配置文件内容,并支持在线修改
SQL提交
SQL审核
WEB监控
监控历史曲线图
自定义服务监控
操作任务列表
操作任务日志
附件上传至阿里云OSS存储
服务器文件下载
nginx访问日志查询统计,支持单项条件与组合条件查询(使用多进程每天定时处理nginx日志并存储至Mongodb)
nginx访问日志查询统计
添加用户组
给用户赋权限
点击连接其他linux服务器
跳转到该linux服务器的webssh界面(GateOne)
自动登陆到该linux服务器
地图数据实时展示
有任何问题,欢迎用以下联系方式交流,谢谢。
QQ:9684439