一 【介绍】
github:https://github.com/hhyo/Archery
Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作。
二【部署】
下载 Releases文件,解压后进入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 #重启服务 docker restart archery #日志查看和问题排查 docker logs archery -f --tail=10 logs/archery.log |
---|
三 【功能清单】
四 【插件处理】 4.1 数据库慢日志插件 服务器搭建数据库mysql处理方法:
Archery不能自动的去收集慢查询,需要手工部署脚本。根据github上的文档去做如下:
1 执行创建表的脚本,在archery数据库创建两张关于收集慢查询信息的表:mysql_slow_query_review和mysql_slow_query_review_history
创建数据库:
路径:/opt/archery/src/init_sql/mysql_slow_query_review.sql
pt工具脚本执行:
路径:/opt/archery/src/script/analysis_slow_query.sh
复制脚本里的SQL,在archery 关联的mysql中执行
2 到目标库即需要查看慢日志的服务器上部署pt工具。
安装pt工具
下载 wget https://www.percona.com/downloads/percona-toolkit/3.0.12/binary/redhat/6/x86_64/percona-toolkit-3.0.12-1.el6.x86_64.rpm 安装 yum install -y percona-toolkit-3.0.12-1.el6.x86_64.rpm 命令默认就在/usr/bin/pt-query-digest下 |
---|
修改脚本
#!/bin/bash #配置Archery数据库的连接地址 #被分析实例的慢日志位置,建议定期清理日志文件,否则会影响分析效率 #pt-query-digest可执行文件路径 #被分析实例的连接信息 #获取上次分析时间,初始化时请删除last_analysis_time_$hostname文件,可分析全部日志数据 #收集日志 if [[ $? -ne 0 ]]; then |
---|
调整定时任务触发pt工具同步至archery
crontab -e
3.rds数据库同步
3.1阿里云官方有提供对接,直接填写ak/sk key即可。
3.2其他云数据库,比如华为云/腾讯云等,
方法1:可以自己修改源码slowlog.py 里面对应的sdk,同步数据库慢日志。
方法2:通过获取华为云数据库慢日志api接口,获取到慢日志文件,在通过PT工具同步至archery.