Skip to content

Commit

Permalink
Update api, docker compose, script
Browse files Browse the repository at this point in the history
Add api path mciId
Update agent docker-compose.yaml
update init.sh
  • Loading branch information
hyeon-inno committed Sep 11, 2024
1 parent df71e16 commit 562cfb1
Show file tree
Hide file tree
Showing 25 changed files with 234 additions and 238 deletions.
12 changes: 6 additions & 6 deletions java-module/mc-o11y-agent/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ services:
ports:
- 18081:18081
environment:
- NS_ID:${NS_ID:}
- MCI_ID:${MCI_ID:}
- TARGET_ID:${TARGET_ID:}
- DATABASE_HOST:${DATABASE_HOST:}
- DATABASE_ID:${DATABASE_ID:}
- DATABASE_PW:${DATABASE_PW:}
- NS_ID=${NS_ID}
- MCI_ID=${MCI_ID}
- TARGET_ID=${TARGET_ID}
- DATABASE_HOST=${DATABASE_HOST}
- DATABASE_ID=${DATABASE_ID}
- DATABASE_PW=${DATABASE_PW}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import lombok.RequiredArgsConstructor;
import mcmp.mc.observability.mco11yagent.monitoring.common.Constants;
import mcmp.mc.observability.mco11yagent.monitoring.enums.ResultCode;
import mcmp.mc.observability.mco11yagent.monitoring.model.MonitoringConfigInfo;
import mcmp.mc.observability.mco11yagent.monitoring.model.dto.ResBody;
import mcmp.mc.observability.mco11yagent.monitoring.service.MonitoringConfigService;
Expand All @@ -19,31 +20,36 @@

@RestController
@RequiredArgsConstructor
@RequestMapping(Constants.MONITORING_URI + "/{nsId}/target/{targetId}/item")
@RequestMapping(Constants.MONITORING_URI + "/{nsId}/{mciId}/target/{targetId}/item")
public class ItemController {

private final MonitoringConfigService monitoringConfigService;

@GetMapping
public ResBody<List<MonitoringConfigInfo>> list(@PathVariable String nsId, @PathVariable String targetId) {
List<MonitoringConfigInfo> list = monitoringConfigService.list(nsId, targetId);
public ResBody<List<MonitoringConfigInfo>> list(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId) {
List<MonitoringConfigInfo> list = monitoringConfigService.list(nsId, mciId, targetId);
ResBody<List<MonitoringConfigInfo>> resBody = new ResBody<>();
resBody.setData(list.stream().filter(f -> !f.getPluginType().equals("OUTPUT")).collect(Collectors.toList()));
return resBody;
}

@PostMapping
public ResBody insert(@PathVariable String nsId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.insert(nsId, targetId, monitoringConfigInfo);
public ResBody insert(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.insert(nsId, mciId, targetId, monitoringConfigInfo);
}

@PutMapping
public ResBody update(@PathVariable String nsId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.update(nsId, targetId, monitoringConfigInfo);
public ResBody update(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.update(nsId, mciId, targetId, monitoringConfigInfo);
}

@DeleteMapping("/{itemSeq}")
public ResBody delete(@PathVariable String nsId, @PathVariable String targetId, @PathVariable Long itemSeq) {
return monitoringConfigService.delete(nsId, targetId, itemSeq);
public ResBody delete(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @PathVariable Long itemSeq) {
MonitoringConfigInfo monitoringConfigInfo = new MonitoringConfigInfo();
monitoringConfigInfo.setSeq(itemSeq);
if( monitoringConfigService.updateState(monitoringConfigInfo, "DELETE") <= 0 ) {
return ResBody.builder().code(ResultCode.FAILED).build();
}
return ResBody.builder().build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import lombok.RequiredArgsConstructor;
import mcmp.mc.observability.mco11yagent.monitoring.common.Constants;
import mcmp.mc.observability.mco11yagent.monitoring.enums.ResultCode;
import mcmp.mc.observability.mco11yagent.monitoring.model.MonitoringConfigInfo;
import mcmp.mc.observability.mco11yagent.monitoring.model.dto.ResBody;
import mcmp.mc.observability.mco11yagent.monitoring.service.MonitoringConfigService;
Expand All @@ -19,31 +20,36 @@

@RestController
@RequiredArgsConstructor
@RequestMapping(Constants.MONITORING_URI + "/{nsId}/target/{targetId}/storage")
@RequestMapping(Constants.MONITORING_URI + "/{nsId}/{mciId}/target/{targetId}/storage")
public class StorageController {

private final MonitoringConfigService monitoringConfigService;

@GetMapping
public ResBody<List<MonitoringConfigInfo>> list(@PathVariable String nsId, @PathVariable String targetId) {
List<MonitoringConfigInfo> list = monitoringConfigService.list(nsId, targetId);
public ResBody<List<MonitoringConfigInfo>> list(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId) {
List<MonitoringConfigInfo> list = monitoringConfigService.list(nsId, mciId, targetId);
ResBody<List<MonitoringConfigInfo>> resBody = new ResBody<>();
resBody.setData(list.stream().filter(f -> f.getPluginType().equals("OUTPUT")).collect(Collectors.toList()));
return resBody;
}

@PostMapping
public ResBody insert(@PathVariable String nsId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.insert(nsId, targetId, monitoringConfigInfo);
public ResBody insert(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.insert(nsId, mciId, targetId, monitoringConfigInfo);
}

@PutMapping
public ResBody update(@PathVariable String nsId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.update(nsId, targetId, monitoringConfigInfo);
public ResBody update(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @RequestBody MonitoringConfigInfo monitoringConfigInfo) {
return monitoringConfigService.update(nsId, mciId, targetId, monitoringConfigInfo);
}

@DeleteMapping("/{storageSeq}")
public ResBody delete(@PathVariable String nsId, @PathVariable String targetId, @PathVariable Long storageSeq) {
return monitoringConfigService.delete(nsId, targetId, storageSeq);
public ResBody delete(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @PathVariable Long storageSeq) {
MonitoringConfigInfo monitoringConfigInfo = new MonitoringConfigInfo();
monitoringConfigInfo.setSeq(storageSeq);
if( monitoringConfigService.updateState(monitoringConfigInfo, "DELETE") <= 0 ) {
return ResBody.builder().code(ResultCode.FAILED).build();
}
return ResBody.builder().build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,23 @@ public ResBody<List<TargetInfo>> list() {
return targetService.getList();
}

@PostMapping("/{nsId}/target/{targetId}")
public ResBody insert(@PathVariable String nsId, @PathVariable String targetId, @RequestBody TargetInfo targetInfo) {
return targetService.insert(nsId, targetId, targetInfo);
@GetMapping("/{nsId}/{mciId}/target/{targetId}")
public ResBody<TargetInfo> getTarget(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId) {
return targetService.getTarget(nsId, mciId, targetId);
}

@PutMapping("/{nsId}/target/{targetId}")
public ResBody update(@PathVariable String nsId, @PathVariable String targetId, @RequestBody TargetInfo targetInfo) {
return targetService.update(nsId, targetId, targetInfo);
@PostMapping("/{nsId}/{mciId}/target/{targetId}")
public ResBody insert(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @RequestBody TargetInfo targetInfo) {
return targetService.insert(nsId, mciId, targetId, targetInfo);
}

@DeleteMapping("/{nsId}/target/{targetId}")
public ResBody delete(@PathVariable String nsId, @PathVariable String targetId) {
return targetService.delete(nsId, targetId);
@PutMapping("/{nsId}/{mciId}/target/{targetId}")
public ResBody update(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId, @RequestBody TargetInfo targetInfo) {
return targetService.update(nsId, mciId, targetId, targetInfo);
}

@DeleteMapping("/{nsId}/{mciId}/target/{targetId}")
public ResBody delete(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String targetId) {
return targetService.delete(nsId, mciId, targetId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
public interface MonitoringConfigMapper {

MonitoringConfigInfo getDetail(Long seq);
List<MonitoringConfigInfo> getList(String nsId, String targetId);
List<MonitoringConfigInfo> getList(String nsId, String mciId, String targetId);
int insert(MonitoringConfigInfo monitoringConfigInfo);
int update(MonitoringConfigInfo monitoringConfigInfo);
int delete(MonitoringConfigInfo monitoringConfigInfo);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
@Mapper
public interface TargetMapper {
List<TargetInfo> getList();
TargetInfo getTarget(@Param("nsId") String nsId, @Param("mciId") String mciId, @Param("id") String targetId);
int insert(TargetInfo targetInfo);
int update(TargetInfo targetInfo);
int updateState(@Param("nsId")String nsId, @Param("id") String targetId, @Param("state") String state);
int updateState(@Param("nsId") String nsId, @Param("mciId") String mciId, @Param("id") String targetId, @Param("state") String state);
int delete(TargetInfo targetInfo);
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
public class MonitoringConfigInfo {
private Long seq;
private String nsId;
private String mciId;
private String targetId;
private String name;
private String state;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
@Setter
public class TargetInfo {
private String nsId;
private String mciId;
private String id;
private String name;
private String aliasName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,11 @@ public boolean init() {

String nsId = System.getenv(Constants.PROPERTY_NS_ID);
if( nsId == null ) nsId = "";
String mciId = System.getenv(Constants.PROPERTY_MCI_ID);
if( mciId == null ) mciId = "";
String targetId = System.getenv(Constants.PROPERTY_TARGET_ID);
if( targetId == null ) targetId = "";
targetMapper.updateState(nsId, targetId, "ACTIVE");
targetMapper.updateState(nsId, mciId, targetId, "ACTIVE");
}
catch (IOException e) {
log.error(ExceptionUtils.getMessage(e));
Expand All @@ -63,8 +65,10 @@ public boolean init() {
public void destroy() {
String nsId = System.getenv(Constants.PROPERTY_NS_ID);
if( nsId == null ) nsId = "";
String mciId = System.getenv(Constants.PROPERTY_MCI_ID);
if( mciId == null ) mciId = "";
String targetId = System.getenv(Constants.PROPERTY_TARGET_ID);
if( targetId == null ) targetId = "";
targetMapper.updateState(nsId, targetId, "INACTIVE");
targetMapper.updateState(nsId, mciId, targetId, "INACTIVE");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class InfluxDBService {
private final MonitoringConfigService monitoringConfigService;

public ResBody<List<InfluxDBInfo>> getList() {
List<MonitoringConfigInfo> storageInfoList = monitoringConfigService.list(null, null);
List<MonitoringConfigInfo> storageInfoList = monitoringConfigService.list(null, null, null);

List<InfluxDBInfo> influxDBInfoList = new ArrayList<>();
for (MonitoringConfigInfo hostStorageInfo : storageInfoList) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,22 @@ public class MonitoringConfigService {
private final MonitoringConfigMapper monitoringConfigMapper;
private final TriggerTaskManageService triggerTaskManageService;

public List<MonitoringConfigInfo> list(String nsId, String targetId) {
return monitoringConfigMapper.getList(nsId, targetId);
public List<MonitoringConfigInfo> list(String nsId, String mciId, String targetId) {
return monitoringConfigMapper.getList(nsId, mciId, targetId);
}

public ResBody insert(String nsId, String targetId, MonitoringConfigInfo monitoringConfigInfo) {
public ResBody insert(String nsId, String mciId, String targetId, MonitoringConfigInfo monitoringConfigInfo) {
monitoringConfigInfo.setNsId(nsId);
monitoringConfigInfo.setMciId(mciId);
monitoringConfigInfo.setTargetId(targetId);
monitoringConfigMapper.insert(monitoringConfigInfo);
return ResBody.builder().build();
}

public ResBody update(String nsId, String targetId, MonitoringConfigInfo monitoringConfigInfo) {
public ResBody update(String nsId, String mciId, String targetId, MonitoringConfigInfo monitoringConfigInfo) {
MonitoringConfigInfo originalConfig = monitoringConfigMapper.getDetail(monitoringConfigInfo.getSeq());
monitoringConfigInfo.setNsId(nsId);
monitoringConfigInfo.setMciId(mciId);
monitoringConfigInfo.setTargetId(targetId);
monitoringConfigInfo.setState("UPDATE");
monitoringConfigMapper.update(monitoringConfigInfo);
Expand All @@ -41,7 +43,7 @@ public ResBody update(String nsId, String targetId, MonitoringConfigInfo monitor
return ResBody.builder().build();
}

public ResBody delete(String nsId, String targetId, Long seq) {
public ResBody delete(Long seq) {
MonitoringConfigInfo monitoringConfigInfo = monitoringConfigMapper.getDetail(seq);
monitoringConfigInfo.setState("DELETE");
monitoringConfigMapper.update(monitoringConfigInfo);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,15 @@ public ResBody<List<TargetInfo>> getList() {
return resBody;
}

public ResBody insert(String nsId, String targetId, TargetInfo targetInfo) {
public ResBody<TargetInfo> getTarget(String nsId, String mciId, String targetId) {
ResBody<TargetInfo> resBody = new ResBody<>();
resBody.setData(targetMapper.getTarget(nsId, mciId, targetId));
return resBody;
}

public ResBody insert(String nsId, String mciId, String targetId, TargetInfo targetInfo) {
targetInfo.setNsId(nsId);
targetInfo.setMciId(mciId);
targetInfo.setId(targetId);
if( targetMapper.insert(targetInfo) > 0 ) {
return ResBody.builder().code(ResultCode.SUCCESS).build();
Expand All @@ -34,8 +41,9 @@ public ResBody insert(String nsId, String targetId, TargetInfo targetInfo) {
}
}

public ResBody update(String nsId, String targetId, TargetInfo targetInfo) {
public ResBody update(String nsId, String mciId, String targetId, TargetInfo targetInfo) {
targetInfo.setNsId(nsId);
targetInfo.setMciId(mciId);
targetInfo.setId(targetId);
if( targetMapper.update(targetInfo) > 0 ) {
return ResBody.builder().code(ResultCode.SUCCESS).build();
Expand All @@ -45,9 +53,10 @@ public ResBody update(String nsId, String targetId, TargetInfo targetInfo) {
}
}

public ResBody delete(String nsId, String targetId) {
public ResBody delete(String nsId, String mciId, String targetId) {
TargetInfo targetInfo = new TargetInfo();
targetInfo.setNsId(nsId);
targetInfo.setMciId(mciId);
targetInfo.setId(targetId);
if( targetMapper.delete(targetInfo) > 0 ) {
return ResBody.builder().code(ResultCode.SUCCESS).build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,11 @@ public String globalTelegrafConfig() {

String nsId = System.getenv(Constants.PROPERTY_NS_ID);
if( nsId == null ) nsId = "";
String mciId = System.getenv(Constants.PROPERTY_MCI_ID);
if( mciId == null ) mciId = "";
String targetId = System.getenv(Constants.PROPERTY_TARGET_ID);
if( targetId == null ) targetId = "";
return sb.toString().replaceAll("@NS_ID", nsId).replaceAll("@TARGET_ID", targetId);
return sb.toString().replaceAll("@NS_ID", nsId).replaceAll("@MCI_ID", mciId).replaceAll("@TARGET_ID", targetId);
}

public boolean isCollectorAlive() {
Expand All @@ -90,10 +92,12 @@ public boolean isCollectorAlive() {
public void updateConfigFile() {
String nsId = System.getenv(Constants.PROPERTY_NS_ID);
if( nsId == null ) nsId = "";
String mciId = System.getenv(Constants.PROPERTY_MCI_ID);
if( mciId == null ) mciId = "";
String targetId = System.getenv(Constants.PROPERTY_TARGET_ID);
if( targetId == null ) targetId = "";

List<MonitoringConfigInfo> configList = monitoringConfigService.list(nsId, targetId);
List<MonitoringConfigInfo> configList = monitoringConfigService.list(nsId, mciId, targetId);
Map<Long, PluginDefInfo> pluginMap = pluginMapper.getAllPlugin();

boolean isUpdate = configList.stream().anyMatch(f -> !f.getState().equalsIgnoreCase("NONE"));
Expand All @@ -110,7 +114,7 @@ public void updateConfigFile() {
}
case "DELETE" -> {
Utils.deleteFile(filePath);
monitoringConfigService.delete(f.getNsId(), f.getTargetId(), f.getSeq());
monitoringConfigService.delete(f.getSeq());
}
}
} catch (IOException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
SELECT
SEQ,
NS_ID,
MCI_ID,
TARGET_ID,
NAME,
STATE,
Expand All @@ -18,6 +19,9 @@
<if test="nsId != null">
AND NS_ID=#{nsId}
</if>
<if test="mciId != null">
AND MCI_ID=#{mciId}
</if>
<if test="targetId != null">
AND TARGET_ID=#{targetId}
</if>
Expand All @@ -28,6 +32,7 @@
SELECT
SEQ,
NS_ID,
MCI_ID,
TARGET_ID,
NAME,
STATE,
Expand All @@ -42,6 +47,7 @@
<insert id="insert" parameterType="MonitoringConfigInfo">
INSERT INTO mc_o11y_agent_target_monitoring_config(
NS_ID,
MCI_ID,
TARGET_ID,
NAME,
PLUGIN_SEQ,
Expand All @@ -50,6 +56,7 @@
PLUGIN_CONFIG)
VALUES (
#{nsId}
, #{mciId}
, #{targetId}
, #{name}
, #{pluginSeq}
Expand Down
Loading

0 comments on commit 562cfb1

Please sign in to comment.