Skip to content

Commit b74612f

Browse files
authored
Merge pull request #134 from didi/dev_2.2.0
merge dev 2.2.0
2 parents 0ef64fa + 22e0c20 commit b74612f

File tree

84 files changed

+789
-412
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+789
-412
lines changed

build.sh

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ cd $workspace
44

55
## constant
66
OUTPUT_DIR=./output
7-
KM_VERSION=2.1.0
8-
APP_NAME=kafka-manager-$KM_VERSION
7+
KM_VERSION=2.2.0
8+
APP_NAME=kafka-manager
9+
APP_DIR=${APP_NAME}-${KM_VERSION}
910

1011
MYSQL_TABLE_SQL_FILE=./docs/install_guide/create_mysql_table.sql
1112
CONFIG_FILE=./kafka-manager-web/src/main/resources/application.yml
@@ -28,23 +29,23 @@ function build() {
2829
function make_output() {
2930
# 新建output目录
3031
rm -rf ${OUTPUT_DIR} &>/dev/null
31-
mkdir -p ${OUTPUT_DIR}/${APP_NAME} &>/dev/null
32+
mkdir -p ${OUTPUT_DIR}/${APP_DIR} &>/dev/null
3233

3334
# 填充output目录, output内的内容
3435
(
35-
cp -rf ${MYSQL_TABLE_SQL_FILE} ${OUTPUT_DIR}/${APP_NAME} && # 拷贝 sql 初始化脚本 至output目录
36-
cp -rf ${CONFIG_FILE} ${OUTPUT_DIR}/${APP_NAME} && # 拷贝 application.yml 至output目录
36+
cp -rf ${MYSQL_TABLE_SQL_FILE} ${OUTPUT_DIR}/${APP_DIR} && # 拷贝 sql 初始化脚本 至output目录
37+
cp -rf ${CONFIG_FILE} ${OUTPUT_DIR}/${APP_DIR} && # 拷贝 application.yml 至output目录
3738

3839
# 拷贝程序包到output路径
39-
cp kafka-manager-web/target/kafka-manager-web-${KM_VERSION}-SNAPSHOT.jar ${OUTPUT_DIR}/${APP_NAME}/${APP_NAME}-SNAPSHOT.jar
40+
cp kafka-manager-web/target/kafka-manager-web-${KM_VERSION}-SNAPSHOT.jar ${OUTPUT_DIR}/${APP_DIR}/${APP_NAME}.jar
4041
echo -e "make output ok."
4142
) || { echo -e "make output error"; exit 2; } # 填充output目录失败后, 退出码为 非0
4243
}
4344

4445
function make_package() {
4546
# 压缩output目录
4647
(
47-
cd ${OUTPUT_DIR} && tar cvzf ${APP_NAME}.tar.gz ${APP_NAME}
48+
cd ${OUTPUT_DIR} && tar cvzf ${APP_DIR}.tar.gz ${APP_DIR}
4849
echo -e "make package ok."
4950
) || { echo -e "make package error"; exit 2; } # 压缩output目录失败后, 退出码为 非0
5051
}
-150 KB
Binary file not shown.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
---
3+
4+
![kafka-manager-logo](../../assets/images/common/logo_name.png)
5+
6+
**一站式`Apache Kafka`集群指标监控与运维管控平台**
7+
8+
---
9+
10+
# 升级至`2.2.0`版本
11+
12+
`2.2.0`版本在`cluster`表及`logical_cluster`各增加了一个字段,因此需要执行下面的sql进行字段的增加。
13+
14+
```sql
15+
# 往cluster表中增加jmx_properties字段, 这个字段会用于存储jmx相关的认证以及配置信息
16+
ALTER TABLE `cluster` ADD COLUMN `jmx_properties` TEXT NULL COMMENT 'JMX配置' AFTER `security_properties`;
17+
18+
# 往logical_cluster中增加identification字段, 同时数据和原先name数据相同, 最后增加一个唯一键.
19+
# 此后, name字段还是表示集群名称, 而identification字段表示的是集群标识, 只能是字母数字及下划线组成,
20+
# 数据上报到监控系统时, 集群这个标识采用的字段就是identification字段, 之前使用的是name字段.
21+
ALTER TABLE `logical_cluster` ADD COLUMN `identification` VARCHAR(192) NOT NULL DEFAULT '' COMMENT '逻辑集群标识' AFTER `name`;
22+
23+
UPDATE `logical_cluster` SET `identification`=`name` WHERE id>=0;
24+
25+
ALTER TABLE `logical_cluster` ADD INDEX `uniq_identification` (`identification` ASC);
26+
```
27+

docs/install_guide/create_mysql_table.sql

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
-- create database
2+
CREATE DATABASE logi_kafka_manager;
3+
4+
USE logi_kafka_manager;
5+
16
--
27
-- Table structure for table `account`
38
--
@@ -104,7 +109,8 @@ CREATE TABLE `cluster` (
104109
`zookeeper` varchar(512) NOT NULL DEFAULT '' COMMENT 'zk地址',
105110
`bootstrap_servers` varchar(512) NOT NULL DEFAULT '' COMMENT 'server地址',
106111
`kafka_version` varchar(32) NOT NULL DEFAULT '' COMMENT 'kafka版本',
107-
`security_properties` text COMMENT '安全认证参数',
112+
`security_properties` text COMMENT 'Kafka安全认证参数',
113+
`jmx_properties` text COMMENT 'JMX配置',
108114
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT ' 监控标记, 0表示未监控, 1表示监控中',
109115
`gmt_create` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
110116
`gmt_modify` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
@@ -302,20 +308,22 @@ INSERT INTO kafka_user(app_id, password, user_type, operation) VALUES ('dkm_admi
302308
-- Table structure for table `logical_cluster`
303309
--
304310

305-
-- DROP TABLE IF EXISTS `logical_cluster`;
306311
CREATE TABLE `logical_cluster` (
307-
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
308-
`name` varchar(192) NOT NULL DEFAULT '' COMMENT '逻辑集群名称',
309-
`mode` int(16) NOT NULL DEFAULT '0' COMMENT '逻辑集群类型, 0:共享集群, 1:独享集群, 2:独立集群',
310-
`app_id` varchar(64) NOT NULL DEFAULT '' COMMENT '所属应用',
311-
`cluster_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT '集群id',
312-
`region_list` varchar(256) NOT NULL DEFAULT '' COMMENT 'regionid列表',
313-
`description` text COMMENT '备注说明',
314-
`gmt_create` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
315-
`gmt_modify` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
316-
PRIMARY KEY (`id`),
317-
UNIQUE KEY `uniq_name` (`name`)
318-
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='逻辑集群信息表';
312+
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
313+
`name` varchar(192) NOT NULL DEFAULT '' COMMENT '逻辑集群名称',
314+
`identification` varchar(192) NOT NULL DEFAULT '' COMMENT '逻辑集群标识',
315+
`mode` int(16) NOT NULL DEFAULT '0' COMMENT '逻辑集群类型, 0:共享集群, 1:独享集群, 2:独立集群',
316+
`app_id` varchar(64) NOT NULL DEFAULT '' COMMENT '所属应用',
317+
`cluster_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT '集群id',
318+
`region_list` varchar(256) NOT NULL DEFAULT '' COMMENT 'regionid列表',
319+
`description` text COMMENT '备注说明',
320+
`gmt_create` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
321+
`gmt_modify` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
322+
PRIMARY KEY (`id`),
323+
UNIQUE KEY `uniq_name` (`name`),
324+
UNIQUE KEY `uniq_identification` (`identification`)
325+
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='逻辑集群信息表';
326+
319327

320328
--
321329
-- Table structure for table `monitor_rule`

docs/install_guide/install_guide_cn.md

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,50 +9,56 @@
99

1010
# 安装手册
1111

12+
## 1、环境依赖
1213

13-
## 环境依赖
14+
如果是以Release包进行安装的,则仅安装`Java``MySQL`即可。如果是要先进行源码包进行打包,然后再使用,则需要安装`Maven``Node`环境。
1415

15-
- `Maven 3.5+`(后端打包依赖)
16-
- `node v12+`(前端打包依赖)
1716
- `Java 8+`(运行环境需要)
1817
- `MySQL 5.7`(数据存储)
18+
- `Maven 3.5+`(后端打包依赖)
19+
- `Node 10+`(前端打包依赖)
1920

2021
---
2122

22-
## 环境初始化
23+
## 2、获取安装包
2324

24-
执行[create_mysql_table.sql](create_mysql_table.sql)中的SQL命令,从而创建所需的MySQL库及表,默认创建的库名是`kafka_manager`
25+
**1、Release直接下载**
2526

26-
```
27-
# 示例:
28-
mysql -uXXXX -pXXX -h XXX.XXX.XXX.XXX -PXXXX < ./create_mysql_table.sql
29-
```
27+
这里如果觉得麻烦,然后也不想进行二次开发,则可以直接下载Release包,下载地址:[Github Release包下载地址](https://github.com/didi/Logi-KafkaManager/releases)
28+
29+
如果觉得Github的下载地址太慢了,也可以进入`Logi-KafkaManager`的用户群获取,群地址在README中。
3030

31-
---
3231

33-
## 打包
32+
**2、源代码进行打包**
3433

35-
```bash
34+
下载好代码之后,进入`Logi-KafkaManager`的主目录,执行`sh build.sh`命令即可,执行完成之后会在`output/kafka-manager-xxx`目录下面生成一个jar包。
3635

37-
# 一次性打包
38-
cd ..
39-
mvn install
36+
对于`windows`环境的用户,估计执行不了`sh build.sh`命令,因此可以直接执行`mvn install`,然后在`kafka-manager-web/target`目录下生成一个kafka-manager-web-xxx.jar的包。
4037

38+
获取到jar包之后,我们继续下面的步骤。
39+
40+
---
41+
42+
## 3、MySQL-DB初始化
43+
44+
执行[create_mysql_table.sql](create_mysql_table.sql)中的SQL命令,从而创建所需的MySQL库及表,默认创建的库名是`logi_kafka_manager`
45+
46+
```
47+
# 示例:
48+
mysql -uXXXX -pXXX -h XXX.XXX.XXX.XXX -PXXXX < ./create_mysql_table.sql
4149
```
4250

4351
---
4452

45-
## 启动
53+
## 4、启动
4654

4755
```
48-
# application.yml 是配置文件
56+
# application.yml 是配置文件,最简单的是仅修改MySQL相关的配置即可启动
4957
50-
cp kafka-manager-web/src/main/resources/application.yml kafka-manager-web/target/
51-
cd kafka-manager-web/target/
52-
nohup java -jar kafka-manager-web-2.1.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 &
58+
nohup java -jar kafka-manager.jar --spring.config.location=./application.yml > /dev/null 2>&1 &
5359
```
5460

55-
## 使用
61+
### 5、使用
5662

5763
本地启动的话,访问`http://localhost:8080`,输入帐号及密码(默认`admin/admin`)进行登录。更多参考:[kafka-manager 用户使用手册](../user_guide/user_guide_cn.md)
5864

kafka-manager-common/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.xiaojukeji.kafka</groupId>
77
<artifactId>kafka-manager-common</artifactId>
8-
<version>2.1.0-SNAPSHOT</version>
8+
<version>${kafka-manager.revision}</version>
99
<packaging>jar</packaging>
1010

1111
<parent>
1212
<artifactId>kafka-manager</artifactId>
1313
<groupId>com.xiaojukeji.kafka</groupId>
14-
<version>2.1.0-SNAPSHOT</version>
14+
<version>${kafka-manager.revision}</version>
1515
</parent>
1616

1717
<properties>

kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ao/cluster/LogicalCluster.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public class LogicalCluster {
99

1010
private String logicalClusterName;
1111

12+
private String logicalClusterIdentification;
13+
1214
private Integer mode;
1315

1416
private Integer topicNum;
@@ -41,6 +43,14 @@ public void setLogicalClusterName(String logicalClusterName) {
4143
this.logicalClusterName = logicalClusterName;
4244
}
4345

46+
public String getLogicalClusterIdentification() {
47+
return logicalClusterIdentification;
48+
}
49+
50+
public void setLogicalClusterIdentification(String logicalClusterIdentification) {
51+
this.logicalClusterIdentification = logicalClusterIdentification;
52+
}
53+
4454
public Integer getMode() {
4555
return mode;
4656
}
@@ -81,6 +91,14 @@ public void setBootstrapServers(String bootstrapServers) {
8191
this.bootstrapServers = bootstrapServers;
8292
}
8393

94+
public String getDescription() {
95+
return description;
96+
}
97+
98+
public void setDescription(String description) {
99+
this.description = description;
100+
}
101+
84102
public Long getGmtCreate() {
85103
return gmtCreate;
86104
}
@@ -97,19 +115,12 @@ public void setGmtModify(Long gmtModify) {
97115
this.gmtModify = gmtModify;
98116
}
99117

100-
public String getDescription() {
101-
return description;
102-
}
103-
104-
public void setDescription(String description) {
105-
this.description = description;
106-
}
107-
108118
@Override
109119
public String toString() {
110120
return "LogicalCluster{" +
111121
"logicalClusterId=" + logicalClusterId +
112122
", logicalClusterName='" + logicalClusterName + '\'' +
123+
", logicalClusterIdentification='" + logicalClusterIdentification + '\'' +
113124
", mode=" + mode +
114125
", topicNum=" + topicNum +
115126
", clusterVersion='" + clusterVersion + '\'' +

kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/dto/rd/ClusterDTO.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@ public class ClusterDTO {
2727
@ApiModelProperty(value="数据中心")
2828
private String idc;
2929

30-
@ApiModelProperty(value="安全配置参数")
30+
@ApiModelProperty(value="Kafka安全配置")
3131
private String securityProperties;
3232

33+
@ApiModelProperty(value="Jmx配置")
34+
private String jmxProperties;
35+
3336
public Long getClusterId() {
3437
return clusterId;
3538
}
@@ -78,6 +81,14 @@ public void setSecurityProperties(String securityProperties) {
7881
this.securityProperties = securityProperties;
7982
}
8083

84+
public String getJmxProperties() {
85+
return jmxProperties;
86+
}
87+
88+
public void setJmxProperties(String jmxProperties) {
89+
this.jmxProperties = jmxProperties;
90+
}
91+
8192
@Override
8293
public String toString() {
8394
return "ClusterDTO{" +
@@ -87,6 +98,7 @@ public String toString() {
8798
", bootstrapServers='" + bootstrapServers + '\'' +
8899
", idc='" + idc + '\'' +
89100
", securityProperties='" + securityProperties + '\'' +
101+
", jmxProperties='" + jmxProperties + '\'' +
90102
'}';
91103
}
92104

kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/dto/rd/LogicalClusterDTO.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ public class LogicalClusterDTO {
2121
@ApiModelProperty(value = "名称")
2222
private String name;
2323

24+
@ApiModelProperty(value = "集群标识, 用于告警的上报")
25+
private String identification;
26+
2427
@ApiModelProperty(value = "集群模式")
2528
private Integer mode;
2629

@@ -52,6 +55,14 @@ public void setName(String name) {
5255
this.name = name;
5356
}
5457

58+
public String getIdentification() {
59+
return identification;
60+
}
61+
62+
public void setIdentification(String identification) {
63+
this.identification = identification;
64+
}
65+
5566
public Integer getMode() {
5667
return mode;
5768
}
@@ -97,6 +108,7 @@ public String toString() {
97108
return "LogicalClusterDTO{" +
98109
"id=" + id +
99110
", name='" + name + '\'' +
111+
", identification='" + identification + '\'' +
100112
", mode=" + mode +
101113
", clusterId=" + clusterId +
102114
", regionIdList=" + regionIdList +
@@ -117,6 +129,7 @@ public boolean legal() {
117129
}
118130
appId = ValidateUtils.isNull(appId)? "": appId;
119131
description = ValidateUtils.isNull(description)? "": description;
132+
identification = ValidateUtils.isNull(identification)? name: identification;
120133
return true;
121134
}
122135
}

0 commit comments

Comments
 (0)