Archery初探

1.基本介绍

Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作。

2.功能清单

在这里插入图片描述

3.docker方式安装

详见链接
docker 安装Archery
3.1安装 Docker

curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh

3.2安装 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

3.3准备运行配置
备注:
docker-compose.yml文件内的services可按照本身的运行环境来调整,同时注意检查版本号是否正确,比如说外部已经装好了mysql、redis、inception,就可以将对应的services删除,但是需要注意修改settings.py文件的相关配置
路径:Archery-1.8.3/src/docker-compose/archery/settings.py

因为我本地有redis 和mysql。
故删除了docker-compose.yml services配置下的redis 和mysql镜像配置。
同时 settings.py中做出了调整。

# 该项目本身的mysql数据库地址
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'archery',
        'USER': '本地用户名',
        'PASSWORD': '本地密码',
        'HOST': '本地mysql',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            'charset': 'utf8mb4'
        },
        'TEST': {
            'NAME': 'test_archery',
            'CHARSET': 'utf8mb4',
        },
    }
}

# Django-Q
Q_CLUSTER = {
    'name': 'archery',
    'workers': 4,
    'recycle': 500,
    'timeout': 60,
    'compress': True,
    'cpu_affinity': 1,
    'save_limit': 0,
    'queue_limit': 50,
    'label': 'Django Q',
    'django_redis': 'default',
    'sync': False  # 本地调试可以修改为True,使用同步模式
}

# 缓存配置
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://本地redisIp:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "PASSWORD": "本地密码"
        }
    },
    "dingding": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://redis:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "PASSWORD": "123456"
        }
    }
}

启动
下载 Releases文件,解压后进入docker-compose文件夹

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

注:上面的操作可能会出现
Failed to Setup IP tables: Unable to enable SKIP DNAT rule异常。
原因:在对 linux 的防火墙进行操作之后,需要重启 docker
解决办法:service docker restart

# 表结构初始化
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://127.0.0.1:9123

备注: 优化工具设置

#Archery 
1 利用美团SQLAdvisor对收集的慢日志进行优化,一键获取优化建议
    相关配置
    安装SQLAdvisor,docker镜像已包含
    在系统管理-配置项管理中修改SQLADVISOR为程序路径,路径需要完整,docker部署的请修改为'/opt/archery/src/plugins/sqladvisor'
    
2 SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化工具。 由小米人工智能与云平台的数据库团队开发与维护
    相关配置
    在系统管理-配置项管理中修改SOAR_PATH为程序路径,路径需要完整,docker部署的请修改为'/opt/archery/src/plugins/soar'
    修改SOAR_TEST_DSN为测试环境连接信息

详细使用说明 详见维基
archery 使用说明

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值