Skip to content

Commit 31bb257

Browse files
authored
[feat][COM][logging] optimize log printing and add hadoop client usage logs (#974)
* #AI commit# 开发阶段: * optimize log printing and token masking * #AI commit# 开发阶段: * 增加hadoop客户端使用日志
1 parent 00a099c commit 31bb257

25 files changed

Lines changed: 5120 additions & 178 deletions

File tree

docs/dev-1.19.0/design/log-optimization_设计.md

Lines changed: 1051 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# language: zh-CN
2+
功能: Linkis日志优化
3+
4+
作为 Linkis 系统管理员
5+
我希望 对系统日志进行优化
6+
以便 提升 安全性、可追溯性 和 运维效率
7+
8+
背景:
9+
Given Linkis系统已启动
10+
And 日志系统已配置
11+
12+
@p0 @token-desensitization
13+
场景: Token脱敏处理
14+
Given 用户通过UJES客户端访问Linkis
15+
And 客户端Token为 "abc123def456789"
16+
When 日志系统记录客户端连接信息
17+
Then 日志中应该输出脱敏后的Token "abc***789"
18+
And 原始Token "abc123def456789" 不应出现在日志中
19+
20+
@p0 @token-desensitization
21+
场景: 短Token脱敏处理
22+
Given 引擎连接Token为 "abc123"
23+
When 日志系统记录引擎连接信息
24+
Then 日志中应该输出脱敏后的Token "abc***"
25+
And 原始Token "abc123" 不应出现在日志中
26+
27+
@p1 @bml-hdfs-log
28+
场景: BML资源上传记录HDFS路径
29+
Given 用户 "admin" 准备上传资源
30+
And 资源ID为 "10001"
31+
When 资源上传成功
32+
And HDFS存储路径为 "hdfs://linkis/bml/resource/10001/v001"
33+
Then 应该记录INFO级别日志
34+
And 日志包含 "resourceId: 10001"
35+
And 日志包含 "version: v001"
36+
And 日志包含 "hdfsPath: hdfs://linkis/bml/resource/10001/v001"
37+
And 日志包含 "user: admin"
38+
39+
@p1 @bml-hdfs-log
40+
场景: BML资源下载记录HDFS路径
41+
Given 用户 "admin" 准备下载资源
42+
And 资源ID为 "10001"
43+
And 版本号为 "v001"
44+
下载资源
45+
And HDFS源路径为 "hdfs://linkis/bml/resource/10001/v001"
46+
Then 应该记录INFO级别日志
47+
And 日志包含 "resourceId: 10001"
48+
And 日志包含 "version: v001"
49+
And 日志包含 "hdfsPath: hdfs://linkis/bml/resource/10001/v001"
50+
And 日志包含 "user: admin"
51+
52+
@p1 @bml-hdfs-log
53+
场景: BML资源版本更新记录HDFS路径
54+
Given 用户 "admin" 准备更新资源版本
55+
And 资源ID为 "10001"
56+
When 版本更新成功
57+
And 新版本为 "v002"
58+
And 新HDFS路径为 "hdfs://linkis/bml/resource/10001/v002"
59+
Then 应该记录INFO级别日志
60+
And 日志包含 "resourceId: 10001"
61+
And 日志包含 "version: v002"
62+
And 日志包含 "hdfsPath: hdfs://linkis/bml/resource/10001/v002"
63+
And 日志包含 "user: admin"
64+
65+
@p1 @bml-hdfs-log
66+
场景: BML资源删除记录HDFS路径
67+
Given 管理员准备删除资源所有版本
68+
And 资源ID为 "10001"
69+
When 删除操作执行
70+
Then 应该记录INFO级别日志
71+
And 日志包含 "resourceId: 10001"
72+
And 日志包含 "hdfsPath"
73+
74+
@p1 @manager-kill-log
75+
场景: Linkis Manager killEngine记录详细信息
76+
Given 用户 "admin" 有一个运行中的Spark引擎
77+
And 引擎实例ID为 "engineConnExecId: 1"
78+
When Linkis Manager执行killEngine操作
79+
Then 应该记录INFO级别日志
80+
And 日志包含 "engineType: spark"
81+
And 日志包含 "user: admin"
82+
And 日志包含 "engineConnExecId: 1"
83+
And TicketId已脱敏
84+
85+
@p1 @hadoop-client-log
86+
场景: Spark引擎HDFS文件操作记录
87+
Given Spark引擎正在执行任务
88+
When 执行HDFS mkdir操作
89+
And 目录路径为 "/user/admin/tmp"
90+
Then 应该记录INFO级别日志
91+
And 日志包含 "type: mkdir"
92+
And 日志包含 "path: /user/admin/tmp"
93+
And 日志包含 "user: admin"
94+
And 日志包含 "result: success"
95+
96+
@p1 @hadoop-client-log
97+
场景: Spark引擎Kerberos认证记录
98+
Given Spark引擎使用Keytab认证
99+
When 执行Kerberos登录
100+
And 用户为 "admin"
101+
And Keytab路径为 "/path/to/keytab"
102+
Then 应该记录INFO级别日志
103+
And 日志包含 "user: admin"
104+
And 日志包含 "Kerberos"
105+
106+
@p1 @hadoop-client-log
107+
场景: Spark引擎Kerberos认证失败记录
108+
Given Spark引擎使用Keytab认证
109+
When Kerberos登录失败
110+
And 错误原因为 "Invalid principal"
111+
Then 应该记录WARN级别日志
112+
And 日志包含 "Kerberos auth failed"
113+
And 日志包含 "error: Invalid principal"
114+
115+
@p1 @hadoop-client-log
116+
场景: Hive引擎HDFS文件操作记录
117+
Given Hive引擎正在执行任务
118+
When 执行HDFS文件读取操作
119+
And 文件路径为 "/user/admin/data.csv"
120+
Then 应该记录INFO级别日志
121+
And 日志包含 "type: read"
122+
And 日志包含 "path: /user/admin/data.csv"
123+
124+
@p2 @spark-broadcast-log
125+
场景: Spark广播表FutureWarning日志级别
126+
Given Spark引擎使用广播表功能
127+
When 产生HiveContext deprecated告警
128+
Then 日志级别应为WARN
129+
And 日志内容包含 "FutureWarning: HiveContext is deprecated in Spark 2.0.0"
130+
131+
@regression
132+
场景: 验证Token脱敏不影响业务逻辑
133+
Given 用户通过UJES客户端访问Linkis
134+
And 客户端Token为 "abc123def456789"
135+
When 执行任务提交操作
136+
Then 任务应该成功执行
137+
And Token验证应通过
138+
And 日志中Token已脱敏
139+
140+
@regression
141+
场景: 验证日志量增加不影响性能
142+
Given 用户执行BML资源操作
143+
When 记录HDFS路径日志
144+
Then 操作响应时间应小于100ms
145+
And 日志记录时间应小于10ms

0 commit comments

Comments
 (0)