[monitor] 设计参数定义参数值表结构及相应实体
This commit is contained in:
@@ -100,7 +100,7 @@ public class CommonDispatcher implements MetricsTaskDispatch, CollectDataDispatc
|
||||
if (metricsTime.getStartTime() < deadline) {
|
||||
// 指标组采集超时
|
||||
CollectRep.MetricsData metricsData = CollectRep.MetricsData.newBuilder()
|
||||
.setId(metricsTime.getTimerJob().getJob().getAppId())
|
||||
.setId(metricsTime.getTimerJob().getJob().getMonitorId())
|
||||
.setApp(metricsTime.getTimerJob().getJob().getApp())
|
||||
.setMetrics(metricsTime.getMetrics().getName())
|
||||
.setTime(System.currentTimeMillis())
|
||||
|
||||
@@ -76,7 +76,7 @@ public class MetricsCollect implements Runnable, Comparable<MetricsCollect> {
|
||||
return;
|
||||
} else {
|
||||
try {
|
||||
abstractCollect.collect(response, timerJob.getJob().getAppId(),
|
||||
abstractCollect.collect(response, timerJob.getJob().getMonitorId(),
|
||||
timerJob.getJob().getApp(), metrics);
|
||||
} catch (Exception e) {
|
||||
log.error("[Metrics Collect]: {}.", e.getMessage(), e);
|
||||
@@ -155,7 +155,7 @@ public class MetricsCollect implements Runnable, Comparable<MetricsCollect> {
|
||||
}
|
||||
|
||||
private void setNewThreadName(WheelTimerJob timerJob, Metrics metrics) {
|
||||
String currentName = timerJob.getJob().getAppId() + "-" + timerJob.getJob().getApp()
|
||||
String currentName = timerJob.getJob().getMonitorId() + "-" + timerJob.getJob().getApp()
|
||||
+ "-" + metrics.getName() + "-" + timerJob.getJob().getId();
|
||||
Thread.currentThread().setName(currentName);
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public class Job {
|
||||
/**
|
||||
* 监控ID 应用ID
|
||||
*/
|
||||
private long appId;
|
||||
private long monitorId;
|
||||
/**
|
||||
* 监控的类型 eg: linux | mysql | jvm
|
||||
*/
|
||||
@@ -143,7 +143,7 @@ public class Job {
|
||||
}
|
||||
if (!metricsSet.remove(metrics)) {
|
||||
log.error("Job {} appId {} app {} metrics {} remove empty error in priorMetrics.",
|
||||
id, appId, app, metrics.getName());
|
||||
id, monitorId, app, metrics.getName());
|
||||
}
|
||||
if (metricsSet.isEmpty()) {
|
||||
priorMetrics.remove(0);
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.usthe.manager.pojo.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 监控参数值
|
||||
* @author tomsun28
|
||||
* @date 2021/11/13 22:19
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "param")
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Param {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 监控ID
|
||||
*/
|
||||
private Long monitorId;
|
||||
|
||||
/**
|
||||
* 参数字段标识符
|
||||
*/
|
||||
private String field;
|
||||
|
||||
/**
|
||||
* 参数值
|
||||
*/
|
||||
private String value;
|
||||
|
||||
/**
|
||||
* 参数类型 0:数字 1:字符串 2:加密串
|
||||
*/
|
||||
private byte type;
|
||||
|
||||
/**
|
||||
* 记录创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 记录最新修改时间
|
||||
*/
|
||||
private LocalDateTime gmtUpdate;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
package com.usthe.manager.pojo.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 监控参数定义
|
||||
* @author tomsun28
|
||||
* @date 2021/11/13 21:49
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "param_define")
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ParamDefine {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 监控应用类型名称
|
||||
*/
|
||||
private String app;
|
||||
|
||||
/**
|
||||
* 参数字段对外显示名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 参数字段标识符
|
||||
*/
|
||||
private String field;
|
||||
|
||||
/**
|
||||
* 字段类型,样式(大部分映射input标签type属性)
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 当type为number时,用range表示范围 eg: 0-233
|
||||
*/
|
||||
@Column(name = "param_range")
|
||||
private String range;
|
||||
|
||||
/**
|
||||
* 当type为text时,用limit表示字符串限制大小.最大255
|
||||
*/
|
||||
@Column(name = "param_limit")
|
||||
private short limit;
|
||||
|
||||
/**
|
||||
* 当type为radio单选框,checkbox复选框时,option表示可选项值列表
|
||||
* eg: param3,param4,param5
|
||||
*/
|
||||
@Column(name = "param_option")
|
||||
private String option;
|
||||
|
||||
/**
|
||||
* 此条记录创建者
|
||||
*/
|
||||
private String creator;
|
||||
|
||||
/**
|
||||
* 此条记录最新修改者
|
||||
*/
|
||||
private String modifier;
|
||||
|
||||
/**
|
||||
* 记录创建时间
|
||||
*/
|
||||
private LocalDateTime gmtCreate;
|
||||
|
||||
/**
|
||||
* 记录最新修改时间
|
||||
*/
|
||||
private LocalDateTime gmtUpdate;
|
||||
}
|
||||
@@ -12,8 +12,8 @@ CREATE TABLE monitor
|
||||
app varchar(100) not null comment '监控的类型:linux,mysql,jvm...',
|
||||
host varchar(100) not null comment '监控的对端host:ipv4,ipv6,域名',
|
||||
intervals int not null default 600 comment '监控的采集间隔时间,单位秒',
|
||||
status smallint(4) not null default 1 comment '监控状态 0:未监控,1:可用,2:不可用,3:不可达,4:挂起',
|
||||
description varchar(255) comment '监控描述信息',
|
||||
status tinyint not null default 1 comment '监控状态 0:未监控,1:可用,2:不可用,3:不可达,4:挂起',
|
||||
description varchar(255) comment '描述备注信息',
|
||||
creator varchar(100) comment '创建者',
|
||||
modifier varchar(100) comment '最新修改者',
|
||||
gmt_create timestamp default current_timestamp comment 'create time',
|
||||
@@ -29,10 +29,9 @@ CREATE TABLE param
|
||||
(
|
||||
id bigint not null auto_increment comment '参数ID',
|
||||
monitor_id bigint not null comment '监控ID',
|
||||
param_name varchar(100) not null comment '参数显示名称',
|
||||
param_key varchar(100) not null comment '参数标识符',
|
||||
param_value varchar(255) not null comment '参数值',
|
||||
param_type smallint(4) not null default 0 comment '参数类型 0:数字 1:字符串 2:加密串',
|
||||
field varchar(100) not null comment '参数标识符',
|
||||
value varchar(255) not null comment '参数值,最大字符长度255',
|
||||
type tinyint not null default 0 comment '参数类型 0:数字 1:字符串 2:加密串',
|
||||
gmt_create timestamp default current_timestamp comment 'create time',
|
||||
gmt_update datetime default current_timestamp on update current_timestamp comment 'update time',
|
||||
primary key (id),
|
||||
@@ -45,14 +44,18 @@ CREATE TABLE param
|
||||
DROP TABLE IF EXISTS param_define ;
|
||||
CREATE TABLE param_define
|
||||
(
|
||||
id bigint not null auto_increment comment '参数ID',
|
||||
monitor_id bigint not null comment '监控ID',
|
||||
param_name varchar(100) not null comment '参数显示名称',
|
||||
param_key varchar(100) not null comment '参数标识符',
|
||||
param_value varchar(255) not null comment '参数值',
|
||||
param_type smallint(4) not null default 0 comment '参数类型 0:数字 1:字符串 2:加密串',
|
||||
gmt_create timestamp default current_timestamp comment 'create time',
|
||||
gmt_update datetime default current_timestamp on update current_timestamp comment 'update time',
|
||||
id bigint not null auto_increment comment '参数ID',
|
||||
app varchar(100) not null comment '监控的类型:linux,mysql,jvm...',
|
||||
name varchar(100) not null comment '参数字段对外显示名称',
|
||||
field varchar(100) not null comment '参数字段标识符',
|
||||
type varchar(20) not null default 'text' comment '字段类型,样式(大部分映射input标签type属性)',
|
||||
param_range varchar(100) not null comment '当type为number时,用range表示范围 eg: 0-233',
|
||||
param_limit tinyint unsigned not null comment '当type为text时,用limit表示字符串限制大小.最大255',
|
||||
param_option varchar(255) not null comment '当type为radio单选框,checkbox复选框时,option表示可选项值列表',
|
||||
creator varchar(100) comment '创建者',
|
||||
modifier varchar(100) comment '最新修改者',
|
||||
gmt_create timestamp default current_timestamp comment 'create time',
|
||||
gmt_update datetime default current_timestamp on update current_timestamp comment 'update time',
|
||||
primary key (id),
|
||||
index monitor_id (monitor_id)
|
||||
index app_index (app)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
Reference in New Issue
Block a user