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

Reply via email to