File tree 2 files changed +48
-0
lines changed
2 files changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ # 基于 mysql-proxy 的 SQL 日志代理
2
+
3
+
4
+ ## 应用场景
5
+
6
+ 在生产环境中,有一些意外的场景需要手动执行 sql, 然而 SQL 历史无法追溯
7
+
8
+ 该方案可以用于 sql 的审计分析等场景
9
+
10
+
11
+ 下面是使用 kibana 搭建的面板效果图
12
+
13
+ ![ ] ( ./.img/效果图.png )
14
+
15
+
16
+
17
+
18
+ ## 结构
19
+
20
+
21
+ ```
22
+
23
+ +-------+------+
24
+ | mysql-client |
25
+ +--------------+
26
+ ^
27
+ |
28
+ +-------+-----+ sqllog.lua +---------+ read log file +----------+ output +---------------+
29
+ | mysql-proxy |----------->| sql.log |<---------------| logstash |------->| elasticsearch |
30
+ +-------+-----+ +---------+ +----------+ +---------------+
31
+ ^
32
+ |
33
+ +-------+------+
34
+ | mysql-server |
35
+ +--------------+
36
+
37
+ ```
38
+
39
+ ## 如何使用
40
+
41
+ * 修改 docker-compose.yml 中的 ` MASTER_ADDRESSES ` 为需要代理的数据库地址
42
+ * 修改 config/logstash/pipline/logstash.conf 中 output.elasticsearch 的地址为你需要的地址
43
+ * 运行 ` ./run.sh `
44
+
45
+ ## 已知问题
46
+
47
+ * 基于 jdbc client 端,支持的最高版本为 ` 5.1.35 `
48
+ * 其他客户端未测试
You can’t perform that action at this time.
0 commit comments