diff --git a/.gitignore b/.gitignore
index 625190ea5..a5f8e1c1c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@ streamis-appconn/target
**/._*
**/.flattened-pom.xml
+*.patch
\ No newline at end of file
diff --git a/assembly/pom.xml b/assembly/pom.xml
index fef17c40b..c0d5b19d1 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -20,7 +20,7 @@
streamis
com.webank.wedatasphere.streamis
- 0.3.1
+ ${revision}
4.0.0
@@ -54,7 +54,7 @@
false
- wedatasphere-streamis-${streamis.version}-dist
+ wedatasphere-streamis-${project.version}-dist
false
false
diff --git a/bin/install.sh b/bin/install.sh
index 35d03c1b5..ccbf5c3f3 100644
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -119,12 +119,11 @@ cd $SERVER_HOME/;unzip $SERVERNAME.zip > /dev/null
isSuccess "unzip ${SERVERNAME}.zip"
echo "$SERVERNAME-step3:subsitution conf"
-SERVER_CONF_PATH=$SERVER_HOME/$SERVERNAME/conf/application.yml
-sed -i "s#port:.*#port: $SERVER_PORT#g" $SERVER_CONF_PATH
-sed -i "s#defaultZone:.*#defaultZone: $EUREKA_URL#g" $SERVER_CONF_PATH
-sed -i "s#hostname:.*#hostname: $SERVER_IP#g" $SERVER_CONF_PATH
-isSuccess "subsitution conf of $SERVERNAME"
-}
+SERVER_CONF_PATH=$SERVER_HOME/$SERVERNAME/conf/application.properties
+sed -i "s#server.port.*#server.port=$SERVER_PORT#g" $SERVER_CONF_PATH
+sed -i "s#eureka.client.serviceUrl.defaultZone.*#eureka.client.serviceUrl.defaultZone=$EUREKA_URL#g" $SERVER_CONF_PATH
+ isSuccess "subsitution conf of $SERVERNAME"
+ }
function setDatasourcePassword(){
PASSWORD=$MYSQL_PASSWORD
@@ -152,6 +151,8 @@ setDatasourcePassword
sed -i "s#wds.linkis.gateway.ip.*#wds.linkis.gateway.ip=$GATEWAY_INSTALL_IP#g" $SERVER_CONF_PATH
sed -i "s#wds.linkis.gateway.port.*#wds.linkis.gateway.port=$GATEWAY_PORT#g" $SERVER_CONF_PATH
sed -i "s#wds.linkis.gateway.url.*#wds.linkis.gateway.url=http://${GATEWAY_INSTALL_IP}:${GATEWAY_PORT}#g" $SERVER_CONF_PATH
+sed -i "s#\#wds.linkis.token=.*#wds.linkis.token=${STREAMIS_LINKIS_TOKEN}#g" $SERVER_CONF_PATH
+sed -i "s#wds.linkis.flink.engine.version=.*#wds.linkis.flink.engine.version=${LINKIS_FLINK_VERSION}#g" $SERVER_CONF_PATH
isSuccess "subsitution linkis.properties of $SERVERNAME"
echo "<----------------$SERVERNAME:end------------------->"
echo ""
diff --git a/conf/config.sh b/conf/config.sh
index b1a22f287..d5ee955ac 100644
--- a/conf/config.sh
+++ b/conf/config.sh
@@ -40,6 +40,12 @@ GATEWAY_PORT=9001
STREAMIS_SERVER_INSTALL_IP=127.0.0.1
STREAMIS_SERVER_INSTALL_PORT=9400
-STREAMIS_VERSION=0.3.1
+STREAMIS_VERSION=0.3.2
-STREAMIS_FILE_NAME="STREAMIS-$STREAMIS_VERSION"
\ No newline at end of file
+STREAMIS_FILE_NAME="STREAMIS-$STREAMIS_VERSION"
+
+# guarantee that the token is configured within the Linkis management console
+STREAMIS_LINKIS_TOKEN=streamis-auth
+
+# fill in the available Flink versions on Linkis.
+LINKIS_FLINK_VERSION=1.16.2
\ No newline at end of file
diff --git a/db/streamis_ddl.sql b/db/streamis_ddl.sql
index 5f3108bee..115d4eb41 100644
--- a/db/streamis_ddl.sql
+++ b/db/streamis_ddl.sql
@@ -132,10 +132,11 @@ CREATE TABLE `linkis_stream_job` (
`create_time` datetime DEFAULT NULL,
`label` varchar(200) DEFAULT NULL,
`description` varchar(200) DEFAULT NULL,
- `job_type` varchar(30) DEFAULT NULL COMMENT '目前只支持flink.sql、flink.jar、spark.jar',
+ `job_type` varchar(30) DEFAULT NULL COMMENT '目前只支持flink.sql、flink.jar',
`submit_user` varchar(100) DEFAULT NULL,
`workspace_name` varchar(50) DEFAULT NULL,
`current_version` varchar(50) DEFAULT NULL,
+ `enable` tinyint(1) DEFAULT '1',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY(`project_name`, `name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='作业表';
@@ -148,14 +149,14 @@ CREATE TABLE `linkis_stream_job_version` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`job_id` varchar(50) DEFAULT NULL,
`version` varchar(20) DEFAULT NULL,
- `source` varchar(255) DEFAULT NULL COMMENT '这个版本的来源,比如:用户上传,由某个历史版本回退回来的',
+ `source` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '这个版本的来源,比如:用户上传,由某个历史版本回退回来的',
`job_content` text COMMENT '内容为meta.json',
`manage_mode` varchar(30) DEFAULT 'EngineConn' COMMENT 'Manage mode',
`comment` varchar(255) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`create_by` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY(`job_id`, `version`)
+ UNIQUE KEY `job_id`(`job_id`, `version`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='作业表';
/*Table structure for table `linkis_stream_job_version_files` */
@@ -184,6 +185,10 @@ CREATE TABLE `linkis_stream_project` (
`workspace_id` bigint(20) DEFAULT NULL,
`name` varchar(100) DEFAULT NULL,
`create_by` varchar(50) DEFAULT NULL,
+ `create_time` datetime DEFAULT NULL,
+ `last_update_by` varchar(50) DEFAULT NULL,
+ `last_update_time` datetime DEFAULT NULL,
+ `is_deleted` tinyint(3) unsigned DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='项目表';
@@ -203,11 +208,47 @@ CREATE TABLE `linkis_stream_project_files` (
`comment` varchar(255) DEFAULT NULL COMMENT '说明',
`update_time` datetime DEFAULT NULL,
`md5` varchar(100) DEFAULT NULL COMMENT '文件md5',
+ `source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='项目表';
+
+/*Table structure for table `linkis_stream_project_job_template` */
+
+DROP TABLE IF EXISTS `linkis_stream_project_job_template`;
+
+CREATE TABLE `linkis_stream_project_job_template` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `store_path` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `meta_json` text COLLATE utf8_bin,
+ `version` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `date` datetime DEFAULT NULL,
+ `project_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
+ `enable` tinyint(1) DEFAULT '1',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+
+/*Table structure for table `linkis_stream_register_info` */
+
+
+DROP TABLE IF EXISTS `linkis_stream_register_info`;
+
+CREATE TABLE `linkis_stream_register_info` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `job_id` bigint(20) DEFAULT NULL,
+ `application_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `password` varchar(255) COLLATE utf8_bin DEFAULT NULL,
+ `register_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `heartbeat_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=171425 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
+
+
/*Table structure for table `linkis_stream_task` */
+
DROP TABLE IF EXISTS `linkis_stream_task`;
CREATE TABLE `linkis_stream_task` (
@@ -222,7 +263,10 @@ CREATE TABLE `linkis_stream_task` (
`submit_user` varchar(50) DEFAULT NULL,
`linkis_job_id` varchar(200) DEFAULT NULL,
`linkis_job_info` mediumtext,
- `job_start_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'streamis job startup config',
+ `server_instance` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'streamis server instance',
+ `job_start_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'streamis job startup config',
+ `solution` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'error code solution',
+ `template_id` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='任务表';
@@ -261,6 +305,7 @@ CREATE TABLE `linkis_stream_error_code` (
`error_desc` varchar(1024) COLLATE utf8_bin NOT NULL,
`error_regex` varchar(1024) COLLATE utf8_bin DEFAULT NULL,
`error_type` int(3) DEFAULT '0',
+ `solution` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'error code solution',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
@@ -279,13 +324,10 @@ CREATE TABLE `linkis_stream_audit_log` (
`project_name` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`client_ip` varchar(100) COLLATE utf8_bin DEFAULT NULL,
`cost_time_mills` bigint(20) NULL,
+ `job_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-ALTER TABLE `linkis_stream_project` ADD create_time datetime DEFAULT NULL;
-ALTER TABLE `linkis_stream_project` ADD last_update_by varchar(50) DEFAULT NULL;
-ALTER TABLE `linkis_stream_project` ADD last_update_time datetime DEFAULT NULL;
-ALTER TABLE `linkis_stream_project` ADD is_deleted tinyint unsigned DEFAULT 0;
-ALTER TABLE linkis_stream_project_files ADD source varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL;
+
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/db/upgrade/0.3.2/upgrade_ddl.sql b/db/upgrade/0.3.2/upgrade_ddl.sql
new file mode 100644
index 000000000..43440d636
--- /dev/null
+++ b/db/upgrade/0.3.2/upgrade_ddl.sql
@@ -0,0 +1,15 @@
+
+ALTER TABLE linkis_stream_audit_log
+ ADD COLUMN `job_name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
+
+ALTER TABLE linkis_stream_error_code
+ ADD COLUMN solution TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'error code solution';
+
+ALTER TABLE linkis_stream_job
+ ADD COLUMN enable tinyint(1) DEFAULT 1;
+
+ALTER TABLE linkis_stream_task
+ ADD COLUMN `solution` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'error code solution';
+
+ALTER TABLE linkis_stream_task
+ ADD COLUMN `template_id` bigint(20) DEFAULT NULL;
diff --git a/new-web/src/pages/auditLogs/index.vue b/new-web/src/pages/auditLogs/index.vue
index 633c3e8ea..0985a1431 100644
--- a/new-web/src/pages/auditLogs/index.vue
+++ b/new-web/src/pages/auditLogs/index.vue
@@ -35,6 +35,14 @@
>
+
+ 应用名称
+
+
+
时间范围
+
com.webank.wedatasphere.streamis
streamis
- 0.3.1
+ ${revision}
pom
Streamis Project Parent POM
@@ -45,16 +45,15 @@
- 1.4.0
+ 0.3.2
+ 1.7.0
4.12
- 1.1.2
- 0.3.1
- 2.11.12
+ 1.2.2
+ 2.12.17
1.8
3.3.3
2.8.5
1.31
- 2.13.2
3.1.1
4.5.4
4.5.4
@@ -70,10 +69,11 @@
0.9.10
2.21
1.9.5
- 1.4.19
- 5.1.47
+ 8.0.28
2.0.1.Final
- 1.4.20
+ 1.4.21
+ 1.3.0
+ 9.4.54.v20240208
@@ -152,11 +152,6 @@
gson
${gson.version}
-
- com.fasterxml.jackson.core
- jackson-databind
- ${fasterxml.jackson.version}
-
org.apache.commons
commons-math3
@@ -225,6 +220,31 @@
+
+ org.codehaus.mojo
+ flatten-maven-plugin
+ ${flatten-maven-plugin.version}
+
+ true
+ resolveCiFriendliesOnly
+
+
+
+ flatten
+
+ flatten
+
+ process-resources
+
+
+ flatten.clean
+
+ clean
+
+ clean
+
+
+
org.apache.maven.plugins
maven-deploy-plugin
@@ -276,7 +296,17 @@
net.alchim31.maven
scala-maven-plugin
- 3.2.2
+ 4.8.1
+
+ incremental
+
+ -unchecked
+ -deprecation
+ -feature
+ -explaintypes
+ -target:jvm-8
+
+
eclipse-add-source
@@ -286,31 +316,19 @@
scala-compile-first
- process-resources
compile
+ process-resources
scala-test-compile-first
- process-test-resources
testCompile
-
-
- attach-scaladocs
- verify
-
- doc-jar
-
+ process-test-resources
-
- ${scala.version}
- incremental
- true
-
org.apache.maven.plugins
@@ -319,5 +337,11 @@
+
+
+ org.codehaus.mojo
+ flatten-maven-plugin
+
+
\ No newline at end of file
diff --git a/streamis-appconn/pom.xml b/streamis-appconn/pom.xml
index d71d69abb..b2374c08d 100644
--- a/streamis-appconn/pom.xml
+++ b/streamis-appconn/pom.xml
@@ -5,7 +5,7 @@
streamis
com.webank.wedatasphere.streamis
- 0.3.1
+ ${revision}
4.0.0
diff --git a/streamis-jobmanager/pom.xml b/streamis-jobmanager/pom.xml
index 36aac3adf..f49a9fc4d 100644
--- a/streamis-jobmanager/pom.xml
+++ b/streamis-jobmanager/pom.xml
@@ -20,7 +20,7 @@
streamis
com.webank.wedatasphere.streamis
- 0.3.1
+ ${revision}
4.0.0
diff --git a/streamis-jobmanager/streamis-job-audit-log/pom.xml b/streamis-jobmanager/streamis-job-audit-log/pom.xml
index 575dc209c..822848270 100644
--- a/streamis-jobmanager/streamis-job-audit-log/pom.xml
+++ b/streamis-jobmanager/streamis-job-audit-log/pom.xml
@@ -20,7 +20,7 @@
streamis
com.webank.wedatasphere.streamis
- 0.3.1
+ ${revision}
../../pom.xml
4.0.0
@@ -37,22 +37,17 @@
org.apache.linkis
linkis-common
+ ${linkis.version}
org.apache.linkis
linkis-module
-
-
- org.mybatis
- mybatis
- 3.5.7
- compile
+ ${linkis.version}
com.webank.wedatasphere.streamis
streamis-job-manager-service
- ${streamis.version}
- compile
+ ${project.version}
diff --git a/streamis-jobmanager/streamis-job-audit-log/src/main/java/com/webank/wedatasphere/streamis/audit/log/aspect/AuditLogAspect.java b/streamis-jobmanager/streamis-job-audit-log/src/main/java/com/webank/wedatasphere/streamis/audit/log/aspect/AuditLogAspect.java
index 18e8403e7..191ae3d58 100644
--- a/streamis-jobmanager/streamis-job-audit-log/src/main/java/com/webank/wedatasphere/streamis/audit/log/aspect/AuditLogAspect.java
+++ b/streamis-jobmanager/streamis-job-audit-log/src/main/java/com/webank/wedatasphere/streamis/audit/log/aspect/AuditLogAspect.java
@@ -26,11 +26,7 @@
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
-import java.io.BufferedReader;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -48,6 +44,9 @@ public class AuditLogAspect {
private static final Pattern PROJECT_NAME_PATTERN = Pattern.compile("[?&]projectName=([^&]+)");
+ private static final String PROJECT_NAME = "projectName";
+ private static final String JOB_ID = "jobId";
+ private static final String BULK_SUBJECT = "bulkSubject";
@PostConstruct
private void init() {
@@ -65,6 +64,9 @@ public Object captureAndLogAuditLog(ProceedingJoinPoint joinPoint) throws Throwa
String userName = proxyUserEntity.getUsername();
Map requestParams = getRequestParamsByProceedingJoinPoint(joinPoint);
+ if (requestParams.containsKey("response")) {
+ requestParams.remove("response");
+ }
Object result = null;
long startTime = System.currentTimeMillis();
try {
@@ -74,14 +76,15 @@ public Object captureAndLogAuditLog(ProceedingJoinPoint joinPoint) throws Throwa
throw e;
}
long costTime = System.currentTimeMillis() - startTime;
+ String jobName = getJobNameFromRequest(req, requestParams, method);
result = Optional.ofNullable(result).orElse("--");
- logAuditInformationAsync(req, requestURI, requestParams, parseObjectToString(result), proxyUser, userName, method, costTime);
+ logAuditInformationAsync(req, requestURI, requestParams, parseObjectToString(result), proxyUser, userName, method, costTime, jobName);
return result;
}
@Async
public void logAuditInformationAsync(HttpServletRequest req, String requestURI, Map requestParams,
- String result, String proxyUser, String userName, String method, long costTimeMills) {
+ String result, String proxyUser, String userName, String method, long costTimeMills,String jobName) {
if (!JobAuditConf.AUDIT_LOG_ENABLE.getValue()) {
return;
}
@@ -111,14 +114,14 @@ public void logAuditInformationAsync(HttpServletRequest req, String requestURI,
projectName = getProjectNameFromReferer(req.getHeader("Referer"));
}
try {
- logAuditInformation(requestURI, parseObjectToString(requestParams), result, proxyUser, userName, method, projectName, costTimeMills);
+ logAuditInformation(requestURI, parseObjectToString(requestParams), result, proxyUser, userName, method, projectName, costTimeMills,jobName);
} catch (Exception e) {
LOG.error("审计日志记录保存失败");
}
}
- private void logAuditInformation(String requestURI, String requestParams, String result, String proxyUser, String userName, String method, String projectName, long costTimeMills) {
+ private void logAuditInformation(String requestURI, String requestParams, String result, String proxyUser, String userName, String method, String projectName, long costTimeMills,String jobName) {
String apiDesc = InterfaceDescriptionEnum.getDescriptionByUrl(requestURI);
String clientIp = getClientIp();
StreamAuditLog auditLog = new StreamAuditLog();
@@ -133,6 +136,7 @@ private void logAuditInformation(String requestURI, String requestParams, String
auditLog.setProjectName(projectName);
auditLog.setClientIp(clientIp);
auditLog.setCostTimeMills(costTimeMills);
+ auditLog.setJobName(jobName);
auditLogService.saveAuditLog(auditLog);
}
@@ -163,6 +167,13 @@ private Map buildRequestParam(String[] paramNames, Object[] para
//如果是批量文件上传
if (value instanceof List) {
try {
+ List