• 一款mysql审计日志自动轮转自动清理工具:mysql-audit-extend


    一、背景

    mysql的审计功能有多种方案:

    • 第一种是开启默认的general_log,支持FILE和TABLE两种模式,会记录所有日志,QUERY类型未分离。
    • 第二种是使用mariadb的审计插件,同样适用于mysql,该插件支持日志轮转分割。
    • 第三种是mcafee开源mysql审计插件:mysql-audit,该插件兼容性强,安装方便,支持审计到SELETE、UPDATE、DELETE等灵活配置。

    生产级比较推荐的方案是第三种,但是方案并不是完美的,因为mysql的审计日志增长非常快,一个公司内部的系统一天内的日志量都要几十兆大小,磁盘占用非常高,因此对该插件进行一些功能扩展势在必行,如:日志自动分割轮转、日志清理等必要功能。
    基于此,开发mysql-audit-extend工具用于扩展mysql-audit的功能,提供审计之外的辅助功能。目前提供的功能如下:

    1. 日志分割轮转
    2. 日志清理

    该工具采用命令行形式,指定日志文件路径日志大小限制日志文件数限制等参数,程序将自动后台运行,资源占用非常小。

    二、源码

    1.github仓库

    https://github.com/womeng2009/mysql-audit-extend

    2.gitee仓库

    https://gitee.com/seeker_rs/mysql-audit-extend

    三、文档说明

    1.介绍

    该程序是mysql-audit插件的扩展工具,提供一些必要的辅助功能。

    程序形式:可执行二进制文件,4.95M左右。

    2.安装

    # 从Rust仓库crates.io 直接安装
    cargo install mysql-audit-extend
    
    • 1
    • 2

    或者

    # 从gitee国内仓库下载最新版(请自行查看最新版版本号)
    wget https://gitee.com/seeker_rs/mysql-audit-extend/releases/download/release-0.2.7/mysql-audit-extend
    chmod 775 mysql-audit-extend
    
    • 1
    • 2
    • 3

    3.启动

    # 查看帮助
    mysql-audit-extend -h
    
    OUTPUT:
    USAGE:
        mysql-audit-extend [OPTIONS]
    
    OPTIONS:
        -f, --max-file <MAX_FILE>    Maximum number of files to keep [default: 10]
        -h, --help                   Print help information
        -m, --max-size <MAX_SIZE>    Maximum file size, Unit: MB [default: 10]
        -p, --path <PATH>            Absolute path to log file [default:
                                     /var/lib/mysql/mysql-audit.json]
        -V, --version                Print version information
    
    
    # 使用默认配置启动
    mysql-audit-extend
    
    # 使用自定义配置启动
    mysql-audit-extend -p /var/lib/mysql/mysql-audit.json -m 100 -f 30
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    4.查看程序日志

    # 执行日志
    tail -f /tmp/seeker/mysql-audit-extend/log.log
    # 错误日志
    tail -f /tmp/seeker/mysql-audit-extend/log.error
    
    • 1
    • 2
    • 3
    • 4

    5.平台支持

    目前只支持Linux操作系统。

    • Linux
  • 相关阅读:
    计算机网络(第8版)-第5章 运输层
    Linux 查看进程和线程
    微信小程序根据开发环境切换域名
    解决el-table表格拖拽后,只改变了数据,表头没变的问题
    java100-集合类简介
    hyperf框架接入pgsql扩展包
    【定制项目】【M14 监测预警平台】百度地图区域绘制(时间轴)/柱状图/仪表图 - 关键技术 python flask + echarts
    “蔚来杯“2022牛客暑期多校训练营1——I题:Chiitoitsu(详解+知识点拆析)
    【数之道 05】走进神经网络模型、机器学习的世界
    tomcat9 zip包 安装
  • 原文地址:https://blog.csdn.net/womeng2009/article/details/126337484