ICS 注册中心监控对象

yun-zuoyi
汪云昊 5 years ago
parent dbba31670d
commit 1051b22575

@ -12,6 +12,7 @@
<artifactId>i3plus-pojo-base</artifactId>
<packaging>jar</packaging>
<version>1.0-DEV-SNAPSHOT</version>
<dependencies>
<dependency>

@ -3,7 +3,6 @@ package cn.estsh.i3plus.pojo.base.bean;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.util.List;
import java.util.Map;
@ -124,6 +123,23 @@ public class BaseResultBean<Obj> {
return this;
}
public static BaseResultBean success(String msg){
BaseResultBean rs = new BaseResultBean(true);
rs.setMsg(msg);
return rs;
}
public static BaseResultBean success(){
BaseResultBean rs = new BaseResultBean(true);
return rs;
}
public static BaseResultBean fail(String msg){
BaseResultBean rs = new BaseResultBean(false,msg);
rs.setErrorMsg(msg);
return rs;
}
public static BaseResultBean buildBaseResultBean(boolean success, String msg){
BaseResultBean rs = new BaseResultBean();
rs.success = success;
@ -138,6 +154,33 @@ public class BaseResultBean<Obj> {
return rs;
}
public BaseResultBean() {
}
public BaseResultBean(boolean isSuccess) {
success = isSuccess;
if(success){
//国际化
code = ResourceEnumUtil.MESSAGE.SUCCESS.getCode();
}else{
code = ResourceEnumUtil.MESSAGE.FAIL.getCode();
}
}
public BaseResultBean(boolean success, List<Obj> resultList) {
this.success = success;
this.resultList = resultList;
}
public BaseResultBean(boolean success, Obj resultObject) {
this.success = success;
if(resultObject instanceof String){
this.msg = resultObject.toString();
}else{
this.resultObject = resultObject;
}
}
@Override
public String toString() {
return "BaseResultBean{" +

@ -847,7 +847,8 @@ public class CommonEnumUtil {
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum CLOUD_APP_STATUS {
UP(1,"UP" ,"在线"),
DOWN(2, "DOWN","断线");
DOWN(2, "DOWN","断线"),
RESTRICTED(3,"RESTRICTED" ,"受限");
private int value;
private String code;
@ -1961,4 +1962,172 @@ public class CommonEnumUtil {
return tmp;
}
}
/**
* actuator env
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ACTUATOR_ENV_PATH {
PID(1,"PID" ,"PID"),
JAVA_VERSION(2, "java.version","jdk版本");
private int value;
private String path;
private String description;
private ACTUATOR_ENV_PATH(int value, String path, String description) {
this.value = value;
this.path = path;
this.description = description;
}
public int getValue() {
return value;
}
public String getPath() {
return path;
}
public String getDescription() {
return description;
}
public static String valueOfPath(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
tmp = values()[i].path;
}
}
return tmp;
}
public static int pathOfValue(String code) {
int tmp = 1;
for (int i = 0; i < values().length; i++) {
if (values()[i].path.equals(code)) {
tmp = values()[i].value;
}
}
return tmp;
}
public static String valueOfDescription(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
tmp = values()[i].description;
}
}
return tmp;
}
public static String pathOfDescription(String code) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].path.equals(code)) {
tmp = values()[i].description;
}
}
return tmp;
}
}
/**
* actuator env
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ACTUATOR_METRICS_INFO {
UPTIME(1, "/process.uptime", "上线时间"),
PROCESS_CPU_USAGE(1, "/process.cpu.usage", "进程CPU使用率"),
CPU_COUNT(1, "/system.cpu.count", "CPU数量"),
SYSTEM_CPU_USAGE(1, "/system.cpu.usage", "系统CPU使用率"),
GC_PAUSE(1, "/jvm.gc.pause", "GC暂停"),
THREADS_LIVE(1, "/jvm.threads.live", "实时线程"),
THREADS_PEAK(1, "/jvm.threads.peak", "线程峰值"),
THREADS_DAEMON(1, "/jvm.threads.daemon", "守护线程"),
MEMORY_HEAP_MAX(1, "/jvm.memory.max", "area:heap", "堆内存最大空间"),
MEMORY_HEAP_USE(1, "/jvm.memory.used", "area:heap", "堆内存使用量"),
MEMORY_HEAP_SIZE(1, "/jvm.memory.committed", "area:heap", "堆内存大小"),
MEMORY_NON_HEAP_MAX(1, "/jvm.memory.max", "area:nonheap", "非堆内存最大空间"),
MEMORY_NON_HEAP_USE(1, "/jvm.memory.used", "area:nonheap", "非堆内存"),
MEMORY_NON_HEAP_METASPACE(1, "/jvm.memory.used", "area:nonheap,id:Metaspace", "非堆原空间"),
MEMORY_NON_HEAP_SIZE(1, "/jvm.memory.committed", "area:nonheap", "非堆大小");
private int value;
private String path;
private String tag;
private String description;
private ACTUATOR_METRICS_INFO(int value, String path, String description) {
this.value = value;
this.path = path;
this.description = description;
}
private ACTUATOR_METRICS_INFO(int value, String path, String tag, String description) {
this.value = value;
this.path = path;
this.tag = tag;
this.description = description;
}
public int getValue() {
return value;
}
public String getPath() {
return path;
}
public String getTag() {
return tag;
}
public String getDescription() {
return description;
}
public static String valueOfPath(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
tmp = values()[i].path;
}
}
return tmp;
}
public static int pathOfValue(String code) {
int tmp = 1;
for (int i = 0; i < values().length; i++) {
if (values()[i].path.equals(code)) {
tmp = values()[i].value;
}
}
return tmp;
}
public static String valueOfDescription(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
tmp = values()[i].description;
}
}
return tmp;
}
public static String pathOfDescription(String code) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].path.equals(code)) {
tmp = values()[i].description;
}
}
return tmp;
}
}
}

@ -1,6 +1,8 @@
package cn.estsh.i3plus.pojo.form.bean;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.BlockFormEnumUtil;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.Api;
@ -38,10 +40,12 @@ public class BfElementGrid extends BaseBean {
@Column(name = "IS_LINE_SHOW_NUMBER")
@ApiParam(value = "显示行号")
@AnnoOutputColumn(refClass = BlockFormEnumUtil.TABLE_ROW_NUMBER.class)
private Integer isLineShowNumber;
@Column(name = "IS_LINE_MULTIPLE")
@ApiParam(value = "是否单选")
@AnnoOutputColumn(refClass = BlockFormEnumUtil.TABLE_ROW_PICK.class)
private Integer isLineMultiple;
@Column(name = "IS_OBJECT_FIND")

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>i3plus-pojo</artifactId>
<groupId>i3plus.pojo</groupId>
<version>1.0-DEV-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>i3plus-pojo-ics</artifactId>
<dependencies>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-base</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,39 @@
package cn.estsh.i3plus.pojo.ics.bean;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-10 16:56
* @Modify:
**/
@Data
public class IcsActuatorMetrics {
private String name;
private List<Measurements> measurements;
private List<AvailableTags> availableTags;
@Data
@NoArgsConstructor
public static class Measurements {
private String statistic;
private Object value;
}
@Data
@NoArgsConstructor
public static class AvailableTags {
private String tag;
private List<String> values;
}
}

@ -0,0 +1,72 @@
package cn.estsh.i3plus.pojo.ics.bean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-09 17:55
* @Modify:
**/
@Data
@ApiModel("应用信息")
public class IcsApplication {
@ApiModelProperty("应用名称")
private String appName;
@ApiModelProperty("实例数量")
private Integer totalInstanceNum;
@ApiModelProperty("在线实例数量")
private Integer upInstanceNum;
public int getUpInstanceNumVal() {
return upInstanceNum == null ? 0 : upInstanceNum.intValue();
}
public void addUpInstanceNum() {
if (upInstanceNum == null) {
upInstanceNum = 0;
}
upInstanceNum++;
}
@ApiModelProperty("下线实例数量")
private Integer downInstanceNum;
public int getDownInstanceNumVal() {
return downInstanceNum == null ? 0 : downInstanceNum.intValue();
}
public void addDownInstanceNum() {
if (downInstanceNum == null) {
downInstanceNum = 0;
}
downInstanceNum++;
}
@ApiModelProperty("应用状态")
private Integer appStatus;
public String getAppStatusTxt(){
return appStatus == null ?"无": CommonEnumUtil.CLOUD_APP_STATUS.valueOfDescription(appStatus);
}
@ApiModelProperty("状态时间戳")
private Long statusTimeStamp;
@ApiModelProperty("状态时间")
private String statusTimeStampStr;
@ApiModelProperty("实例集合")
private List<IcsInstance> icsInstanceList;
}

@ -0,0 +1,37 @@
package cn.estsh.i3plus.pojo.ics.bean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-09 18:02
* @Modify:
**/
@Data
@ApiModel("实例信息")
public class IcsInstance {
@ApiModelProperty("实例id")
private String instanceId;
@ApiModelProperty("实例状态url")
private String instanceStatusUrl;
@ApiModelProperty("实例状态")
private Integer instanceStatus;
@ApiModelProperty("状态时间戳")
private Long statusTimeStamp;
@ApiModelProperty("状态时间")
private String statusTimeStampStr;
public String getInstanceStatusTxt(){
return instanceStatus == null ?"无": CommonEnumUtil.CLOUD_APP_STATUS.valueOfDescription(instanceStatus);
}
}

@ -0,0 +1,54 @@
package cn.estsh.i3plus.pojo.ics.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-10 16:52
* @Modify:
**/
@Data
@ApiModel("实例明细")
public class IcsInstanceDetail {
@ApiModelProperty("pid")
private String pid;
@ApiModelProperty("正常运行时间")
private double uptime;
@ApiModelProperty("正常运行时间")
private String uptimeStr;
@ApiModelProperty("进程Cpu使用情况")
private double processCpuUsage;
@ApiModelProperty("系统Cpu使用情况")
private double systemCpuUsage;
@ApiModelProperty("CPU数量")
private int cpuNum;
@ApiModelProperty("gc计数")
private int gcCount;
@ApiModelProperty("gc总花费时间")
private double gcTotalTimeSpent;
@ApiModelProperty("gc花费的最长时间")
private double gcMaxTimeSpent;
@ApiModelProperty("监控网址")
private String monitorUrl;
@ApiModelProperty("ApiUrl")
private String apiUrl;
@ApiModelProperty("服务网址")
private String serviceUrl;
}

@ -0,0 +1,27 @@
package cn.estsh.i3plus.pojo.ics.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-10 16:57
* @Modify:
**/
@Data
@ApiModel("实例堆内存")
public class IcsInstanceMemoryHeap {
@ApiModelProperty("堆使用的内存")
private double heapMemoryUsed;
@ApiModelProperty("堆内存大小")
private double heapMemorySize;
@ApiModelProperty("堆内存最大")
private double heapMemoryMax;
}

@ -0,0 +1,30 @@
package cn.estsh.i3plus.pojo.ics.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-10 16:57
* @Modify:
**/
@Data
@ApiModel("实例堆非内存")
public class IcsInstanceMemoryNonHeap {
@ApiModelProperty("非堆内存元空间")
private double nonHeapMemoryMetaspace;
@ApiModelProperty("非堆内存使用")
private double nonHeapMemoryUsed;
@ApiModelProperty("非堆内存大小")
private double nonHeapMemorySize;
@ApiModelProperty("非堆内存最大")
private double nonHeapMemoryMax;
}

@ -0,0 +1,27 @@
package cn.estsh.i3plus.pojo.ics.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description : 线
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-10 16:57
* @Modify:
**/
@Data
@ApiModel("实例线程信息")
public class IcsInstanceThread {
@ApiModelProperty("实时线程")
private double threadLive;
@ApiModelProperty("守护线程")
private double threadDaemon;
@ApiModelProperty("线程峰值")
private double threadPeakLive;
}

@ -0,0 +1,68 @@
package cn.estsh.i3plus.pojo.ics.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-04-09 10:12
* @Modify:
**/
@Data
@ApiModel("注册中心")
public class IcsRegist {
@ApiModelProperty("环境")
private String environment;
@ApiModelProperty("数据中心")
private String dataCenter;
@ApiModelProperty("集群信息")
private List<String> clusterInfo;
@ApiModelProperty("是否低于续订阈值")
private Integer isBelowRenewThresold;
@ApiModelProperty("启用自我保护模式")
private Integer selfPreservationModeEnabled;
@ApiModelProperty("注册中心启动时长")
private String upDateTime;
@ApiModelProperty("租约到期启用")
private Integer leaseExpirationEnabled;
@ApiModelProperty("实例IP")
private String instanceIp;
@ApiModelProperty("实例状态")
private String instanceStatus;
@ApiModelProperty("cpu数量")
private Integer cpuNum;
@ApiModelProperty("总可用内存")
private Integer totalAvailMemory;
@ApiModelProperty("当前的内存使用情况")
private Integer currentMemoryUsage;
@ApiModelProperty("应用数量")
private Integer appNum;
@ApiModelProperty("实例数量")
private Integer instanceNum;
@ApiModelProperty("下线实例数量")
private Integer downInstanceNum;
@ApiModelProperty("应用集合")
private List<IcsApplication> icsApplicationList;
}

@ -22,10 +22,10 @@ import java.util.Map;
@NoArgsConstructor
public class FormOperateDataModel {
@ApiModelProperty("元素代码")
private Long refId;
@ApiModelProperty("关联标识")
private String refId;
@ApiModelProperty("元素名称")
@ApiModelProperty("关联名称")
private String refName;
@ApiModelProperty("操作来源")

@ -31,6 +31,10 @@ public class MissResourceModel implements Serializable {
@ApiParam(value = "资源类型", example = "1", access = "使用枚举CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE")
private Integer resourceType;
public String getResourceTypeTxt(){
return resourceType == null ?"无": CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.valueOf(resourceType);
}
@ApiParam(value = "语言编码", example = "浏览器语言编码")
@AnnoOutputColumn
private String languageCode;
@ -47,6 +51,10 @@ public class MissResourceModel implements Serializable {
@AnnoOutputColumn(refClass = CommonEnumUtil.MiSS_RESOURCE_SOURCE.class)
private Integer resourceSource;
public String getResourceSourceTxt(){
return resourceSource == null ?"无": CommonEnumUtil.MiSS_RESOURCE_SOURCE.valueOfDescription(resourceSource);
}
@ApiParam(value = "数据来源")
@AnnoOutputColumn(refClass = CommonEnumUtil.IS_VAILD.class)
private Integer isValid;

@ -34,6 +34,7 @@
<module>modules/i3plus-pojo-aps</module>
<module>modules/i3plus-pojo-lac</module>
<module>modules/i3plus-pojo-ptl</module>
<module>modules/i3plus-pojo-ics</module>
</modules>
<dependencies>
@ -58,7 +59,20 @@
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>

Loading…
Cancel
Save