首页 > 其他分享 >使用docker-compose搭建数Archery据库审核平台并简单测试

使用docker-compose搭建数Archery据库审核平台并简单测试

时间:2024-09-20 18:25:08浏览次数:10  
标签:Archery compose goInception sql 审核 docker 据库 com

Archery是一个开源的数据库审核平台,在日常数据库操作中,可以对操作进行审核。

官网:

https://archerydms.com/

https://gitee.com/rtttte/Archery

目前有业务使用需求,先用docker-compose部署,后期考虑配置到k8s上。目前最新版本是v1.11.3

参考文档 https://archerydms.com/installation/docker/ 进行部署

docker-compose部署

首先下载代码

https://github.com/hhyo/Archery/tree/master/src/docker-compose

下载完成后,进入docker-compose文件

# 启动
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

# 退出容器
exit

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

使用docker-compose搭建数Archery据库审核平台并简单测试_sql

访问http://ip:9123

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_02

系统管理配置

参考官网 https://archerydms.com/configuration/

sql上线审核

此配置主要实现sql上线审核

使用docker-compose搭建数Archery据库审核平台并简单测试_docker_03

goInception配置¶ GO_INCEPTION_HOST¶ goInception的连接地址,用于MySQL审核执行,docker-compose启动的请配置为容器名,比如goinception,参考文档:https://github.com/hanchuanchuan/goInception

GO_INCEPTION_PORT¶ goInception的连接端口,默认4000

BACKUP_HOST¶ goInception的备份库链接HOST,用于页面展示回滚语句,和goInception配置文件config.toml内的backup_host保持一致

BACKUP_PORT¶ goInception的备份库链接端口,和goInception和配置文件config.toml内的backup_port保持一致

BACKUP_USER¶ goInception/Inception的备份库链接用户,和goInception和配置文件config.toml内的backup_user保持一致

BACKUP_PASSWORD

goInception的备份库链接用户,和goInception和配置文件config.toml内的backup_password保持一致

配置资源组

将用户和数据实例通过资源组绑定

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_04

添加Devops资源组,作为测试


配置用户

增加一个yangchao的用户,作为审核员

使用docker-compose搭建数Archery据库审核平台并简单测试_python_05

此时会进入django后台

使用docker-compose搭建数Archery据库审核平台并简单测试_python_06

配置DBA组,作为测试用户,添加全部权限

使用docker-compose搭建数Archery据库审核平台并简单测试_docker_07

配置资源组,加到devops中

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_08

添加数据库

添加需要管理的数据库,并分配权限

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_09

配置数据库实例信息

使用docker-compose搭建数Archery据库审核平台并简单测试_python_10

配置到资源组中,并配置上线和查询

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_11

配置工单审核

配置查询,上线,归档申请都由DBA组成员审批

使用docker-compose搭建数Archery据库审核平台并简单测试_docker_12

sql安查询权限

使用docker-compose搭建数Archery据库审核平台并简单测试_docker_13

SQL审核

现在模拟一般用户sql上线,提交sql审核通过过会上线

使用docker-compose搭建数Archery据库审核平台并简单测试_python_14

执行一条插入语句

insert into
  person(username, sex, email)
values(
    " stu001 ",
    " man ",
    " stu01 @qq.com")

使用docker-compose搭建数Archery据库审核平台并简单测试_docker_15

点击sql检测,没有问题的话,提交sql

使用dba的用户登录后,可以看到审核记录

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_16

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_17

点击审核通过,再点击立即执行 则sql语句上线

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_18

上线完成后,如有问题,则可以查看回滚sql,并回滚

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_19

sql查询

编写查询语句,只支持查询的语句

使用docker-compose搭建数Archery据库审核平台并简单测试_python_20

点击表,可以看到表结构

使用docker-compose搭建数Archery据库审核平台并简单测试_python_21

执行查询语句,显示查询结果

select
  *
from
  person;

使用docker-compose搭建数Archery据库审核平台并简单测试_sql_22

SQL优化

优化工具

能够按照一定的sql分析工作,对sql语句进行优化

使用docker-compose搭建数Archery据库审核平台并简单测试_docker_23

关于优化的说明可以参考文档

使用docker-compose搭建数Archery据库审核平台并简单测试_python_24

慢日志统计

测试数据库,没数据链看不到慢日志

使用docker-compose搭建数Archery据库审核平台并简单测试_docker_25

系统审计

在sql上线审计中,就能看到审核日志,工单等信息

使用docker-compose搭建数Archery据库审核平台并简单测试_python_26

总结

该平台十分强大,虽然很多云厂商都有云DBA功能,但是费用不低,这个数据库审核平台可以满足一般小公司的数据库审核,优化需要



标签:Archery,compose,goInception,sql,审核,docker,据库,com
From: https://blog.51cto.com/u_11555417/12067334

相关文章

  • 实战教程:Minio与etcd本地部署 + Milvus本地数据库配置(亲测成功)
    一.minio本地部署1.获取安装包wgethttps://dl.minio.io/server/minio/release/linux-amd64/miniowgethttps://dl.min.io/client/mc/release/linux-amd64/mcchmod+xminiochmod+xmc#命令移到系统路径直接调用命令cpminio/use/local/bincpmc/use/local/......
  • 时代变了,MySQL 早已不是最流行的数据库了
    以下文章来源于古时的风筝,作者风筝在StackOverflow上看到2024年技术趋势,关于数据库的部分,PostgreSQL是开发人员使用最多的数据库,超过MySQL了。虽然在国内好像不是这样。PostgreSQL在2018年的开发者调查中首次亮相,当时有33%的开发者正在使用它。而当年最受欢迎的还是MySQ......
  • python怎么创建数据库
    python怎么创建数据库?具体方法如下:import pymysql#数据库基本信息config = {          'host':'localhost',          'port':3306,          'user':'root',          'passwd':'root',          'db�......
  • Docker Compose 搭建 Redis 主从复制
    服务器状态IP PORTROLE192.168.142.1576379master192.168.142.1566390slave192.168.142.1556391slave02masterdocker-compose.ymlservices:redis-master:image:hub.atomgit.com/amd64/redis:7.0.13restart:alwayscontainer_name:redis-masterpr......
  • 数据库系统工程师简介(数据库系统工程师是什么?有什么用?考什么?)
    一、数据库系统工程师是什么数据库系统工程师,属于计算机技术与软件(中级)专业技术资格。通过本考试的合格人员能参与应用信息系统的规划、设计、构建、运行和管理,能按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库;作为数据管理员管理信息系统中的数据资源,作为数据库管理......
  • tp3.2.3 config配置多数据库
    //数据库配置1‘DB_CONFIG1’=array(‘db_type’=>‘mysql’,‘db_user’=>‘root’,‘db_pwd’=>‘1234’,‘db_host’=>‘localhost’,‘db_port’=>‘3306’,‘厅闹db_name’=>‘thinkphp’),//数据库配置2‘DB_CONFIG2’=>‘这样,设返悄置2个数据库......
  • 浅析OceanBase数据库的向量化执行引擎
    本篇博客是偏数据库系统概念性的内容,不会深入到OceanBase中各个算子和表达式的在向量化中的详细设计和实现。背景为了提升OceanBase社区版用户解决问题的效率,OceanBase官方不久前推出了《OceanBase从入门到实践》系列课程。在第七期直播课程后,我们收到了不少用户的提......
  • QT绘图模块与数据库的结合
    QT绘图模块与数据库的结合使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免......
  • 帝国CMS备份还原数据库出现错误的真正原因和处理办法
    帝国CMS备份还原数据库出现错误可能由多种原因引起。根据之前的知识,我们可以总结出一些常见的原因及相应的处理办法:常见错误原因数据库版本不兼容:如果数据库版本发生了变化,比如从较老的MySQL版本升级到较新的版本,可能会导致某些特性不再支持,从而引发错误。备份文件损坏......
  • 帝国cms连接数据库失败怎么解决
    帝国CMS连接数据库失败的问题可能是由于多种原因造成的。以下是一些常见的原因及相应的解决办法:常见原因及解决办法数据库配置错误:解决办法:检查帝国CMS的数据库配置文件(通常位于 /e/config/config.php),确认数据库服务器地址、用户名、密码和数据库名称是否正确。数据库......