上一篇文章《SQL审计平台(三)Archery平台之数据源配置》介绍了数据源实例的配置,这篇文章我们来介绍下Archery平台上对mybatis xml文件里面的sql进行分析。
对于sql分析来说,经常我们在sql审计或者sql优化的时候,会着重对团队内部写的sql进行分析。这是一个非常必要的环节,这里我们看看自动化sql审计平台的sql分析是怎么做的。下面演示下详细配置sql。
一、安装go的环境变量
这个Archery平台目前仅仅是继承了sql分析的功能,但是对于sql分析来说,还是要专业的事情使用专业的工具来操作。所以这里我们需要使用到小米的soar进行分析,因此第一步我们需要安装一个go的环境,这里可以参考《Centos安装golang环境教程》。
备注:
1、案例里面的文章go环境变量是安装在centos里面的,我们在前面使用的archery是使用docker部署的,因此我们需要把这个的go环境变量安装到Archery的docker实例里面去。
二、安装soar
对于soar的安装非常简单,他就是一个二进制的可执行文件,我们把他下载下来后放在某个地方并且授予777权限即可。
1)首先下载soar
这里可以在github上下载,也可以从这里下载:soar下载
wget https://github.com/XiaoMi/soar/releases/download/0.11.0/soar.linux-amd64
2)给soar重命名
mv soar.linux-amd64 soar
3)授权777权限
chmod 777 soar
以上我们的soar就安装好了。
备注:
1、这里还是一样,我们要把soar安装到Archery的docker实例里面去。
三、登录Archery平台,配置soar
1、登录上Archery平台
2、点击左侧的系统管理->配置项管理
3、往下拉,可以看到SQL优化的部分,我们把刚才安装的soar路径填入进去
备注:
1)这里的路径需要是archery docker实例里面的路径,也就是archery平台要能访问到这个soar。
4、点击保存
修改完了之后,我们就保存即可。
四、分析mybatis文件
1、点击左侧菜单的sql审核->sql分析
在这里我们就可以实现对mybatis xml文件进行sql分析,点击选择,我们可以上传一个xml文件,然后右边选择对应xml文件可以执行的mysql实例及对应的库。
可以看到我们上传了一个mybatis的xml文件,下面会自动给我们列举出对应的sql语句,此时我们点击右侧的开始分析按钮,然后就可以看到右侧增加了一列分析报告。
随便点击一条分析报告查看,可以看到由于屏幕大小的问题导致显示不完全。
此时我们可以选择另外一种查看方式,就是点击列表左侧的+号
点击后,我们就可以完整的看到对每一条sql语句的分析结果。
然后按照这个样子挨个进行优化即可。
以上就是使用Archery平台对mybatis文件进行优化的案例,功能非常强大。
备注:
1、这里不只是可以上传mybatis的xml文件,还可以直接上传xxx.sql文件,例如我们把sql语句放在某个xxx.sql文件中,上传后也能得到一样的结果。
还没有评论,来说两句吧...