作者:孙健,张强产品Redis相关业务开发。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得使用,转载请联系小编并注明出处。一、SQLE简介SQLE由Acson开源社区发起,面向数据库开发和管理人员。实现了SQL从“开发”到“测试”再到“上线”的全流程覆盖,以及资源和权限的细粒度管理。一个兼具简单高效、易维护、易扩展的开源项目,旨在为用户提供一套安全可靠、自主可控的SQL质控解决方案。2月发布的1.2202.0版本:修改了用户系统,增加了用户组和操作权限;新增工单审核结果评分功能;增加了审计任务,MySQL的数据库表结构,Oracle的TopSQL和Java应用的SQL爬取审计;新增Db2审计插件,支持Db2审计工单和在线;新增37条MySQL审计规则,如检查DDL是否创建冗余索引;其他体验优化和bug修复。其他详情可以访问:https://github.com/actiontech...。2.Java应用审计简介考虑到很多用户在实际生产中部署了大量基于Java的应用和服务,其中有一些涉及到极其重要且不间断的核心业务。从1.2202.0版本开始,SQLE支持对Java应用程序进行SQL审计。并在完成核心功能的基础上,支持零成本接入Java应用。SQLE的Java审计特点如下:支持非侵入式业务集成,用户可以直接将Java应用作为环境变量运行,无需修改Java业务代码,直接访问SQLE,降低用户访问成本;支持应用SQL用户可以通过SQLE上的语句池页面查看应用中SQL的分类统计,快速掌握应用中SQL的情况;支持SQL的手动或自动审计,用户可以在审计报告中了解到应用的状态SQL是否符合预设的审计规则,无论是开发者还是DBA都可以实时了解正在运行的业务SQL执行情况。3、效果展示添加预部署环境,需要访问的Java应用,以及对应的数据库作为数据源。为了演示,这里的Java项目是https://gitee.com/surveyking/…;为Java应用创建审计任务;启动应用程序;SQLE_COLLECT_ENABLE=true\SQLE_HOST=XX.XX.XX.XX:10000\SQLE_TASK_NAME=surveryking_test\SQLE_TASK_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcG4iOiJqd19hcHAiLCJleHAiOjE2NzcyMjYxNzcsIm5hbWUiOiJhZG1pbiJ9.3d0pA1hiVnFEWJokSFBwCT8d1pKOYV6SViENj4GFqgI\java-jarsurveyking-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查看SQLE审计任务详情界面,可以查看到目前为止应用程序已执行的SQL;查看审计报告,用户可以通过审计任务的审计报告了解应用的SQL是否符合预设的审计规则,从而及时做出调整。在示例Java应用首页创建用户,即可在审计任务对应的SQLE语句池中观察到相应的INSERT语句。同时,用户可以从语句池中的页面快速感知应用中执行的SQL的语句分类和统计信息。基于以上示例步骤,Java应用程序可以零成本访问SQLE。开发人员和DBA可以通过“审计报告”、“审计任务SQL语句池”等功能全面掌握应用中的SQL审计结果、执行状态和统计信息,完成SQL从“开发”到“上线”的过程质量控制。如果您想了解更多SQLE的功能和特性,请访问以下地址:|类型|地址||---|---||资料库|https://github.com/actiontech...||文档|https://actiontech.github.io/...||发布信息|https://github.com/actiontech...|
