工单系统-数据库查询,审计需求
Posted dba笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工单系统-数据库查询,审计需求相关的知识,希望对你有一定的参考价值。
1. 需求
内部用户通过工单系统申请,审批后授权获取数据库查询,临时写的权限。
要求记录所有操作日志,并支持全文检索。
2. 用户查询
2.1. 工具
因为用的阿里云,so记录用户sql操作大致有2种方式:
通过sql代理程序。
阿里云提供的mysql审计日志。
mycat: 语言java;数据量大了支持不好;日志集中存储;
360 altas:语言c++;支持单个mysql实例;日志集中存储;
percona proxysql:语言c++;本身设计不简洁;支持多实例;日志集中存储;
阿里审计日志:审计日志需要收费;日志分散到各个数据库,不确认审计是否支持到用户;
proxysql是同事推荐的,因为能支持多实例,并且测试性能也ok,所以最终选他了。
2.2. 实现
通过web界面提交申请和审批。
审批通过后,后台会异步创建账号,通知用户。
用户通过navicat或者程序连接操作数据库。
proxysql记录sql操作日志。
申请:
审批:
3. 日志审计
3.1. 数据库
因为要实现全文检索,我看了看mysql,mongo,elasticsearch。
Mysql: 倒排索引;支持中文分词;支持大小写;支持字符串;
ElasticSearch: 搜索数据库的榜首;倒排索引;插件支持中文分词;支持大小写;甚至支持同义词;
个人认为mysql能满足我的需求,但是测试elasticsearch后,发现elk不能更好用了。日志通过filebeat收集,并推送到elasticsearch中。然后kibana展示。
3.2. 实现
记录日志通过filebeat收集,推到elasticsearch。
web界面数据展示或者kibana展示。
审核日志:
以上是关于工单系统-数据库查询,审计需求的主要内容,如果未能解决你的问题,请参考以下文章