专栏首页云原生生态圈Yearning - 最Popular的MYSQL审计平台

Yearning - 最Popular的MYSQL审计平台

今天给大家分享目前最popularMySQL SQL审计平台Yearning,这个平台可以帮助开发者快速的完成SQL语句的语法的审核、检测、执行和回滚等操作。在早期,我们是先整理出来一套SQL使用规范,然后通过部门会议审核规范的内容,最后要求按照内容应用在实际的工作中,但是这样不免有些开发者依旧记不住或者不上心,不按套路出牌,造成数据库使用不统一。

Yearning自身包含了一套通常适用的审核规范,基本上能满足日常需要,同时规范了日常开发需求所涉及到的SQL变动,在Yearning平台的辅助下,日常的SQL变动也更加贴近SQL使用的规范化、标准化的要求,同时100%基于GO语言研发的Yearning也可以通过自定义二次开发(遵循AGPL协议)增加一些符合自己审核策略,但是它的审核引擎Juno不是开源的。

Yearning的前端是基于Vue.js构建的,而这块审核规则的代码也是全部在JS中传递和处理的,另外它还提供SQL语法高亮、自动补全和智能提示、可视化等。

使用感受

  1. 有工单记录,让变更的SQL记录落库保存,易于审计。
  2. 开发者自己提交,监测最大程度减小以往通过微信传送等粘贴出错几率,给DBA.运维省心。
  3. 再一次证明落实规范性的东西需要有工具化、流程化,靠自觉万万是做不到的。
  4. SQL审批要设置多成员多级审核,最后自己执行落库。

下面列出支持的主要功能:

Yearning Feature

  • SQL查询
    • 查询工单
    • 导出
    • 自动补全,智能提示
    • 查询语句审计
  • SQL审核
    • 流程化工单
    • SQL语句检测与执行
    • SQL回滚
    • 历史审核记录
  • 推送
    • E-mail工单推送
    • 钉钉webhook机器人工单推送
  • 用户权限及管理
    • 角色划分
    • 基于用户的细粒度权限
    • 注册
  • 其他
    • todoList
    • LDAP登录
    • 动态审核规则配置
  • AutoTask自动执行

体验

Yearning的安装十分简单,它依赖一个mysql数据库用于存储工单的数据、回滚的SQL语句,所以需要先初始化数据库-m,然后在启动-s。对于回滚的语句不得不说一下,真的要是涉及到大变更的操作的时候,还是建议手动或者可靠地备份方式进行。官方也提供了安装手册[1],一般建议容器化部署,方便省事,安装包内也有Dockerfile,二次开发的同学也可以自己构建发布。

在需要配置钉钉或者微信的时候,可以通过选项设置通知时显示Yearning的平台地址

下面是配置钉钉和OpenLDAP登录的参考:

白漂福利

无门槛领取注册5元券(白漂):https://www.dnspod.cn/promo/coupon?source=newDNSPod&from=domainscarnival

精彩文章

优质关注

专注分享运维、DevOps的一个技术爱好者

参考资料

[1]

Yearning安装手册: https://guide.yearning.io/install.html

本文分享自微信公众号 - 云原生生态圈(CloudNativeEcoSystem),作者:Marionxue

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 运维知识体系v3.1 & Web缓存知识体系v3.0

    前段时间,发现新运维社区的赵班长(赵舜东)更新了一版《运维知识体系 v3.1》其中新增了一些目前比较火的、成熟的开源工具和解决方案,也包括容器编排,微服务框架l...

    云原生生态圈
  • 使用Go案例完成开发到部署实践

    我们准备一个apis模块,在该模块中实现一个打印字符串的函数Says(str string):所以

    云原生生态圈
  • 如何在腾讯云上搭建博客

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

    云原生生态圈
  • 举例讲解Go语言中函数的闭包使用

    和变量的声明不同,Go语言不能在函数里声明另外一个函数。所以在Go的源文件里,函数声明都是出现在最外层的。 “声明”就是把一种类型的变量和一个名字联系起来。 G...

    李海彬
  • 什么是 “马太效应” ?

    小灰所在学校的教学质量很一般,大学毕业后,由于技术学得不够扎实,又没有名校背景,小灰找了好久才入职了一个初创小公司。

    小灰
  • MySQL进阶篇(01):基于多个维度,分析服务器性能

    服务器性能优化是一项非常艰巨的任务,当然也是很难处理的问题,在写这篇文章的时候,特意请教下运维大佬,硬件工程师,数据库管理,单从自己的实际开发经验来看,看待这个...

    知了一笑
  • MongoDB Slowquery慢查询日志分析平台

    MongoDB的慢SQL日志是记录到业务库的system.profile表里,当线上DB运行缓慢时,开发通常联系DBA去排查问题,那么可以将这种机械化的工作,做...

    贺春旸的技术博客
  • 『互联网架构』软件架构-Sharding-Sphere特性详解(67)

    1.数据库类型dbType; 2.分库分表规则shardingRule; 3.词法分析器引擎lexerEngine;

    IT故事会
  • java架构之路-(分布式zookeeper)zookeeper集群配置和选举机制详解

      上次博客我们说了一下zookeeper的配置文件,以及命令的使用https://www.cnblogs.com/cxiaocai/p/11597465.ht...

    小菜的不能再菜
  • 爬虫 | JS逆向某验滑动加密(二)

    上篇文章给大家分析还原了某验滑动的混淆代码,然后后台很多人在问后面的加密以及整个流程是啥,所以今天索性就把整个加密都弄出来吧!

    Python编程与实战

扫码关注云+社区

领取腾讯云代金券