【SQL 审核查询平台】Archery使用介绍

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【SQL 审核查询平台】Archery使用介绍

【SQL 审核查询平台】Archery使用介绍

界面截图

image.png

功能清单

image.png

依赖清单

框架

  • Django
  • Bootstrap
  • jQuery

前端组件

  • 菜单栏 metisMenu
  • 主题 sb-admin-2
  • 编辑器 ace
  • SQL美化 sql-formatter
  • 表格 bootstrap-table
  • 表格编辑 bootstrap-editable
  • 下拉菜单 bootstrap-select
  • 文件上传 bootstrap-fileinput
  • 时间选择 bootstrap-datetimepicker
  • 日期选择 daterangepicker
  • 开关 bootstrap-switch
  • Markdown展示 marked

服务端

  • 队列任务 django-q
  • MySQL Connector mysqlclient-python
  • MsSQL Connector pyodbc
  • Redis Connector redis-py
  • PostgreSQL Connector psycopg2
  • Oracle Connector cx_Oracle
  • MongoDB Connector pymongo
  • Phoenix Connector phoenixdb
  • ODPS Connector pyodps
  • ClickHouse Connector clickhouse-driver
  • SQL解析/切分/类型判断 sqlparse
  • MySQL Binlog解析/回滚 python-mysql-replication
  • LDAP django-auth-ldap
  • 序列化 simplejson
  • 时间处理 python-dateutil
  • 功能依赖
  • 可视化 pyecharts
  • MySQL审核/执行/备份 goInception|inception
  • MySQL索引优化 SQLAdvisor
  • SQL优化/压缩 SOAR
  • My2SQL my2sql
  • 表结构同步 SchemaSync
  • 慢日志解析展示 pt-query-digest|aquila_v2
  • 大表DDL gh-ost|pt-online-schema-change
  • MyBatis XML解析 mybatis-mapper2sql
  • RDS管理 aliyun-openapi-python-sdk
  • 数据加密 django-mirage-field
  • 贡献代码

部署

准备运行配置

具体可参考:github.com/hhyo/Archer…

启动

下载 Releases文件,解压后进入docker-compose文件夹 如果网络受限可访问码云地址: gitee


#启动
docker-compose -f docker-compose.yml up -d
#表结构初始化
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=10
logs/archery.log

访问

http://127.0.0.1:9123/

修改配置项

image.png

配置项说明

基础设置

添加实例

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

image.png

添加资源组

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

image.png

资源组关联用户/实例

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

image.png

添加权限组

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

image.png

用户关联权限组/权限

用户所拥有的权限=用户所在权限组的权限+给用户单独分配的权限

image.png

设置工单上线和查询的审批流程

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

image.png

设置默认资源组和默认权限组

可在系统配置中进行修改,详见 配置项说明

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


相关文章
|
8天前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
56 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
6天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
15天前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
31 8
|
21天前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
42 4
|
24天前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
|
1月前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
98 10
|
29天前
|
SQL 关系型数据库 MySQL
|
2月前
|
SQL 数据库 开发者
功能发布-自定义SQL查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
|
2月前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
1月前
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
31 0