Archery - SQL审核查询平台
[TOC]
快速部署
1.安装Docker CE
curl -sL 'http://iso.sqlfans.cn/docker/install_docker_2401.sh' | bash
sudo docker --version
- 安装python3.6(注:貌似不需要)
# 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
下载 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
- 退出docker并重启服务
exit
docker restart archery
6.访问地址
- 地址:http://127.0.0.1:9123/
- 账号:admin
- 密码:xxxxxx
附.查看日志
docker logs archery -f --tail=10
tail -n10 /data/archery/src/docker-compose/archery/logs/archery.log
- Archery 涉及的服务及端口
服务 | 端口 | 备注 |
---|---|---|
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
设置工单上线和查询的审批流程
项目提供简单的多级审批流配置,审批流程和资源组以及审批类型相关,不同资源组和审批类型可以配置不同的审批流程,审批流程配置的是权限组,可避免审批人单点的问题 -w1335
设置默认资源组和默认权限组
设置默认资源组和默认权限组,新用户第一次登录时会自动关联,可避免用户登录后出现403(未授权)的问题