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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]