Skip to content

Commit 9133205

Browse files
authored
Merge pull request #610 from didi/dev
合并开发分支
2 parents f234f74 + 725ac10 commit 9133205

File tree

38 files changed

+350
-81
lines changed

38 files changed

+350
-81
lines changed

docs/install_guide/单机部署手册.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ sh deploy_KnowStreaming-offline.sh
5959

6060
### 2.1.3、容器部署
6161

62+
#### 2.1.3.1、Helm
63+
6264
**环境依赖**
6365

6466
- Kubernetes >= 1.14 ,Helm >= 2.17.0
@@ -87,6 +89,103 @@ helm pull knowstreaming/knowstreaming-manager
8789

8890
 
8991

92+
#### 2.1.3.2、Docker Compose
93+
```yml
94+
version: "3"
95+
96+
services:
97+
98+
knowstreaming-manager:
99+
image: knowstreaming/knowstreaming-manager:0.2.0-test
100+
container_name: knowstreaming-manager
101+
privileged: true
102+
restart: always
103+
depends_on:
104+
- elasticsearch-single
105+
- knowstreaming-mysql
106+
expose:
107+
- 80
108+
command:
109+
- /bin/sh
110+
- /ks-start.sh
111+
environment:
112+
TZ: Asia/Shanghai
113+
114+
SERVER_MYSQL_ADDRESS: knowstreaming-mysql:3306
115+
SERVER_MYSQL_DB: know_streaming
116+
SERVER_MYSQL_USER: root
117+
SERVER_MYSQL_PASSWORD: admin2022_
118+
119+
SERVER_ES_ADDRESS: elasticsearch-single:9200
120+
121+
JAVA_OPTS: -Xmx1g -Xms1g
122+
123+
# extra_hosts:
124+
# - "hostname:x.x.x.x"
125+
# volumes:
126+
# - /ks/manage/log:/logs
127+
knowstreaming-ui:
128+
image: knowstreaming/knowstreaming-ui:0.2.0-test1
129+
container_name: knowstreaming-ui
130+
restart: always
131+
ports:
132+
- '18092:80'
133+
environment:
134+
TZ: Asia/Shanghai
135+
depends_on:
136+
- knowstreaming-manager
137+
# extra_hosts:
138+
# - "hostname:x.x.x.x"
139+
140+
elasticsearch-single:
141+
image: docker.io/library/elasticsearch:7.6.2
142+
container_name: elasticsearch-single
143+
restart: always
144+
expose:
145+
- 9200
146+
- 9300
147+
# ports:
148+
# - '9200:9200'
149+
# - '9300:9300'
150+
environment:
151+
TZ: Asia/Shanghai
152+
ES_JAVA_OPTS: -Xms512m -Xmx512m
153+
discovery.type: single-node
154+
# volumes:
155+
# - /ks/es/data:/usr/share/elasticsearch/data
156+
157+
knowstreaming-init:
158+
image: knowstreaming/knowstreaming-manager:0.2.0-test
159+
container_name: knowstreaming_init
160+
depends_on:
161+
- elasticsearch-single
162+
command:
163+
- /bin/bash
164+
- /es_template_create.sh
165+
environment:
166+
TZ: Asia/Shanghai
167+
SERVER_ES_ADDRESS: elasticsearch-single:9200
168+
169+
170+
knowstreaming-mysql:
171+
image: knowstreaming/knowstreaming-mysql:0.2.0-test
172+
container_name: knowstreaming-mysql
173+
restart: always
174+
environment:
175+
TZ: Asia/Shanghai
176+
MYSQL_ROOT_PASSWORD: admin2022_
177+
MYSQL_DATABASE: know_streaming
178+
MYSQL_ROOT_HOST: '%'
179+
expose:
180+
- 3306
181+
# ports:
182+
# - '3306:3306'
183+
# volumes:
184+
# - /ks/mysql/data:/data/mysql
185+
```
186+
187+
 
188+
90189
### 2.1.4、手动部署
91190

92191
**部署流程**

docs/user_guide/faq.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,19 @@ Node 版本: v12.22.12
166166
需要到具体的应用中执行 `npm run start`,例如 `cd packages/layout-clusters-fe` 后,执行 `npm run start`
167167

168168
应用启动后需要到基座应用中查看(需要启动基座应用,即 layout-clusters-fe)。
169+
170+
171+
## 8.12、权限识别失败问题
172+
1、使用admin账号登陆KnowStreaming时,点击系统管理-用户管理-角色管理-新增角色,查看页面是否正常。
173+
174+
<img src="http://img-ys011.didistatic.com/static/dc2img/do1_gwGfjN9N92UxzHU8dfzr" width = "400" >
175+
176+
2、查看'/logi-security/api/v1/permission/tree'接口返回值,出现如下图所示乱码现象。
177+
![接口返回值](http://img-ys011.didistatic.com/static/dc2img/do1_jTxBkwNGU9vZuYQQbdNw)
178+
179+
3、查看logi_security_permission表,看看是否出现了中文乱码现象。
180+
181+
根据以上几点,我们可以确定是由于数据库乱码造成的权限识别失败问题。
182+
183+
+ 原因:由于数据库编码和我们提供的脚本不一致,数据库里的数据发生了乱码,因此出现权限识别失败问题。
184+
+ 解决方案:清空数据库数据,将数据库字符集调整为utf8,最后重新执行[dml-logi.sql](https://github.com/didi/KnowStreaming/blob/master/km-dist/init/sql/dml-logi.sql)脚本导入数据即可。

km-biz/src/main/java/com/xiaojukeji/know/streaming/km/biz/version/impl/VersionControlManagerImpl.java

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@
77
import com.didiglobal.logi.security.common.dto.config.ConfigDTO;
88
import com.didiglobal.logi.security.service.ConfigService;
99
import com.xiaojukeji.know.streaming.km.biz.version.VersionControlManager;
10+
import com.xiaojukeji.know.streaming.km.common.bean.dto.metrices.MetricDetailDTO;
1011
import com.xiaojukeji.know.streaming.km.common.bean.dto.metrices.UserMetricConfigDTO;
1112
import com.xiaojukeji.know.streaming.km.common.bean.entity.config.metric.UserMetricConfig;
1213
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
1314
import com.xiaojukeji.know.streaming.km.common.bean.entity.version.VersionControlItem;
1415
import com.xiaojukeji.know.streaming.km.common.bean.vo.config.metric.UserMetricConfigVO;
1516
import com.xiaojukeji.know.streaming.km.common.bean.vo.version.VersionItemVO;
17+
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
1618
import com.xiaojukeji.know.streaming.km.common.enums.version.VersionEnum;
1719
import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
1820
import com.xiaojukeji.know.streaming.km.common.utils.VersionUtil;
@@ -47,48 +49,48 @@ public class VersionControlManagerImpl implements VersionControlManager {
4749
@PostConstruct
4850
public void init(){
4951
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_HEALTH_SCORE, true));
50-
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_TOTAL_PRODUCE_REQUESTS, true));
5152
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_FAILED_FETCH_REQ, true));
5253
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_FAILED_PRODUCE_REQ, true));
53-
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_MESSAGE_IN, true));
5454
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_UNDER_REPLICA_PARTITIONS, true));
55+
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_TOTAL_PRODUCE_REQUESTS, true));
5556
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_BYTES_IN, true));
5657
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_BYTES_OUT, true));
5758
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_BYTES_REJECTED, true));
59+
defaultMetrics.add(new UserMetricConfig(METRIC_TOPIC.getCode(), TOPIC_METRIC_MESSAGE_IN, true));
5860

5961
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_HEALTH_SCORE, true));
60-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_REQ_QUEUE_SIZE, true));
61-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_RES_QUEUE_SIZE, true));
6262
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_ACTIVE_CONTROLLER_COUNT, true));
63-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_PRODUCE_REQ, true));
64-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_LOG_SIZE, true));
65-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_CONNECTIONS, true));
66-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_MESSAGES_IN, true));
6763
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_BYTES_IN, true));
6864
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_BYTES_OUT, true));
69-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_GROUP_REBALANCES, true));
70-
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_JOB_RUNNING, true));
65+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_CONNECTIONS, true));
66+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_MESSAGES_IN, true));
7167
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_PARTITIONS_NO_LEADER, true));
7268
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_PARTITION_URP, true));
69+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_LOG_SIZE, true));
70+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_PRODUCE_REQ, true));
71+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_REQ_QUEUE_SIZE, true));
72+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_TOTAL_RES_QUEUE_SIZE, true));
73+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_GROUP_REBALANCES, true));
74+
defaultMetrics.add(new UserMetricConfig(METRIC_CLUSTER.getCode(), CLUSTER_METRIC_JOB_RUNNING, true));
7375

7476
defaultMetrics.add(new UserMetricConfig(METRIC_GROUP.getCode(), GROUP_METRIC_OFFSET_CONSUMED, true));
7577
defaultMetrics.add(new UserMetricConfig(METRIC_GROUP.getCode(), GROUP_METRIC_LAG, true));
7678
defaultMetrics.add(new UserMetricConfig(METRIC_GROUP.getCode(), GROUP_METRIC_STATE, true));
7779
defaultMetrics.add(new UserMetricConfig(METRIC_GROUP.getCode(), GROUP_METRIC_HEALTH_SCORE, true));
7880

7981
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_HEALTH_SCORE, true));
80-
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_TOTAL_REQ_QUEUE, true));
81-
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_TOTAL_RES_QUEUE, true));
82+
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_CONNECTION_COUNT, true));
8283
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_MESSAGE_IN, true));
83-
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_TOTAL_PRODUCE_REQ, true));
8484
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_NETWORK_RPO_AVG_IDLE, true));
8585
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_REQ_AVG_IDLE, true));
86-
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_CONNECTION_COUNT, true));
87-
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_BYTES_IN, true));
88-
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_BYTES_OUT, true));
89-
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_PARTITIONS_SKEW, true));
86+
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_TOTAL_PRODUCE_REQ, true));
87+
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_TOTAL_REQ_QUEUE, true));
88+
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_TOTAL_RES_QUEUE, true));
9089
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_LEADERS_SKEW, true));
9190
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_UNDER_REPLICATE_PARTITION, true));
91+
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_PARTITIONS_SKEW, true));
92+
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_BYTES_IN, true));
93+
defaultMetrics.add(new UserMetricConfig(METRIC_BROKER.getCode(), BROKER_METRIC_BYTES_OUT, true));
9294
}
9395

9496
@Autowired
@@ -159,6 +161,9 @@ public Result<List<UserMetricConfigVO>> listUserMetricItem(Long clusterId, Integ
159161

160162
UserMetricConfig umc = userMetricConfigMap.get(itemType + "@" + metric);
161163
userMetricConfigVO.setSet(null != umc && umc.isSet());
164+
if (umc != null) {
165+
userMetricConfigVO.setRank(umc.getRank());
166+
}
162167
userMetricConfigVO.setName(itemVO.getName());
163168
userMetricConfigVO.setType(itemVO.getType());
164169
userMetricConfigVO.setDesc(itemVO.getDesc());
@@ -178,13 +183,29 @@ public Result<List<UserMetricConfigVO>> listUserMetricItem(Long clusterId, Integ
178183
@Override
179184
public Result<Void> updateUserMetricItem(Long clusterId, Integer type, UserMetricConfigDTO dto, String operator) {
180185
Map<String, Boolean> metricsSetMap = dto.getMetricsSet();
181-
if(null == metricsSetMap || metricsSetMap.isEmpty()){
186+
187+
//转换metricDetailDTOList
188+
List<MetricDetailDTO> metricDetailDTOList = dto.getMetricDetailDTOList();
189+
Map<String, MetricDetailDTO> metricDetailMap = new HashMap<>();
190+
if (metricDetailDTOList != null && !metricDetailDTOList.isEmpty()) {
191+
metricDetailMap = metricDetailDTOList.stream().collect(Collectors.toMap(MetricDetailDTO::getMetric, Function.identity()));
192+
}
193+
194+
//转换metricsSetMap
195+
if (metricsSetMap != null && !metricsSetMap.isEmpty()) {
196+
for (Map.Entry<String, Boolean> metricAndShowEntry : metricsSetMap.entrySet()) {
197+
if (metricDetailMap.containsKey(metricAndShowEntry.getKey())) continue;
198+
metricDetailMap.put(metricAndShowEntry.getKey(), new MetricDetailDTO(metricAndShowEntry.getKey(), metricAndShowEntry.getValue(), null));
199+
}
200+
}
201+
202+
if (metricDetailMap.isEmpty()) {
182203
return Result.buildSuc();
183204
}
184205

185206
Set<UserMetricConfig> userMetricConfigs = getUserMetricConfig(operator);
186-
for(Map.Entry<String, Boolean> metricAndShowEntry : metricsSetMap.entrySet()){
187-
UserMetricConfig userMetricConfig = new UserMetricConfig(type, metricAndShowEntry.getKey(), metricAndShowEntry.getValue());
207+
for (MetricDetailDTO metricDetailDTO : metricDetailMap.values()) {
208+
UserMetricConfig userMetricConfig = new UserMetricConfig(type, metricDetailDTO.getMetric(), metricDetailDTO.getSet(), metricDetailDTO.getRank());
188209
userMetricConfigs.remove(userMetricConfig);
189210
userMetricConfigs.add(userMetricConfig);
190211
}
@@ -228,7 +249,7 @@ private Set<UserMetricConfig> getUserMetricConfig(String operator){
228249
return defaultMetrics;
229250
}
230251

231-
return JSON.parseObject(value, new TypeReference<Set<UserMetricConfig>>(){});
252+
return JSON.parseObject(value, new TypeReference<Set<UserMetricConfig>>() {});
232253
}
233254

234255
public static void main(String[] args){
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.xiaojukeji.know.streaming.km.common.bean.dto.metrices;
2+
3+
import com.xiaojukeji.know.streaming.km.common.bean.dto.BaseDTO;
4+
import io.swagger.annotations.ApiModel;
5+
import io.swagger.annotations.ApiModelProperty;
6+
import lombok.AllArgsConstructor;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
/**
11+
* @author didi
12+
*/
13+
@Data
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
@ApiModel(description = "指标详细属性信息")
17+
public class MetricDetailDTO extends BaseDTO {
18+
19+
@ApiModelProperty("指标名称")
20+
private String metric;
21+
22+
@ApiModelProperty("指标是否显示")
23+
private Boolean set;
24+
25+
@ApiModelProperty("指标优先级")
26+
private Integer rank;
27+
28+
}

km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/dto/metrices/UserMetricConfigDTO.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import lombok.Data;
88
import lombok.NoArgsConstructor;
99

10+
import java.util.List;
1011
import java.util.Map;
1112

1213

@@ -17,4 +18,7 @@
1718
public class UserMetricConfigDTO extends BaseDTO {
1819
@ApiModelProperty("指标展示设置项,key:指标名;value:是否展现(true展现/false不展现)")
1920
private Map<String, Boolean> metricsSet;
21+
22+
@ApiModelProperty("指标自定义属性列表")
23+
private List<MetricDetailDTO> metricDetailDTOList;
2024
}

km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/broker/Broker.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import com.xiaojukeji.know.streaming.km.common.bean.entity.common.IpPortData;
66
import com.xiaojukeji.know.streaming.km.common.bean.po.broker.BrokerPO;
77
import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
8-
import com.xiaojukeji.know.streaming.km.common.zookeeper.znode.brokers.BrokerMetadata;
98
import lombok.AllArgsConstructor;
109
import lombok.Data;
1110
import lombok.NoArgsConstructor;
@@ -79,20 +78,6 @@ public static Broker buildFrom(Long clusterPhyId, Node node, Long startTimestamp
7978
return metadata;
8079
}
8180

82-
public static Broker buildFrom(Long clusterPhyId, Integer brokerId, BrokerMetadata brokerMetadata) {
83-
Broker metadata = new Broker();
84-
metadata.setClusterPhyId(clusterPhyId);
85-
metadata.setBrokerId(brokerId);
86-
metadata.setHost(brokerMetadata.getHost());
87-
metadata.setPort(brokerMetadata.getPort());
88-
metadata.setJmxPort(brokerMetadata.getJmxPort());
89-
metadata.setStartTimestamp(brokerMetadata.getTimestamp());
90-
metadata.setRack(brokerMetadata.getRack());
91-
metadata.setStatus(1);
92-
metadata.setEndpointMap(brokerMetadata.getEndpointMap());
93-
return metadata;
94-
}
95-
9681
public static Broker buildFrom(BrokerPO brokerPO) {
9782
Broker broker = ConvertUtil.obj2Obj(brokerPO, Broker.class);
9883
String endpointMapStr = brokerPO.getEndpointMap();

km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/entity/config/metric/UserMetricConfig.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package com.xiaojukeji.know.streaming.km.common.bean.entity.config.metric;
22

3+
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
34
import lombok.AllArgsConstructor;
45
import lombok.Data;
56
import lombok.NoArgsConstructor;
67

78
@Data
89
@NoArgsConstructor
9-
@AllArgsConstructor
1010
public class UserMetricConfig {
1111

1212
private int type;
@@ -15,6 +15,22 @@ public class UserMetricConfig {
1515

1616
private boolean set;
1717

18+
private Integer rank;
19+
20+
public UserMetricConfig(int type, String metric, boolean set, Integer rank) {
21+
this.type = type;
22+
this.metric = metric;
23+
this.set = set;
24+
this.rank = rank;
25+
}
26+
27+
public UserMetricConfig(int type, String metric, boolean set) {
28+
this.type = type;
29+
this.metric = metric;
30+
this.set = set;
31+
this.rank = null;
32+
}
33+
1834
@Override
1935
public int hashCode(){
2036
return metric.hashCode() << 1 + type;

km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/bean/vo/config/metric/UserMetricConfigVO.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@
1414
public class UserMetricConfigVO extends VersionItemVO {
1515
@ApiModelProperty(value = "该指标用户是否设置展现", example = "true")
1616
private Boolean set;
17+
18+
@ApiModelProperty(value = "该指标展示优先级", example = "1")
19+
private Integer rank;
1720
}

km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/constant/Constant.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ private Constant() {}
4242
*/
4343
public static final Integer DEFAULT_CLUSTER_HEALTH_SCORE = 90;
4444

45+
4546
public static final String DEFAULT_USER_NAME = "know-streaming-app";
4647

4748
public static final int INVALID_CODE = -1;

0 commit comments

Comments
 (0)