审计日志

所需权限

只有admin角色的成员才能在表上启用审计日志。默认情况下,root用户属于admin角色。

参数

参数描述
table_name要为其创建审核日志的表的名称。
READ将所有表读取记录到审计日志文件中。
WRITE将所有表写入记录到审计日志文件。
OFF关闭审计日志。

审计日志文件存储位置

hubble.service 文件中,通过配置 --sql-audit-dir=/data/hubbledir/auditdir 来指定审计日志目录

开启审计日志

默认关闭,要开启审计日志,请执行以下命令

> ALTER TABLE accounts EXPERIMENTAL_AUDIT SET READ WRITE;

添加测试数据

> insert into accounts values(123,'xuejs',123.45);

在配置的审计日志目录中,查看 hubble-sql-audit.log 日志内容

开启审计日志后读写后,向表中写入数据和查询数据的操作都会记录在审计日志中,插入错误的操作也会记录。

I210805 08:54:40.205150 245942380 sql/exec_log.go:168  [n1,client=192.168.1.11:13566,user=root] 5 exec "$ hubble sql" {"accounts"[319]:READWRITE} "ALTER TABLE accounts EXPERIMENTAL_AUDIT SET READ WRITE" {} 6.712 0 OK 0
I210805 08:54:43.563678 245942380 sql/exec_log.go:168  [n1,client=192.168.1.11:13566,user=root] 6 exec "$ hubble sql" {"accounts"[319]:READWRITE} "INSERT INTO accounts VALUES (123, 'xuejs', 123.45)" {} 1.720 0 ERROR 0
I210805 08:54:58.675654 245942380 sql/exec_log.go:168  [n1,client=192.168.1.11:13566,user=root] 7 exec "$ hubble sql" {"accounts"[319]:READWRITE} "INSERT INTO accounts VALUES (123456, 'xuejs', 523.45)" {} 1.270 1 OK 0
I210805 08:55:06.900166 245942380 sql/exec_log.go:168  [n1,client=192.168.1.11:13566,user=root] 8 exec "$ hubble sql" {"accounts"[319]:READ} "SELECT * FROM accounts" {} 1.142 4 OK 0

关闭审计日志

要关闭审计日志,请使用以下命令

> ALTER TABLE accounts EXPERIMENTAL_AUDIT SET OFF;

在配置的审计日志目录中,查看 hubble-sql-audit.log 日志内容

I210805 08:53:08.544619 245942380 sql/exec_log.go:168  [n1,client=192.168.1.11:13566,user=root] 4 exec "$ hubble sql" {"accounts"[319]:READ, "accounts"[319]:READWRITE} "ALTER TABLE accounts EXPERIMENTAL_AUDIT SET OFF" {} 6.126 0 OK 0