环境
系统版本:Centos 7.7
数据库版本:Percona XtraDB Cluster 5.7
数据库数量:两台
一、开启数据库审计日志
修改/etc/my.cnf配置文件,添加如下配置,配置完成后需要重启mysql服务(主备库都需要配置并重启),要数据库审计日志到远端服务器,就需要配合系统的syslog服务。
plugin-load="audit_log=audit_log.so"
audit_log_policy=QUERIES
audit_log_format=JSON
audit_log_syslog_ident=mysql-audit
audit_log_syslog_facility=LOG_LOCAL0
audit_log_handler=SYSLOG
audit_log_syslog_priority=LOG_INFO
#审计日志不保留本地直接推送至日志服务器
参数详解:
audit_log_policy #此变量用于指定应记录哪些事件,参数值为:
ALL:所有事件都将被记录下来
LOGINS:只会记录登录
QUERIES:只会记录查询
NONE:不会记录任何事件
#facility 参数用于指定记录消息的程序类型。这允许配置文件指定来自不同的设施将有不同的处理方式。LOG_LOCAL0到LOG_LOCAL7保留供本地使用。
audit_log_syslog_facility
#此变量用于配置审核日志的写入位置。如果设置为FILE ,则日志将写入由audit_log_file变量指定的文件中。如果设置为SYSLOG,审核日志将写入syslog
audit_log_handler
详情参考:
二、配置syslog推送审计至第三方日志服务器
修改/etc/rsyslog.conf配置文件,配置在最后一行(配置完成需要重启rsyslog服务)。
local0.info @@日志服务器IP:514
#一个@使用的是UDP发送,两个@使用的是TCP发送
#local0.info与audit_log_syslog_facility、audit_log_syslog_priority一致
#local0.info -> 日志类型.日志级别
如图: