mirror of
https://github.com/didi/KnowStreaming.git
synced 2026-01-03 02:52:08 +08:00
kcm修复&连接信息接口修复
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
package com.xiaojukeji.kafka.manager.web.api.versionone.gateway;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xiaojukeji.kafka.manager.common.annotations.ApiLevel;
|
||||
import com.xiaojukeji.kafka.manager.common.constant.ApiLevelContent;
|
||||
import com.xiaojukeji.kafka.manager.common.entity.Result;
|
||||
import com.xiaojukeji.kafka.manager.common.entity.dto.gateway.TopicConnectionDTO;
|
||||
import com.xiaojukeji.kafka.manager.common.utils.JsonUtils;
|
||||
import com.xiaojukeji.kafka.manager.common.utils.ValidateUtils;
|
||||
import com.xiaojukeji.kafka.manager.service.service.gateway.TopicConnectionService;
|
||||
import com.xiaojukeji.kafka.manager.common.constant.ApiPrefix;
|
||||
@@ -15,8 +15,6 @@ import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zengqiao
|
||||
* @date 20/7/6
|
||||
@@ -34,18 +32,17 @@ public class GatewayHeartbeatController {
|
||||
@ApiOperation(value = "连接信息上报入口", notes = "Broker主动上报信息")
|
||||
@RequestMapping(value = "heartbeat/survive-user", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Result receiveTopicConnections(@RequestParam("clusterId") String clusterId,
|
||||
@RequestParam("brokerId") String brokerId,
|
||||
@RequestBody List<TopicConnectionDTO> dtoList) {
|
||||
public Result receiveTopicConnections(@RequestParam("clusterId") Long clusterId,
|
||||
@RequestParam("brokerId") Integer brokerId,
|
||||
@RequestBody JSONObject jsonObject) {
|
||||
try {
|
||||
if (ValidateUtils.isEmptyList(dtoList)) {
|
||||
if (ValidateUtils.isNull(jsonObject) || jsonObject.isEmpty()) {
|
||||
return Result.buildSuc();
|
||||
}
|
||||
topicConnectionService.batchAdd(dtoList);
|
||||
topicConnectionService.batchAdd(JsonUtils.parseTopicConnections(clusterId, jsonObject));
|
||||
return Result.buildSuc();
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("receive topic connections failed, clusterId:{} brokerId:{} req:{}",
|
||||
clusterId, brokerId, JSON.toJSONString(dtoList), e);
|
||||
LOGGER.error("receive topic connections failed, clusterId:{} brokerId:{} req:{}", clusterId, brokerId, jsonObject, e);
|
||||
}
|
||||
return Result.buildFailure("fail");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.xiaojukeji.kafka.manager.web.api.versionone.thirdpart;
|
||||
|
||||
import com.xiaojukeji.kafka.manager.common.constant.ApiPrefix;
|
||||
import com.xiaojukeji.kafka.manager.common.constant.KafkaMetricsCollections;
|
||||
import com.xiaojukeji.kafka.manager.common.entity.Result;
|
||||
import com.xiaojukeji.kafka.manager.common.entity.ResultStatus;
|
||||
import com.xiaojukeji.kafka.manager.common.entity.metrics.BrokerMetrics;
|
||||
import com.xiaojukeji.kafka.manager.common.utils.ValidateUtils;
|
||||
import com.xiaojukeji.kafka.manager.common.zookeeper.znode.brokers.BrokerMetadata;
|
||||
import com.xiaojukeji.kafka.manager.openapi.common.vo.ThirdPartBrokerOverviewVO;
|
||||
import com.xiaojukeji.kafka.manager.service.cache.PhysicalClusterMetadataManager;
|
||||
import com.xiaojukeji.kafka.manager.service.service.BrokerService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author zengqiao
|
||||
* @date 20/11/9
|
||||
*/
|
||||
@Api(tags = "开放接口-Cluster相关接口(REST)")
|
||||
@RestController
|
||||
@RequestMapping(ApiPrefix.API_V1_THIRD_PART_PREFIX)
|
||||
public class ThirdPartClusterController {
|
||||
|
||||
@Autowired
|
||||
private BrokerService brokerService;
|
||||
|
||||
@ApiOperation(value = "Broker信息概览", notes = "")
|
||||
@RequestMapping(value = "{clusterId}/broker-stabled", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public Result<Boolean> checkBrokerStabled(@PathVariable Long clusterId,
|
||||
@RequestParam("hostname") String hostname) {
|
||||
BrokerMetadata brokerMetadata = PhysicalClusterMetadataManager.getBrokerMetadata(clusterId, hostname);
|
||||
if (ValidateUtils.isNull(brokerMetadata)) {
|
||||
return Result.buildFrom(ResultStatus.BROKER_NOT_EXIST);
|
||||
}
|
||||
|
||||
BrokerMetrics brokerMetrics = brokerService.getBrokerMetricsFromJmx(
|
||||
clusterId,
|
||||
brokerMetadata.getBrokerId(),
|
||||
KafkaMetricsCollections.BROKER_STATUS_PAGE_METRICS
|
||||
);
|
||||
if (ValidateUtils.isNull(brokerMetrics)) {
|
||||
return Result.buildFrom(ResultStatus.OPERATION_FAILED);
|
||||
}
|
||||
Integer underReplicated = brokerMetrics.getSpecifiedMetrics("UnderReplicatedPartitionsValue", Integer.class);
|
||||
if (ValidateUtils.isNull(underReplicated)) {
|
||||
return Result.buildFrom(ResultStatus.OPERATION_FAILED);
|
||||
}
|
||||
|
||||
return new Result<>(underReplicated.equals(0));
|
||||
}
|
||||
}
|
||||
@@ -37,12 +37,13 @@ account:
|
||||
ldap:
|
||||
|
||||
kcm:
|
||||
enabled: false
|
||||
n9e:
|
||||
base-url: http://127.0.0.1/api
|
||||
username: admin
|
||||
user-token: admin
|
||||
tpl-id: 123456
|
||||
timeout: 30
|
||||
base-url: http://127.0.0.1:8080
|
||||
user-token: 12345678
|
||||
timeout: 300
|
||||
account: km
|
||||
script-file: kcm_script.sh
|
||||
|
||||
monitor:
|
||||
enabled: false
|
||||
|
||||
Reference in New Issue
Block a user