审计日志导出工具

sdbaudit_ctl.py 是 SequoiaDB 巨杉数据库的审计日志管理工具,可以持续归档所监控集群和实例(MySQL/MariaDB)的审计日志,并整理成统一格式导入到指定的集合中。同时,生成日志导出进度的状态文件,保证工具重启后导出任务可以继续执行。

审计日志管理工具以工具套的形式位于 <INSTALL_DIR>/tools/sdbaudit/ 目录下,目录结构如下:

sdbaudit/
|__ sdbaudit_ctl.py                     管理工具脚本
|__ sdbaudit_exporter.py                日志导出脚本
|__ sdbaudit_daemon.py                  后台守护脚本
|__ conf                             
      |__ sdbaudit.conf                 全局配置文件
      |__ sdbaudit_log.conf             日志配置文件
      |__ sdb       
      |   |__ 11810                     
      |   |   |__ sdbaudit.conf         本地配置文件
      |   |   |__ sdbaudit.status       状态文件
      |   |   |__ sdbaudit.pid          进程 ID 文件
      |   |   |__ sdbaudit.log          日志文件
      |   |
      |   |__ 11820
      |   |__ ...
      |
      |__ mysql                         
          |__ 3306
      ...

其中 sdb 和 mysql 目录是用户在添加监控对象后生成的,里面包含了节点的配置信息、状态信息、日志信息等。

运行需求

用户需搭建 Python 开发环境,具体可参考 Python 驱动开发章节。

参数说明

参数名 缩写 描述 是否必填
--help -h 返回帮助信息
--type -t 监控类型,可选参数为 sdb、mysql、mariadb
--inst 实例名,监控类型为 mysql 或 mariadb 时可以指定
--path 所监控对象的安装路径

语法规则

  • 添加监控对象

    sdbaudit_ctl.py add -t <sdb|mysql|mariadb> [--inst INSTNAME] [--path INSTALL_DIR]
  • 启动节点

    sdbaudit_ctl.py start
  • 查看节点状态

    sdbaudit_ctl.py list
  • 停止节点

    sdbaudit_ctl.py stop
  • 删除节点

    sdbaudit_ctl.py del -t <sdb|mysql|mariadb> [--inst INSTNAME] [--path INSTALL_DIR]

    Note:

    • 建议用户通过 sdbaudit_ctl.py 工具启动和管理节点。
    • sdbaudit_daemon.py 以守护进程的形式存在。该服务在启动时,会自动启动相关的节点,在节点进程异常退出时,也会自动重启节点。

添加监控对象后,每个节点目录下都有自己的配置文件 sdbaudit.conf,用户可以根据需求灵活地配置每一个节点。配置读取遵循本地配置覆盖全局配置的规则,其具体参数有:

参数名 类型 描述 是否自动生成
auditpath string 用于监控的审计日志文件目录
delete boolean 是否删除完成导出的审计日志文件(只删除完整日志文件),默认值为 true
addr string 指定主机地址(hostname:svcname),默认值为 localhost:11810
user string 数据库用户名
password string 指定数据库密码,指定值则使用明文输入,不指定值则命令行提示输入
ssl boolean 指定是否使用 SSL 连接,默认 false,不使用 SSL 连接
clname string 导出的集合全名
insertnum int32 每批次插入的记录数
nodename string 监控的节点名,添加时自动生成
role string 监控的节点角色,添加时自动生成
instname string 实例名,添加监控类型为 mysql 或 mariadb 时自动生成

示例

  1. 添加 SequoiaDB 各个节点审计日志目录下的文件进行导出

    $ python sdbaudit_ctl.py add -t sdb
  2. 添加 MySQL 各个节点审计日志目录下的文件进行导出

    $ python sdbaudit_ctl.py add -t mysql
  3. 启动所有节点

    $ python sdbaudit_ctl.py start
  4. 停止所有节点

    $ python sdbaudit_ctl.py stop
  5. 删除 SequoiaDB 所有节点

    $ python sdbaudit_ctl.py del -t sdb
  6. 删除 MySQL 所有节点

    $ python sdbaudit_ctl.py del -t mysql
回到顶部