在doris中,还有一个比较特殊的功能,就是为doris配置日志审计插件,这样子我们在doris中执行的任何sql都会被doris保存起来,以便后期用来进行数据分析及sql优化,这篇文章我们介绍下doris的审计日志插件。
这是在doris中的一个插件,因此我们直接在doris中进行安装这个插件即可。下面详细介绍下:
一、doris的审计插件名称是:auditloader,我们在下载的doris-fe安装包里面,他自带这个插件的安装包,具体路径是:${doris_home}/audit_loader。如下图:
二、我们在fe.conf里面新增一项配置:
plugin_enable = true
备注:
1、doris中默认没有开启审计日志,因此这个值默认是false
2、配置完fe.conf开启审计日志后,需要把fe的服务器进行重启。
三、我们创建一张日志表
这张表的话根据官网示例创建即可,后面的话,所有的执行sql都会保存到这个表里面来。建表语句如下:
create table doris_audit_tbl__ ( query_id varchar(48) comment "Unique query id", time datetime not null comment "Query start time", client_ip varchar(32) comment "Client IP", user varchar(64) comment "User name", db varchar(96) comment "Database of this query", state varchar(8) comment "Query result state. EOF, ERR, OK", query_time bigint comment "Query execution time in millisecond", scan_bytes bigint comment "Total scan bytes of this query", scan_rows bigint comment "Total scan rows of this query", return_rows bigint comment "Returned rows of this query", stmt_id int comment "An incremental id of statement", is_query tinyint comment "Is this statemt a query. 1 or 0", frontend_ip varchar(32) comment "Frontend ip of executing this statement", cpu_time_ms bigint comment "Total scan cpu time in millisecond of this query", sql_hash varchar(48) comment "Hash value for this query", sql_digest varchar(48) comment "Sql digest for this query", peak_memory_bytes bigint comment "Peak memory bytes used on all backends of this query", stmt string comment "The original statement, trimed if longer than 2G " ) engine=OLAP duplicate key(query_id, time, client_ip) partition by range(time) () distributed by hash(query_id) buckets 1 properties( "dynamic_partition.time_unit" = "DAY", "dynamic_partition.start" = "-30", "dynamic_partition.end" = "3", "dynamic_partition.prefix" = "p", "dynamic_partition.buckets" = "1", "dynamic_partition.enable" = "true", "replication_num" = "1" );
四、最后我们进入到doris的命令行里面,执行:
INSTALL PLUGIN FROM "/home/pubserver/doris/apache-doris-fe-1.1.3-bin/audit_loader/auditloader.zip";
这个路径是我本地服务器的路径,因此使用上面的命令来安装审计插件。
可以看到安装成功了。
show plugins
然后我们去服务器的fe目录里面的 ${fe_home}/plugins目录下,可以看到有一个AuditLoader文件夹
由于我们这里创建的表:doris_audit_tbl__就是系统里面的表,所以我们暂时不需要修改任何东西。如果表不一样的话,则需要修改AuditLoader下面的plugin.conf里面的信息。
五、测试一下,我们随便写几条sql进行查询
然后去doris_audit_tbl__表里面看看结果如下:
到此审计日志插件就安装成功了。
备注:
1、这里我们把doris_audit_tbl__表创建在demo库下面的,因此需要把/home/pubserver/doris/apache-doris-fe-1.1.3-bin/plugins/AuditLoader/plugin.conf里面的库名改成demo,不然的话我们之后sql之后,在doris_audit_tbl__表里面看不到数据。
2、审计日志插件其实就是把auditlog写入到了这个表中,这个log所在地是:/home/pubserver/doris/apache-doris-fe-1.1.3-bin/log/fe.audit.log。
3、如果执行了sql之后,在doris_audit_tbl__表中没有记录,那么需要看下logs下面的文件,挨个看下是否有报错。
还没有评论,来说两句吧...