SQL审核查询平台-Archery安装

·  阅读 3161

SQL 审核查询平台-Archery安装

在技术团队内部进行有效的 SQL 管理并不容易,如何进行数据库的统一管理,和线上 SQL 操作的统一审核,变得尤为重要。Archery,这个开源的 SQL 审核查询平台,或许能为 SQL 审核工作带来不小的效率提升。

一条高质量的 SQL 语句能使整个服务加速好几倍,而一条有问题的 SQL 则可能会引发灾难,造成严重后果,因此,数据库管理人员的工作就十分重要了,他们掌握着千百万数据的命运。

简介

Archery,是 hhyo 在 Github 上开源的 SQL 审核查询平台,项目位于 github.com/hhyo/Archer… Gitee 上开源,位于 gitee.com/rtttte/Arch…

测试站部署

测试环境介绍

服务器:centos7 
IP: 192.168.1.6
2C-16G-2T
复制代码

docker部署 下载了 Archery-1.7.13 解压.

cd src/docker-compose/
archery  docker-compose.yml  inception  mysql
复制代码

安装并且docker启动

如果有端口占用,需要修改 docker-compose.yml 里的文件端口,但是需要修改配置,宿主机最好不要占用这些端口

redis 端口:6379

mysql端口:3306

inception端口:6669

goinception端口:4000

archery端口:9123

# 启动
docker-compose -f docker-compose.yml up -d

生成了五个docker实例:redis inception archery goinception mysql
 
# 表结构初始化
docker exec -ti archery /bin/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

# 日志查看和问题排查
docker logs archery -f --tail=50
复制代码

访问

http://192.168.1.6:9123/

关闭docker服务

docker stop redis
docker stop inception
docker stop archery
docker stop goinception
docker stop mysql
复制代码

角色权限

default
DBA		数据库管理员(Database Administrator,简称DBA)
RD  研发(Research and Development)
PM 项目经理( Project Manager )
QA 测试(QUALITY ASSURANCE,中文意思是“质量保证”)

工作流:
RD-->DBA-->CTO(审批)
复制代码

工作流

功能说明

项目提供简单的多级审批流配置,审批流程和资源组以及审批类型相关,不同资源组和审批类型可以配置不同的审批流程,审批流程配置的是权限组,可避免审批人单点的问题

相关配置

在系统管理-配置项管理页面,可进行组工单审批流程的配置 对于SQL上线和SQL查询权限工单,如果用户拥有('sql_review', '审核SQL上线工单')、('sql_execute_for_resource_group', '执行SQL上线工单')、('query_review', '审核查询权限')权限,就可以查看到当前用户所在资源组的所有工单 工单待审核时,关联当前审批权限组、并且关联工单所在资源组的用户,均可查看审核工单(资源组隔离) 待办列表包含当前用户可审核的所有工单

image-20200908161641296

image-20200908162134653

正式站搭建

服务器环境介绍

服务器:centos7 
IP: 192.168.1.12
4C-8G-4T
复制代码

安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

/usr/local/bin/docker-compose -v
docker-compose version 1.24.1, build 4667896b
复制代码

导出镜像

docker images
REPOSITORY                                                     TAG                 IMAGE ID            CREATED             SIZE
docker.io/hanchuanchuan/goinception                            latest              84fa8c5e2832        43 hours ago        88.2 MB
docker.io/mysql                                                5.7                 d589ea3123e0        3 days ago          448 MB
docker.io/hhyo/archery                                         1.7.13              69dc37436859        9 days ago          2.03 GB
docker.io/redis                                                5                   f60d84d4d72c        4 weeks ago         98.3 MB

docker save 84fa8c5e2832 > /data/docker/backup/goinception.tar
docker save d589ea3123e0 > /data/docker/backup/mysql-5.7.tar
docker save 69dc37436859 > /data/docker/backup/archery.tar
docker save f60d84d4d72c > /data/docker/backup/redis.tar


-rw-r--r-- 1 root root 2.0G Sep  8 17:22 archery.tar
-rw-r--r-- 1 root root  87M Sep  8 17:20 goinception.tar
-rw-r--r-- 1 root root 433M Sep  8 17:20 mysql-5.7.tar
-rw-r--r-- 1 root root  98M Sep  8 17:22 redis.tar

复制代码

将docker镜像复制到正式

scp -P 60920  ./* root@192.168.1.12:/data/docker/backup/
恢复镜像
docker load < /data/docker/backup/archery.tar
# docker images
REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
<none>                                         <none>              69dc37436859        9 days ago          2.03 GB
打上tag
# docker tag 69dc37436859 docker.io/hhyo/archery:1.7.13

# docker images
REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
docker.io/hhyo/archery                         1.7.13              69dc37436859        9 days ago          2.03 GB
复制代码

按照以上的命令恢复其他镜像

# docker-compose -f docker-compose.yml up -d
Creating redis       ... done
Creating goinception ... done
Creating mysql       ... done
Creating inception   ... done
Creating archery     ... done

# 表结构初始化
docker exec -ti archery /bin/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

# 日志查看和问题排查
docker logs archery -f --tail=50
复制代码

访问,http://192.168.1.12:9123/ 下一篇文章讲解如何配置Archery

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

收藏成功!
已添加到「」, 点击更改