内容纲要
概要描述
一些场景下,我们需要临时开启kundb的审计日志,相比全局开启操作会比较灵活,方便我们抓取短时间的审计日志,本文给出操作说明
注意!审计日志建议短暂开启,使用完毕就关闭掉,否则会对kundb性能造成影响!同时占用大量/var/log磁盘空间!
详细说明
kundb_audit_filter 是gate参数,在哪个gate上设置,哪个gate就能够看到审计日志。
– 如果不确定客户连接的哪个gate提交的sql,则需要直连到每个gate去set,无论是kundb高可用,还是kundb分布式。
– 像一些TDS组件,比如foundation/sqlbook等,spring.datasource.url 一般配置为 jdbc:mysql://kv2:15307,kv3:15307,kv4:15307/...,此时一般可以连接第一个kv2节点开启审计日志,然后到kv2节点的 /var/log/kundb1/kungate/public/audit/vtgate.audit.INFO 获取审计日志。
开启姿势:
set kundb_audit_filter="DCL,DDL,DML,INSERT,UPDATE,REPLACE,DELETE,SHOW,SET,TRANS,OTHER";
关闭姿势:
set kundb_audit_filter="";
在kungate节点的 /var/log/kundb1/kungate/public/audit/vtgate.audit.INFO 记录审计日志。
注意:关闭audit审计日志并非不会生成审计日志,比如 "msg":"Auth" 的仍然会记录。
以global kundb的开启关闭为例:
开启步骤:
mysql -h172.18.131.171 -P15308 -uvt_app -ptranswarp -e 'set kundb_audit_filter="DCL,DDL,DML,INSERT,UPDATE,REPLACE,DELETE,SHOW,SET,TRANS,OTHER";'
mysql -h172.18.131.173 -P15308 -uvt_app -ptranswarp -e 'set kundb_audit_filter="DCL,DDL,DML,INSERT,UPDATE,REPLACE,DELETE,SHOW,SET,TRANS,OTHER";'
mysql -h172.18.131.174 -P15308 -uvt_app -ptranswarp -e 'set kundb_audit_filter="DCL,DDL,DML,INSERT,UPDATE,REPLACE,DELETE,SHOW,SET,TRANS,OTHER";'
关闭步骤
mysql -h172.18.131.171 -P15308 -uvt_app -ptranswarp -e 'set kundb_audit_filter="";'
mysql -h172.18.131.173 -P15308 -uvt_app -ptranswarp -e 'set kundb_audit_filter="";'
mysql -h172.18.131.173 -P15308 -uvt_app -ptranswarp -e 'set kundb_audit_filter="";'
抓取对应的操作,可以到对应的审计日志目录下匹配对应表的操作记录:
tail -f /var/log/global-kundb/kungate/public/audit/vtgate.audit.INFO |egrep -i 'gs_statement_resources|gs_resources|gs_policy_statement' |grep -vi '"OriginalSQL":"SELECT'