forked from m-cmp/mc-observability
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
19 changed files
with
612 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,3 +35,6 @@ out/ | |
|
||
### VS Code ### | ||
.vscode/ | ||
|
||
### log files ### | ||
*.log* |
15 changes: 15 additions & 0 deletions
15
...agent/src/main/java/mcmp/mc/observability/mco11yagent/monitoring/client/SpiderClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.client; | ||
|
||
import mcmp.mc.observability.mco11yagent.monitoring.config.SpiderFeignConfig; | ||
import mcmp.mc.observability.mco11yagent.monitoring.model.SpiderMonitoringInfo; | ||
import org.springframework.cloud.openfeign.FeignClient; | ||
import org.springframework.web.bind.annotation.*; | ||
|
||
@FeignClient(name = "cb-spider", url = "${feign.cb-spider.url:}", configuration = SpiderFeignConfig.class) | ||
public interface SpiderClient { | ||
@GetMapping(value = "/spider/monitoring/vm/{vmName}/{metricType}", produces = "application/json") | ||
SpiderMonitoringInfo.Data getVMMonitoring(@PathVariable String vmName, @PathVariable String metricType, | ||
@RequestParam("ConnectionName") String connectionName, | ||
@RequestParam("TimeBeforeHour") String timeBeforeHour, | ||
@RequestParam("IntervalMinute") String intervalMinute); | ||
} |
12 changes: 12 additions & 0 deletions
12
...nt/src/main/java/mcmp/mc/observability/mco11yagent/monitoring/client/TumblebugClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.client; | ||
|
||
import mcmp.mc.observability.mco11yagent.monitoring.config.TumblebugFeignConfig; | ||
import mcmp.mc.observability.mco11yagent.monitoring.model.TumblebugMCI; | ||
import org.springframework.cloud.openfeign.FeignClient; | ||
import org.springframework.web.bind.annotation.*; | ||
|
||
@FeignClient(name = "cb-tumblebug", url = "${feign.cb-tumblebug.url:}", configuration = TumblebugFeignConfig.class) | ||
public interface TumblebugClient { | ||
@GetMapping(value = "/tumblebug/ns/{nsId}/mci/{mciId}/vm/{vmId}", produces = "application/json") | ||
TumblebugMCI.Vm getVM(@PathVariable String nsId, @PathVariable String mciId, @PathVariable String vmId); | ||
} |
33 changes: 33 additions & 0 deletions
33
.../src/main/java/mcmp/mc/observability/mco11yagent/monitoring/config/SpiderFeignConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.config; | ||
|
||
import feign.RequestInterceptor; | ||
import org.springframework.beans.factory.annotation.Value; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
|
||
import java.nio.charset.StandardCharsets; | ||
import java.util.Base64; | ||
|
||
@Configuration | ||
public class SpiderFeignConfig { | ||
@Value("${feign.cb-spider.id}") | ||
private String id; | ||
@Value("${feign.cb-spider.pw}") | ||
private String pw; | ||
|
||
@Bean | ||
public RequestInterceptor spiderBasicAuthRequestInterceptor() { | ||
return requestTemplate -> { | ||
if (authRequired()) { | ||
String auth = id + ":" + pw; | ||
byte[] encodedAuth = Base64.getEncoder().encode(auth.getBytes(StandardCharsets.UTF_8)); | ||
String authHeader = "Basic " + new String(encodedAuth); | ||
requestTemplate.header("Authorization", authHeader); | ||
} | ||
}; | ||
} | ||
|
||
private boolean authRequired() { | ||
return id != null && pw != null && !id.isEmpty() && !pw.isEmpty(); | ||
} | ||
} |
28 changes: 28 additions & 0 deletions
28
...c/main/java/mcmp/mc/observability/mco11yagent/monitoring/config/TumblebugFeignConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.config; | ||
|
||
import feign.RequestInterceptor; | ||
import org.springframework.beans.factory.annotation.Value; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
|
||
import java.nio.charset.StandardCharsets; | ||
import java.util.Base64; | ||
|
||
@Configuration | ||
public class TumblebugFeignConfig { | ||
@Value("${feign.cb-tumblebug.id}") | ||
private String id; | ||
@Value("${feign.cb-tumblebug.pw}") | ||
private String pw; | ||
|
||
@Bean | ||
public RequestInterceptor tumblebugBasicAuthRequestInterceptor() { | ||
return requestTemplate -> { | ||
String auth = id + ":" + pw; | ||
byte[] encodedAuth = Base64.getEncoder().encode(auth.getBytes(StandardCharsets.UTF_8)); | ||
String authHeader = "Basic " + new String(encodedAuth); | ||
|
||
requestTemplate.header("Authorization", authHeader); | ||
}; | ||
} | ||
} |
26 changes: 26 additions & 0 deletions
26
...1y-agent/src/main/java/mcmp/mc/observability/mco11yagent/monitoring/enums/MetricType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.enums; | ||
|
||
import lombok.Getter; | ||
|
||
public enum MetricType { | ||
CPU_USAGE("cpu_usage"), | ||
MEMORY_USAGE("memory_usage"), | ||
DISK_READ("disk_read"), | ||
DISK_WRITE("disk_write"), | ||
DISK_READ_OPS("disk_read_ops"), | ||
DISK_WRITE_OPS("disk_write_ops"), | ||
NETWORK_IN("network_in"), | ||
NETWORK_OUT("network_out"), | ||
UNKNOWN("unknown"); | ||
|
||
private final String value; | ||
|
||
MetricType(String value) { | ||
this.value = value; | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return this.value; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
26 changes: 26 additions & 0 deletions
26
...rc/main/java/mcmp/mc/observability/mco11yagent/monitoring/model/SpiderMonitoringInfo.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.model; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
import java.sql.Timestamp; | ||
import java.util.List; | ||
|
||
@Getter | ||
@Setter | ||
public class SpiderMonitoringInfo { | ||
@Getter | ||
@Setter | ||
public static class Data { | ||
private String metricName; | ||
private String metricUnit; | ||
private List<TimestampValue> timestampValues; | ||
|
||
@Getter | ||
@Setter | ||
public static class TimestampValue { | ||
private String timestamp; | ||
private String value; | ||
} | ||
} | ||
} |
182 changes: 182 additions & 0 deletions
182
...-agent/src/main/java/mcmp/mc/observability/mco11yagent/monitoring/model/TumblebugMCI.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,182 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.model; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
import java.util.List; | ||
|
||
@Getter | ||
@Setter | ||
public class TumblebugMCI { | ||
private String configureCloudAdaptiveNetwork; | ||
private String description; | ||
private String id; | ||
private String installMonAgent; | ||
private String label; | ||
private String name; | ||
private List<String> newVmList; | ||
private String placementAlgo; | ||
private String status; | ||
private StatusCount statusCount; | ||
private String systemLabel; | ||
private String systemMessage; | ||
private String targetAction; | ||
private String targetStatus; | ||
private Vm[] vm; | ||
|
||
@Getter | ||
@Setter | ||
public static class StatusCount { | ||
private Long countCreating; | ||
private Long countFailed; | ||
private Long countRebooting; | ||
private Long countResuming; | ||
private Long countRunning; | ||
private Long countSuspended; | ||
private Long countSuspending; | ||
private Long countTerminated; | ||
private Long countTerminating; | ||
private Long countTotal; | ||
private Long countUndefined; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class Vm { | ||
private ConnectionConfig connectionConfig; | ||
private String connectionName; | ||
private String createdTime; | ||
private CspViewVmDetail cspViewVmDetail; | ||
private List<String> dataDiskIds; | ||
private String description; | ||
private String id; | ||
private String uid; | ||
private String cspResourceName; | ||
private String cspResourceId; | ||
private String imageId; | ||
private String label; | ||
private Location location; | ||
private String monAgentStatus; | ||
private String name; | ||
private String networkAgentStatus; | ||
private String privateDNS; | ||
private String privateIP; | ||
private String publicDNS; | ||
private String publicIP; | ||
private Region region; | ||
private String rootDeviceName; | ||
private String rootDiskSize; | ||
private String rootDiskType; | ||
private List<String> securityGroupIds; | ||
private String specId; | ||
private String sshKeyId; | ||
private String sshPort; | ||
private String status; | ||
private String subGroupId; | ||
private String subnetId; | ||
private String systemMessage; | ||
private String targetAction; | ||
private String targetStatus; | ||
private String vNetId; | ||
private String vmUserName; | ||
private String vmUserAccount; | ||
private String vmUserPassword; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class ConnectionConfig { | ||
private String configName; | ||
private String credentialHolder; | ||
private String credentialName; | ||
private String driverName; | ||
private String providerName; | ||
private RegionDetail regionDetail; | ||
private Boolean regionRepresentative; | ||
private RegionZoneInfo regionZoneInfo; | ||
private String regionZoneInfoName; | ||
private Boolean verified; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class RegionDetail { | ||
private String description; | ||
private Location location; | ||
private String regionId; | ||
private String regionName; | ||
private List<String> zones; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class Location { | ||
private String display; | ||
private Long latitude; | ||
private Long longitude; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class RegionZoneInfo { | ||
private String assignedRegion; | ||
private String assignedZone; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class CspViewVmDetail { | ||
private String cspid; | ||
private List<IID> dataDiskIIDs; | ||
private List<String> dataDiskNames; | ||
private String iid; | ||
private IID imageIID; | ||
private String imageName; | ||
private String imageType; | ||
private IID keyPairIID; | ||
private String keyPairName; | ||
private List<KeyValue> keyValueList; | ||
private String name; | ||
private String networkInterface; | ||
private String privateDNS; | ||
private String privateIP; | ||
private String publicDNS; | ||
private String publicIP; | ||
private String region; | ||
private String rootDeviceName; | ||
private String rootDiskSize; | ||
private String rootDiskType; | ||
private List<IID> securityGroupIIds; | ||
private List<String> securityGroupNames; | ||
private String sshaccessPoint; | ||
private String startTime; | ||
private String subnetIID; | ||
private String subnetName; | ||
private String vmspecName; | ||
private String vmuserPasswd; | ||
private IID vpcIID; | ||
private String vpcname; | ||
|
||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class Region { | ||
private String region; | ||
private String zone; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class IID { | ||
private String nameId; | ||
private String systemId; | ||
} | ||
|
||
@Getter | ||
@Setter | ||
public static class KeyValue { | ||
private String key; | ||
private String value; | ||
} | ||
} |
21 changes: 21 additions & 0 deletions
21
...y-agent/src/main/java/mcmp/mc/observability/mco11yagent/monitoring/model/TumblebugNS.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package mcmp.mc.observability.mco11yagent.monitoring.model; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
import java.util.List; | ||
|
||
@Getter | ||
@Setter | ||
public class TumblebugNS { | ||
private List<NS> ns; | ||
@Getter | ||
@Setter | ||
public static class NS { | ||
private String id; | ||
private String description; | ||
private String name; | ||
private String resourceType; | ||
private String uid; | ||
} | ||
} |
Oops, something went wrong.