Skip to content

基于 mysql-proxy 的 sql 日志记录器,将日志通过 logstash 到 elasticsearch 中

License

Notifications You must be signed in to change notification settings

chenlingmin/mysql-proxy-log

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于 mysql-proxy 的 SQL 日志代理

应用场景

在生产环境中,有一些意外的场景需要手动执行 sql, 然而 SQL 历史无法追溯

该方案可以用于 sql 的审计分析等场景

下面是使用 kibana 搭建的面板效果图

结构


   +-------+------+
   | mysql-client |
   +--------------+
           ^
           |
   +-------+-----+ sqllog.lua +---------+ read log file  +----------+ output +---------------+
   | mysql-proxy |----------->| sql.log |<---------------| logstash |------->| elasticsearch |
   +-------+-----+            +---------+                +----------+        +---------------+
           ^
           |
   +-------+------+
   | mysql-server |
   +--------------+
  

如何使用

  • 修改 docker-compose.yml 中的 MASTER_ADDRESSES 为需要代理的数据库地址
  • 修改 config/logstash/pipline/logstash.conf 中 output.elasticsearch 的地址为你需要的地址
  • 运行 ./run.sh

已知问题

  • 基于 jdbc client 端,支持的最高版本为 5.1.35
  • 其他客户端未测试

About

基于 mysql-proxy 的 sql 日志记录器,将日志通过 logstash 到 elasticsearch 中

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published