Archery - SQL审核查询平台
快速部署
1.安装Docker CE
curl -sL 'http://iso.sqlfans.cn/docker/install_docker_2401.sh' | bash
sudo docker --version
# sudo yum install -y python36
# sudo amazon-linux-extras list | grep python
# sudo amazon-linux-extras install -y python3
sudo python -V
2.安装docker-compose
curl -sL 'http://iso.sqlfans.cn/docker/install_docker_compose_2181.sh' | bash
sudo docker-compose --version
3.下载并启动archery
cd /data/
wget -c http://iso.sqlfans.cn/linux/Archery-1.8.5.zip
unzip Archery-1.8.5.zip
mv Archery-1.8.5 archery
- 启动 archery(确认宿主机请勿占用这些端口)
cd archery/src/docker-compose
cat docker-compose.yml
docker-compose -f docker-compose.yml up -d
- 2022.05.28(aws环境)若启动 archery 报错
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running? 可尝试如下:
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
newgrp docker
4.表结构及数据初始化
docker exec -ti archery /bin/bash
cd /opt/archery
cat /etc/nginx/nginx.conf | grep 9123
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
5.创建管理用户
python3 manage.py createsuperuser
账号:admin
邮箱:78667417@qq.com
密码:xxxxxx
exit
docker restart archery
6.访问地址
附.查看日志
docker logs archery -f --tail=10
tail -n10 /data/archery/src/docker-compose/archery/logs/archery.log
| 服务 |
端口 |
备注 |
| redis |
6379 |
xxx |
| mysql |
3306 |
xxx |
| inception |
6669 |
xxx |
| goinception |
4000 |
xxx |
| archery |
9123 |
xxx |
基础配置

添加实例
- 实例类型分为主库/从库,支持:MySQL/MsSQL/Redis/PostgreSQL/Oracle/MongoDB/Phoenix/ODPS/ClickHouse等
- 资源组:实例都需要关联资源组,才能被关联资源组的用户访问
- 实例标签:通过支持上线、支持查询的标签来控制实例是否在SQL上线/查询中显示,要使用上线和查询的实例需要关联标签

添加资源组
- 资源组是一堆资源对象的集合,与用户关联后用来隔离资源访问权限,一般可以按照项目组划分

资源组关联用户/实例
- 用户必须关联资源组才能访问资源组内的实例资源 - 关联对象管理可以批量关联实例和用户 - 在添加用户和实例的时候也可以批量关联资源组

添加权限组
- 权限组是一堆权限的集合,类似于角色的概念,工作流的审批配置就是配置的权限组 - 权限组可以按照角色来创建,比如DBA、工程师、项目经理,目前系统初始化数据中会提供五个默认权限组,也可自由分配权限 - 仅[sql|permission]开头的权限是控制业务操作的权限,其他都是控制Django管理后台的权限,与业务无关,可不分配

用户关联权限组/权限
- 用户所拥有的权限=用户所在权限组的权限+给用户单独分配的权限 -w1173

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

设置默认资源组和默认权限组
- 设置默认资源组和默认权限组,新用户第一次登录时会自动关联,可避免用户登录后出现403(未授权)的问题