Archery为SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能。
(1)下载archery软件
https://github.com/hhyo/archery/releases/
下载Latest Source Code版本
(2)下载docker-compose
https://github.com/docker/compose/releases
下载Latest "docker-compose-linux-x86_64"
将下载的软件上传到archery服务器/usr/local/bin下
mv docker-compose-Linux-x86_64 docker-compose
chmod 755 docker-compose
查看安装是否成功:
docker-compose -version
(3)安装archery
上传下载的archery到服务器
unzip Archery-1.8.5.zip
解压的目录需有足够的空余空间,mysql等元数据在这个目录下
cd Archery-1.8.5/src/docker-compose
docker-compose.yml中含有各种配置配置信息、密码等
#启动
docker-compose -f docker-compose.yml up -d
#表结构初始化
docker exec -it archery bash
cd /opt/archery
source /opt/venv4archery/bin/activate
python3 manage.py makemigrations sql
python3 manage.py migrate
#数据初始化
python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql
#创建管理用户并设置密码
python3 manage.py createsuperuser
#重启服务
docker restart archery
(4)访问archery
archery默认端口为9123
http://172.16.80.56:9123/dashboard/
(1)添加资源组
建议将开发数据库、测试数据库、正式数据库划分到不同资源组里,后期方便管理
【系统管理】--【资源组管理】--【添加组】
(2)添加实例
【实例管理】--【实例列表】--【添加实例】
MySQL实例(需开binlog):
oracle实例(需开归档):
不管是oracle还是mysql实例,均需选择资源组和实例标签,否则普通用户无法操作实例
(3)添加组
这里的组类似角色
【系统管理】--【其他配置管理】--【权限组管理】--【增加 组】Owner
将所有sql | permission权限给Owner组,保存即可
(4)添加用户
【系统管理】--【其他配置管理】--【用户管理】--【增加 用户管理】
选中刚创建的Owner组
选中资源组(这样才能对资源组中的实例操作)
保存即可
(5)系统设置
【系统管理】--【配置项管理】--【系统设置】
注意:GO_INCEPTION_HOST和BACKUP_HOST均为archery主机,mysql端口和root密码等配置可见
docker-compose.yml
开启【钉钉Webhook通知】
(6)配置工单审核流
【系统管理】--【配置项管理】--【工单审核流配置】
选择工单类型和资源组
(1)SQL审核
【SQL审核】--【SQL上线】--【+提交SQL】
可以进行【SQL检测】(无需审核)和【SQL提交】(需要DBA用户和PM用户审核),待审核通过即可执行此SQL
(2)SQL查询
【SQL查询】--【在线查询】