3.0通过 Audit Loader 管理 StarRocks 中的审计日志无法安装插件

【详述】3.0通过 Audit Loader 管理 StarRocks 中的审计日志无法安装插件,按照官网操作的
【背景】做过哪些操作?
1、(StarRocks v2.4.0 及其之后小版本的建表ddl)先创建CREATE DATABASE starrocks_audit_db__;
CREATE TABLE starrocks_audit_db__.starrocks_audit_tbl__ (
queryId VARCHAR(48) COMMENT “查询的唯一ID”,
timestamp DATETIME NOT NULL COMMENT “查询开始时间”,
clientIp VARCHAR(32) COMMENT “客户端IP”,
user VARCHAR(64) COMMENT “查询用户名”,
resourceGroup VARCHAR(64) COMMENT “资源组名”,
db VARCHAR(96) COMMENT “查询所在数据库”,
state VARCHAR(8) COMMENT “查询状态(EOF,ERR,OK)”,
errorCode VARCHAR(96) COMMENT “错误码”,
queryTime BIGINT COMMENT “查询执行时间(毫秒)”,
scanBytes BIGINT COMMENT “查询扫描的字节数”,
scanRows BIGINT COMMENT “查询扫描的记录行数”,
returnRows BIGINT COMMENT “查询返回的结果行数”,
cpuCostNs BIGINT COMMENT “查询CPU耗时(纳秒)”,
memCostBytes BIGINT COMMENT “查询消耗内存(字节)”,
stmtId INT COMMENT “SQL语句增量ID”,
isQuery TINYINT COMMENT “SQL是否为查询(1或0)”,
feIp VARCHAR(32) COMMENT “执行该语句的FE IP”,
stmt STRING COMMENT “原始SQL语句”,
digest VARCHAR(32) COMMENT “SQL指纹”,
planCpuCosts DOUBLE COMMENT “查询规划阶段CPU占用(纳秒)”,
planMemCosts DOUBLE COMMENT “查询规划阶段内存占用(字节)”
) ENGINE = OLAP
DUPLICATE KEY (queryId, timestamp, clientIp)
COMMENT “审计日志表”
PARTITION BY RANGE (timestamp) ()
DISTRIBUTED BY HASH (queryId) BUCKETS 3
PROPERTIES (
“dynamic_partition.time_unit” = “DAY”,
“dynamic_partition.start” = “-30”,
“dynamic_partition.end” = “3”,
“dynamic_partition.prefix” = “p”,
“dynamic_partition.buckets” = “3”,
“dynamic_partition.enable” = “true”,
“replication_num” = “3”
);
2、下载Audit Loader 安装包后unzip解压
3、 修改 plugin.conf 文件的frontend_host_port、user、password
4、重新打包以上文件zip -q -m -r auditloader.zip auditloader.jar plugin.conf plugin.properties
5、INSTALL PLUGIN FROM “<absolute_path_to_package>”;
【业务影响】
【StarRocks版本】3.0
【集群规模】例如:1fe+3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:8C/24G/万兆
【联系方式】
【附件】
image

开始安装


image

按照插件.conf配置了,是不是这个2.4的版本跟3.0不兼容呀 官方大大

大概率是的 我们测试修改下 感谢验证

是shared_nothing的模式吗?

默认安装的模式,好像是无共享模式,不是存算分离的那个

当前3.0.0版本存在一个bug,会导致无法安装或者使用插件,在3.0.1中已经修复。对应issue:https://github.com/StarRocks/starrocks/issues/23607

新版本插件做了一些优化,度盘永久地址:

链接:https://pan.baidu.com/s/1siV-JqpgGrKu-Y8vUqD5CQ?pwd=sdkj 后面会更新到docs上

好的 我去试试看 3.0.1是稳定版吗

我们每个大版本的小版本是只合入bugfix的 肯定是比3.0.0稳定的 如果您对稳定性要求比较高 可以视情况把集群版本维持在您使用所在的大版本的最新小版本 ,比如过一段时间出了3.0.2 ,那他就是基于3.0.0和3.0.1 fix了这两个版本上问题新发的版本


这个3.0.1目录好像跟3.0.0不一样
然后启动失败了。

您好 当前还有问题吗 我们这边实际测试了下 3.0.1版本没有问题

企业微信截图_16859535289931

确认您升级到了3.0.1版本了吗 ? 这个在3.0版本是有问题存在的 ,pr: https://github.com/StarRocks/starrocks/issues/23607

您这个报错看着就是我们修复的这个问题


可以了,中间想用3.0.0升级3.0.1遇到了点问题,应该是当时没停掉be导致的,目前没啥问题,我再用着观测观测

请问3.0.3里面审计插件表schema是不是变了,插件安装成功之后,无法导入数据。 目前审计表采用的是StarRocks v2.4.0 及其之后小版本的建表ddl。

2023-07-11 16:16:05,552 WARN (thrift-server-pool-7151|7592) [FrontendServiceImpl.loadTxnCommit():1200] failed to commit txn_id: 9: all partitions have no load data
2023-07-11 16:17:43,716 WARN (thrift-server-pool-7223|7665)

升级到3.0.0 同样的问题,再升级到3.0.6 插件无法导入
2023-09-17 15:34:38,283 WARN (audit loader thread|1597) [StarrocksStreamLoader.loadBatch():153] failed to load audit via AuditLoader plugin with label: audit_20230917_153438_10_201_48_22_9010
java.lang.Exception: status is not TEMPORARY_REDIRECT 307, status: 401, response: {“status”:“FAILED”,“msg”:“Access denied for root@10.201.48.22”}, request is: curl -v -X PUT
-H “Authorization”:“Basic cm9vdDo3YjU4YmRmMWE3YWU0YjI1YWU2MTRiMWE0Zjg5YTlmOCA=”
-H “Expect”:“100-continue”
-H “Content-Type”:“text/plain; charset=UTF-8”
-H “max_filter_ratio”:“1.0”
-H “columns”:“queryId, timestamp, clientIp, user, authorizedUser, resourceGroup, catalog, db, state, errorCode,queryTime, scanBytes, scanRows, returnRows, cpuCostNs, memCostBytes, stmtId, isQuery, feIp, stmt, digest, planCpuCosts, planMemCosts”
"http://10.201.48.34:8030/api/starrocks_audit_db__/starrocks_audit_tbl__/_stream_load?"
at com.starrocks.plugin.audit.StarrocksStreamLoader.loadBatch(StarrocksStreamLoader.java:127) ~[?:?]
at com.starrocks.plugin.audit.AuditLoaderPlugin.loadIfNecessary(AuditLoaderPlugin.java:199) ~[?:?]
at com.starrocks.plugin.audit.AuditLoaderPlugin.access$300(AuditLoaderPlugin.java:47) ~[?:?]
at com.starrocks.plugin.audit.AuditLoaderPlugin$LoadWorker.run(AuditLoaderPlugin.java:278) ~[?:?]
at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_321]

报错信息中22节点权限无法访问,检查一下是不是密码不对