MySQL自动化运维工具
优采云 发布时间: 2020-08-10 22:07数据字典DDM:查看DB表结构和数组的,应用开发人员使用的,参考设计时
数据执行:写SQL句子的dml ,数据库人员给开发人员使用,执行句子、线上调试,发现数据问题,技术支持, 数据查看工具。ctrip和gd都有,phpMyAdmin
数据DDL表结构评审和管理:提交给DBA进行初审,一般是ddl句子,一个集初审、执行、备份及生成回滚句子于一身的MySQL自动化运维工具。DBA自己开发的一个工具,给开发人员使用。
====================
======================
Yearning SQL初审平台
MYSQL web端 SQL初审平台。
Website 官网
Feature 功能SQL初审推送用户权限及管理其他Install 安装及使用日志
使用及安装文档
=====================
Snapshot 效果展示
===============================
archer
基于inception的自动化SQL操作平台,支持工单、审核、定时任务、邮件、OSC等功能,还可配置MySQL查询、慢查询管理、会话管理等
目录开发语言和推荐环境
python3.4及以上
django1.8.17
mysql : 5.6及以上
linux : 64位linux操作系统均可
主要功能设计规范主要配置文件采取docker布署docker镜像制做谢谢@小圈圈 提供自动安装步骤环境打算安装python3,版本号>=3.4(由于须要更改官方模块,请使用virtualenv或venv等单独隔离环境!)
pip3 install virtualenv
virtualenv venv4archer --python=python3.4
安装所需相关模块
source venv4archer/bin/activate
pip3 install -r requirements.txt
pymysql模块兼容inception版本信息
使用src/docker/pymysql目录下的文件替换/path/to/python3/lib/python3.4/site-packages/pymysql/对应文件启动前打算创建archer本身的数据库表创建admin系统root用户(该用户可以登入django admin来管理model)
python3 manage.py createsuperuser启动,有两种方法
(1)用django外置runserver启动服务,建议不要在生产环境使用
bash debug.sh
(2)用gunicorn+nginx启动服务
安装模块pip3 install gunicorn==19.7.1
nginx配置示例
server{
listen 9123; #*敏*感*词*的端口
server_name archer;
proxy_read_timeout 600s; #超时时间与gunicorn超时时间设置一致,主要用于在线查询
location / {
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host:9123; #解决重定向404的问题
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /static {
alias /archer/static; #此处指向settings.py配置项STATIC_ROOT目录的绝对路径,用于nginx收集静态资源
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
启动bash startup.sh即将访问
使用前面创建的管理员帐号登入:port/login/其他功能集成在线查询settings中QUERY改为True到【后台数据管理】-【从库地址配置】页面添加从库信息到【后台数据管理】-【工作流配置】页面配置初审流程用户申请权限、审核通过后即可进行在线查询如须要使用动态脱敏,请将settings中DATA_MASKING_ON_OFF改为True,并且到【后台数据管理】-【脱敏配置】页面配置脱敏规则和数组慢日志管理settings中SLOWQUERY改为True安装percona-toolkit(版本=3.0.6),以centos为例
yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum -y install percona-toolkit.x86_64
使用src/script/mysql_slow_query_review.sql创建慢日志搜集表到archer数据库将src/script/analysis_slow_query.sh布署到各个监控机器,注意更改脚本上面的hostname="${mysql_host}:${mysql_port}"与archer主库配置信息一致,否则将难以筛选到相关记录SQLAdvisor优化工具安装SQLAdvisor,项目地址更改配置文件SQLADVISOR为程序路径,路径须要完整,如'/opt/SQLAdvisor/sqladvisor/sqladvisor'阿里云rds管理更改配置文件ALIYUN_RDS_MANAGE=True安装模块
pip3 install aliyun-python-sdk-core==2.3.5
pip3 install aliyun-python-sdk-core-v3==2.5.3
pip3 install aliyun-python-sdk-rds==2.1.1
在【后台数据管理】-【阿里云认证信息】页面,添加阿里云帐号的accesskey信息,重新启动服务在【后台数据管理】-【阿里云rds配置】页面,添加实例信息,即可实现对阿里云rds的进程管理、慢日志管理admin后台加固,防暴力破解patch目录下,名称为django_1.8.17_admin_secure_archer.patch使用命令
patch python/site-packages/django/contrib/auth/views.py django_1.8.17_admin_secure_archer.patch
集成ldap更改配置文件ENABLE_LDAP=True,安装相关模块,可以启用ldap帐号登入,以centos为例
yum install openldap-devel
pip install django-auth-ldap==1.3.0
如果使用了ldaps,并且是自签名证书,需要打开settings中AUTH_LDAP_GLOBAL_OPTIONS的注释settings中以AUTH_LDAP开头的配置,需要按照自己的ldap对应更改系统体验
点击体验
角色帐号密码
管理员
archer
archer
工程师
engineer
archer
审核人
auditor
archer
DBA
dba
archer
部分问题解决办法查看错误日志
/tmp/default.log & /tmp/archer.err
页面款式显示异常
用户管理
SQL上线
检测SQL报错
无法生成回滚句子
脱敏规则未生效
规则类型规则脱敏所用的正则表达式,表达式必须分组,隐藏的组会使用****取代须要隐藏的组规则描述
手机号
(.{3})(.*)(.{4})
2
保留前三后四
*敏*感*词*号码
(.*)(.{4})$
2
隐藏后四位
银行卡
(.*)(.{4})$
2
隐藏后四位
邮箱
(.*)@(.*)
2
去除后缀
审核人看不到查询权限申请待初审工单
查询权限申请待办列表被隐藏至右上角的消息图标中,当有待初审信息时会显示图标,可以步入查看待办数据
慢日志不显示
定时任务未执行