This is an automated email from the ASF dual-hosted git repository. lide pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push: new b1c90ea43da [Improvement](auditlog) add column catalog for audit log and audit log table (#26515) b1c90ea43da is described below commit b1c90ea43daaf663ad95d384ca5ccd17bf216c2f Author: Yulei-Yang <yulei.yang0...@gmail.com> AuthorDate: Wed Nov 8 14:27:16 2023 +0800 [Improvement](auditlog) add column catalog for audit log and audit log table (#26515) --- docs/en/docs/ecosystem/audit-plugin.md | 2 ++ docs/zh-CN/docs/ecosystem/audit-plugin.md | 2 ++ fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java | 7 +++++++ fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java | 5 +++++ .../main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java | 1 + .../main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java | 4 ++-- 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/en/docs/ecosystem/audit-plugin.md b/docs/en/docs/ecosystem/audit-plugin.md index d4823aa5047..4af1f2a20b0 100644 --- a/docs/en/docs/ecosystem/audit-plugin.md +++ b/docs/en/docs/ecosystem/audit-plugin.md @@ -66,6 +66,7 @@ create table doris_audit_db__.doris_audit_log_tbl__ `time` datetime not null comment "Query start time", client_ip varchar(32) comment "Client IP", user varchar(64) comment "User name", + catalog varchar(128) comment "Catalog of this query", db varchar(96) comment "Database of this query", state varchar(8) comment "Query result state. EOF, ERR, OK", error_code int comment "Error code of failing query.", @@ -102,6 +103,7 @@ create table doris_audit_db__.doris_slow_log_tbl__ `time` datetime not null comment "Query start time", client_ip varchar(32) comment "Client IP", user varchar(64) comment "User name", + catalog varchar(128) comment "Catalog of this query", db varchar(96) comment "Database of this query", state varchar(8) comment "Query result state. EOF, ERR, OK", error_code int comment "Error code of failing query.", diff --git a/docs/zh-CN/docs/ecosystem/audit-plugin.md b/docs/zh-CN/docs/ecosystem/audit-plugin.md index 73668f1246e..75615402d79 100644 --- a/docs/zh-CN/docs/ecosystem/audit-plugin.md +++ b/docs/zh-CN/docs/ecosystem/audit-plugin.md @@ -66,6 +66,7 @@ create table doris_audit_db__.doris_audit_log_tbl__ `time` datetime not null comment "Query start time", client_ip varchar(32) comment "Client IP", user varchar(64) comment "User name", + catalog varchar(128) comment "Catalog of this query", db varchar(96) comment "Database of this query", state varchar(8) comment "Query result state. EOF, ERR, OK", error_code int comment "Error code of failing query.", @@ -102,6 +103,7 @@ create table doris_audit_db__.doris_slow_log_tbl__ `time` datetime not null comment "Query start time", client_ip varchar(32) comment "Client IP", user varchar(64) comment "User name", + catalog varchar(128) comment "Catalog of this query", db varchar(96) comment "Database of this query", state varchar(8) comment "Query result state. EOF, ERR, OK", error_code int comment "Error code of failing query.", diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java index 597d156ea05..0bd5c233cb0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java @@ -56,6 +56,8 @@ public class AuditEvent { public String clientIp = ""; @AuditField(value = "User") public String user = ""; + @AuditField(value = "Catalog") + public String catalog = ""; @AuditField(value = "Db") public String db = ""; @AuditField(value = "State") @@ -126,6 +128,11 @@ public class AuditEvent { return this; } + public AuditEventBuilder setCatalog(String catalog) { + auditEvent.catalog = catalog; + return this; + } + public AuditEventBuilder setDb(String db) { auditEvent.db = db; return this; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java index 112cbc030ac..4b99a21beb9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java @@ -193,6 +193,11 @@ public class ConnectProcessor { .setTraceId(spanContext.isValid() ? spanContext.getTraceId() : "") .setFuzzyVariables(ctx.getSessionVariable().printFuzzyVariables()); + // when doris fe is booting, current catalog may not be inited + if (ctx.getCurrentCatalog() != null) { + ctx.getAuditEventBuilder().setCatalog(ctx.getCurrentCatalog().getName()); + } + if (ctx.getState().isQuery()) { MetricRepo.COUNTER_QUERY_ALL.increase(1L); MetricRepo.USER_COUNTER_QUERY_ALL.getOrAdd(ctx.getQualifiedUser()).increase(1L); diff --git a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java index e80383d19c1..ecbff0e6650 100755 --- a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java +++ b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java @@ -161,6 +161,7 @@ public class AuditLoaderPlugin extends Plugin implements AuditPlugin { logBuffer.append(longToTimeString(event.timestamp)).append("\t"); logBuffer.append(event.clientIp).append("\t"); logBuffer.append(event.user).append("\t"); + logBuffer.append(event.catalog).append("\t"); logBuffer.append(event.db).append("\t"); logBuffer.append(event.state).append("\t"); logBuffer.append(event.errorCode).append("\t"); diff --git a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java index d2249a3ea7a..ca3cd53aff5 100644 --- a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java +++ b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java @@ -70,7 +70,7 @@ public class DorisStreamLoader { conn.addRequestProperty("label", label); conn.addRequestProperty("max_filter_ratio", "1.0"); - conn.addRequestProperty("columns", "query_id, `time`, client_ip, user, db, state, error_code, error_message, " + + conn.addRequestProperty("columns", "query_id, `time`, client_ip, user, catalog, db, state, error_code, error_message, " + "query_time, scan_bytes, scan_rows, return_rows, stmt_id, is_query, frontend_ip, cpu_time_ms, sql_hash, " + "sql_digest, peak_memory_bytes, stmt"); @@ -87,7 +87,7 @@ public class DorisStreamLoader { sb.append("-H \"").append("Expect\":").append("\"100-continue\" \\\n "); sb.append("-H \"").append("Content-Type\":").append("\"text/plain; charset=UTF-8\" \\\n "); sb.append("-H \"").append("max_filter_ratio\":").append("\"1.0\" \\\n "); - sb.append("-H \"").append("columns\":").append("\"query_id, time, client_ip, user, db, state, error_code, " + + sb.append("-H \"").append("columns\":").append("\"query_id, time, client_ip, user, catalog, db, state, error_code, " + "error_message, query_time, scan_bytes, scan_rows, return_rows, stmt_id, is_query, frontend_ip, " + "cpu_time_ms, sql_hash, sql_digest, peak_memory_bytes, stmt\" \\\n "); sb.append("\"").append(conn.getURL()).append("\""); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org