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

56529b5 · Aug 8, 2018

History

4 Commits
Aug 6, 2018
Aug 6, 2018
Aug 6, 2018
Aug 6, 2018
Aug 6, 2018
Aug 8, 2018
Aug 6, 2018
Aug 6, 2018
Aug 6, 2018

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