如何用SQLE自动审核Java应用

今日头条

1144人已加入

描述

作者:孙健、张强

孙健,爱可生研发工程师,负责 SQLE 相关开发;张强:爱可生研发中心成员,后端研发工程师,目前负责 DMP 产品 Redis 相关业务开发。

一. SQLE 介绍

SQLE 是一款由爱可生开源社区发起,面向数据库开发与管理人员,实现了 SQL 的「开发」-「测试」-「上线」等全流程覆盖,资源与权限精细化管理,兼顾简洁与高效,易维护、易扩展的的开源项目,旨在为用户提供一套的安全可靠、自主可控的 SQL 质量管控方案。

在二月份发布的 1.2202.0 版本中:

改造了用户系统,新增用户组和操作权限;

增加对工单审核结果进行评分的功能;

增加审核任务,支持 MySQL 的库表结构、Oracle 的 TopSQL以及 Java 应用的 SQL 抓取和审核;

增加了 Db2 审核插件,支持 Db2 审核工单并上线;

新增了 37 条 MySQL 审核规则,如检查 DDL 是否创建了冗余的索引;

其他体验优化和 Bug 修复。

二. Java 应用审核介绍

(友情提示:此为企业版功能)考虑到很多用户在实际生产中已经部署了大量的、以 Java 为基础的应用和服务,并且某些已经涉及到了极其重要、不可中断的核心业务。从 1.2202.0 版本开始,SQLE 开始支持 Java 应用的 SQL 审核。并且在完成核心功能的基础上,支持 Java 应用零成本接入 。

SQLE 的 Java 审核特性如下:

支持无侵入式的业务集成,用户可以直接以环境变量的方式运行来启动 Java 应用,直接接入 SQLE 而无需修改 Java 业务代码,减少了用户接入成本;

支持应用 SQL 的自动采集和统计,用户可以在 SQLE 上通过语句池页面统览应用内的 SQL 的分类与统计,迅速掌握应用内 SQL 的情况;

支持手动或自动审核 SQL ,用户可以在审核报告中知晓应用的 SQL 是否符合预设的审核规则,无论是开发人员还是 DBA 都能实时了解正在运行的业务 SQL 执行状况。

三. 效果展示

1. 事先部署好环境、需要接入的 Java 应用以及对应的数据库,并添加为数据源。为了演示,此处 Java 项目为 https://gitee.com/surveyking/surveyking ;

2. 创建 Java 应用的审核任务;

开源

3. 启动应用程序;

SQLE_COLLECT_ENABLE=true \SQLE_HOST=XX.XX.XX.XX:10000 \
SQLE_TASK_NAME=surveryking_test \
SQLE_TASK_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcG4iOiJqd19hcHAiLCJleHAiOjE2NzcyMjYxNzcsIm5hbWUiOiJhZG1pbiJ9.3d0pA1hiVnFEWJokSFBwCT8d1pKOYV6SViENj4GFqgI \
java -jar surveyking-v0.3.0-beta.4.jar \
--server.port=1991 \
--spring.datasource.url=jdbc:mysql://XX.XX.XX.XX:3306/surveyking \
--spring.datasource.username=root \
--spring.datasource.password=xxxxxx \
& >>/opt/surveyking/std.log

4. 查看 SQLE 审核任务详情界面,可以看到目前应用已经执行的 SQL ;

开源

5. 查看审核报告,用户可以通过审核任务的审核报告了解到应用的 SQL 是否符合预设审核规则以便及时作出调整。

开源

6. 在示例 Java 应用主页创建一个用户,然后便可以在审核任务对应的 SQLE 语句池内观察到所对应的 INSERT 语句。

开源

7. 同时,用户可以从语句池内页面迅速地感知到应用内执行的 SQL 的语句分类和统计情况。

开源

综合以上的示例步骤,Java 应用零成本地接入了 SQLE。开发人员和 DBA 可以通过「审核报告」、「审核任务的 SQL 语句池」等功能完全掌握应用内的 SQL 审核结果、执行情况以及统计信息,完成了从「开发」直至「上线」这一过程中的 SQL 质量管控。
 

如果想进一步了解 SQLE 的更多功能与特性,请访问以下地址:

类型 地址
版本库 https://github.com/actiontech/sqle
文档 https://actiontech.github.io/sqle-docs-cn/
发布信息 https://github.com/actiontech/sqle/releases

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分