[monitor] 最高调度级别的采集数据告警恢复时监控状态联动

This commit is contained in:
tomsun28
2021-12-15 11:21:51 +08:00
parent 077f8b9d07
commit 5f211560a6
8 changed files with 257 additions and 144 deletions

View File

@@ -36,13 +36,15 @@ public class CalculateAlarm {
private AlerterDataQueue dataQueue; private AlerterDataQueue dataQueue;
private AlertDefineService alertDefineService; private AlertDefineService alertDefineService;
private Map<String, Alert> triggeredAlertMap; private Map<String, Alert> triggeredAlertMap;
private Map<Long, CollectRep.Code> triggeredMonitorStateAlertMap;
public CalculateAlarm (AlerterProperties properties, AlerterWorkerPool workerPool, public CalculateAlarm (AlerterWorkerPool workerPool, AlerterDataQueue dataQueue,
AlerterDataQueue dataQueue, AlertDefineService alertDefineService) { AlertDefineService alertDefineService) {
this.workerPool = workerPool; this.workerPool = workerPool;
this.dataQueue = dataQueue; this.dataQueue = dataQueue;
this.alertDefineService = alertDefineService; this.alertDefineService = alertDefineService;
this.triggeredAlertMap = new ConcurrentHashMap<>(128); this.triggeredAlertMap = new ConcurrentHashMap<>(128);
this.triggeredMonitorStateAlertMap = new ConcurrentHashMap<>(128);
startCalculate(); startCalculate();
} }
@@ -68,29 +70,42 @@ public class CalculateAlarm {
long monitorId = metricsData.getId(); long monitorId = metricsData.getId();
String app = metricsData.getApp(); String app = metricsData.getApp();
String metrics = metricsData.getMetrics(); String metrics = metricsData.getMetrics();
// 先判断采集响应数据状态 UN_REACHABLE/UN_CONNECTABLE 则需发最高级别告警 // 先判断调度优先级为0的指标组采集响应数据状态 UN_REACHABLE/UN_CONNECTABLE 则需发最高级别告警进行监控状态变更
if (metricsData.getCode() != CollectRep.Code.SUCCESS) { if (metricsData.getPriority() == 0) {
// 采集异常 if (metricsData.getCode() != CollectRep.Code.SUCCESS) {
Alert.AlertBuilder alertBuilder = Alert.builder() // 采集异常
.monitorId(monitorId) Alert.AlertBuilder alertBuilder = Alert.builder()
.priority((byte) 0) .monitorId(monitorId)
.status((byte) 0) .priority((byte) 0)
.times(1); .status((byte) 0)
if (metricsData.getCode() == CollectRep.Code.UN_REACHABLE) { .times(1);
// UN_REACHABLE 对端不可达(网络层icmp) if (metricsData.getCode() == CollectRep.Code.UN_REACHABLE) {
alertBuilder.target(CommonConstants.REACHABLE) // UN_REACHABLE 对端不可达(网络层icmp)
.content("监控紧急可达性告警: " + metricsData.getCode().name()); alertBuilder.target(CommonConstants.REACHABLE)
dataQueue.addAlertData(alertBuilder.build()); .content("监控紧急可达性告警: " + metricsData.getCode().name());
} else if (metricsData.getCode() == CollectRep.Code.UN_CONNECTABLE) { triggeredMonitorStateAlertMap.put(monitorId, CollectRep.Code.UN_REACHABLE);
// UN_CONNECTABLE 对端连接失败(传输层tcp,udp) dataQueue.addAlertData(alertBuilder.build());
alertBuilder.target(CommonConstants.AVAILABLE) } else if (metricsData.getCode() == CollectRep.Code.UN_CONNECTABLE) {
.content("监控紧急可用性告警: " + metricsData.getCode().name()); // UN_CONNECTABLE 对端连接失败(传输层tcp,udp)
dataQueue.addAlertData(alertBuilder.build()); alertBuilder.target(CommonConstants.AVAILABLE)
} else { .content("监控紧急可用性告警: " + metricsData.getCode().name());
// todo 其它规范异常 TIMEOUT ... triggeredMonitorStateAlertMap.put(monitorId, CollectRep.Code.UN_CONNECTABLE);
dataQueue.addAlertData(alertBuilder.build());
} else {
// todo 其它规范异常 TIMEOUT ...
return;
}
return; return;
} else {
// 判断关联监控之前是否有可用性或者不可达告警,发送恢复告警进行监控状态恢复
CollectRep.Code stateCode = triggeredMonitorStateAlertMap.remove(monitorId);
if (stateCode != null) {
// 发送告警恢复
Alert resumeAlert = Alert.builder()
.monitorId(monitorId).status((byte) 2).build();
dataQueue.addAlertData(resumeAlert);
}
} }
return;
} }
// 查出此监控类型下的此指标集合下关联配置的告警定义信息 // 查出此监控类型下的此指标集合下关联配置的告警定义信息
// field - define[] // field - define[]

View File

@@ -67,7 +67,7 @@ public class Alert {
@Length(max = 1024) @Length(max = 1024)
private String content; private String content;
@ApiModelProperty(value = "告警状态: 0-待发送 1-已发送 2-已过期(已经超过持续时间)", @ApiModelProperty(value = "告警状态: 0-正常告警 1-触发中:阈值触发但未达到告警次数 2-恢复告警",
example = "1", accessMode = READ_WRITE, position = 7) example = "1", accessMode = READ_WRITE, position = 7)
@Min(0) @Min(0)
@Max(2) @Max(2)

View File

@@ -261,12 +261,22 @@ public final class CollectRep {
com.google.protobuf.ByteString com.google.protobuf.ByteString
getMetricsBytes(); getMetricsBytes();
/**
* <pre>
* 监控采集指标集合的采集优先级&gt;=0
* </pre>
*
* <code>uint32 priority = 4;</code>
* @return The priority.
*/
int getPriority();
/** /**
* <pre> * <pre>
* 采集时间 * 采集时间
* </pre> * </pre>
* *
* <code>uint64 time = 4;</code> * <code>uint64 time = 5;</code>
* @return The time. * @return The time.
*/ */
long getTime(); long getTime();
@@ -276,7 +286,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @return The enum numeric value on the wire for code. * @return The enum numeric value on the wire for code.
*/ */
int getCodeValue(); int getCodeValue();
@@ -285,7 +295,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @return The code. * @return The code.
*/ */
com.usthe.common.entity.message.CollectRep.Code getCode(); com.usthe.common.entity.message.CollectRep.Code getCode();
@@ -295,7 +305,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @return The msg. * @return The msg.
*/ */
java.lang.String getMsg(); java.lang.String getMsg();
@@ -304,7 +314,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @return The bytes for msg. * @return The bytes for msg.
*/ */
com.google.protobuf.ByteString com.google.protobuf.ByteString
@@ -315,7 +325,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
java.util.List<com.usthe.common.entity.message.CollectRep.Field> java.util.List<com.usthe.common.entity.message.CollectRep.Field>
getFieldsList(); getFieldsList();
@@ -324,7 +334,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
com.usthe.common.entity.message.CollectRep.Field getFields(int index); com.usthe.common.entity.message.CollectRep.Field getFields(int index);
/** /**
@@ -332,7 +342,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
int getFieldsCount(); int getFieldsCount();
/** /**
@@ -340,7 +350,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
java.util.List<? extends com.usthe.common.entity.message.CollectRep.FieldOrBuilder> java.util.List<? extends com.usthe.common.entity.message.CollectRep.FieldOrBuilder>
getFieldsOrBuilderList(); getFieldsOrBuilderList();
@@ -349,7 +359,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
com.usthe.common.entity.message.CollectRep.FieldOrBuilder getFieldsOrBuilder( com.usthe.common.entity.message.CollectRep.FieldOrBuilder getFieldsOrBuilder(
int index); int index);
@@ -359,7 +369,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow> java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow>
getValuesList(); getValuesList();
@@ -368,7 +378,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
com.usthe.common.entity.message.CollectRep.ValueRow getValues(int index); com.usthe.common.entity.message.CollectRep.ValueRow getValues(int index);
/** /**
@@ -376,7 +386,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
int getValuesCount(); int getValuesCount();
/** /**
@@ -384,7 +394,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
java.util.List<? extends com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder> java.util.List<? extends com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder>
getValuesOrBuilderList(); getValuesOrBuilderList();
@@ -393,7 +403,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder getValuesOrBuilder( com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder getValuesOrBuilder(
int index); int index);
@@ -469,22 +479,27 @@ public final class CollectRep {
} }
case 32: { case 32: {
time_ = input.readUInt64(); priority_ = input.readUInt32();
break; break;
} }
case 40: { case 40: {
time_ = input.readUInt64();
break;
}
case 48: {
int rawValue = input.readEnum(); int rawValue = input.readEnum();
code_ = rawValue; code_ = rawValue;
break; break;
} }
case 50: { case 58: {
java.lang.String s = input.readStringRequireUtf8(); java.lang.String s = input.readStringRequireUtf8();
msg_ = s; msg_ = s;
break; break;
} }
case 58: { case 66: {
if (!((mutable_bitField0_ & 0x00000001) != 0)) { if (!((mutable_bitField0_ & 0x00000001) != 0)) {
fields_ = new java.util.ArrayList<com.usthe.common.entity.message.CollectRep.Field>(); fields_ = new java.util.ArrayList<com.usthe.common.entity.message.CollectRep.Field>();
mutable_bitField0_ |= 0x00000001; mutable_bitField0_ |= 0x00000001;
@@ -493,7 +508,7 @@ public final class CollectRep {
input.readMessage(com.usthe.common.entity.message.CollectRep.Field.parser(), extensionRegistry)); input.readMessage(com.usthe.common.entity.message.CollectRep.Field.parser(), extensionRegistry));
break; break;
} }
case 66: { case 74: {
if (!((mutable_bitField0_ & 0x00000002) != 0)) { if (!((mutable_bitField0_ & 0x00000002) != 0)) {
values_ = new java.util.ArrayList<com.usthe.common.entity.message.CollectRep.ValueRow>(); values_ = new java.util.ArrayList<com.usthe.common.entity.message.CollectRep.ValueRow>();
mutable_bitField0_ |= 0x00000002; mutable_bitField0_ |= 0x00000002;
@@ -647,14 +662,29 @@ public final class CollectRep {
} }
} }
public static final int TIME_FIELD_NUMBER = 4; public static final int PRIORITY_FIELD_NUMBER = 4;
private int priority_;
/**
* <pre>
* 监控采集指标集合的采集优先级&gt;=0
* </pre>
*
* <code>uint32 priority = 4;</code>
* @return The priority.
*/
@java.lang.Override
public int getPriority() {
return priority_;
}
public static final int TIME_FIELD_NUMBER = 5;
private long time_; private long time_;
/** /**
* <pre> * <pre>
* 采集时间 * 采集时间
* </pre> * </pre>
* *
* <code>uint64 time = 4;</code> * <code>uint64 time = 5;</code>
* @return The time. * @return The time.
*/ */
@java.lang.Override @java.lang.Override
@@ -662,14 +692,14 @@ public final class CollectRep {
return time_; return time_;
} }
public static final int CODE_FIELD_NUMBER = 5; public static final int CODE_FIELD_NUMBER = 6;
private int code_; private int code_;
/** /**
* <pre> * <pre>
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @return The enum numeric value on the wire for code. * @return The enum numeric value on the wire for code.
*/ */
@java.lang.Override public int getCodeValue() { @java.lang.Override public int getCodeValue() {
@@ -680,7 +710,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @return The code. * @return The code.
*/ */
@java.lang.Override public com.usthe.common.entity.message.CollectRep.Code getCode() { @java.lang.Override public com.usthe.common.entity.message.CollectRep.Code getCode() {
@@ -689,14 +719,14 @@ public final class CollectRep {
return result == null ? com.usthe.common.entity.message.CollectRep.Code.UNRECOGNIZED : result; return result == null ? com.usthe.common.entity.message.CollectRep.Code.UNRECOGNIZED : result;
} }
public static final int MSG_FIELD_NUMBER = 6; public static final int MSG_FIELD_NUMBER = 7;
private volatile java.lang.Object msg_; private volatile java.lang.Object msg_;
/** /**
* <pre> * <pre>
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @return The msg. * @return The msg.
*/ */
@java.lang.Override @java.lang.Override
@@ -717,7 +747,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @return The bytes for msg. * @return The bytes for msg.
*/ */
@java.lang.Override @java.lang.Override
@@ -735,14 +765,14 @@ public final class CollectRep {
} }
} }
public static final int FIELDS_FIELD_NUMBER = 7; public static final int FIELDS_FIELD_NUMBER = 8;
private java.util.List<com.usthe.common.entity.message.CollectRep.Field> fields_; private java.util.List<com.usthe.common.entity.message.CollectRep.Field> fields_;
/** /**
* <pre> * <pre>
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
@java.lang.Override @java.lang.Override
public java.util.List<com.usthe.common.entity.message.CollectRep.Field> getFieldsList() { public java.util.List<com.usthe.common.entity.message.CollectRep.Field> getFieldsList() {
@@ -753,7 +783,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
@java.lang.Override @java.lang.Override
public java.util.List<? extends com.usthe.common.entity.message.CollectRep.FieldOrBuilder> public java.util.List<? extends com.usthe.common.entity.message.CollectRep.FieldOrBuilder>
@@ -765,7 +795,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
@java.lang.Override @java.lang.Override
public int getFieldsCount() { public int getFieldsCount() {
@@ -776,7 +806,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
@java.lang.Override @java.lang.Override
public com.usthe.common.entity.message.CollectRep.Field getFields(int index) { public com.usthe.common.entity.message.CollectRep.Field getFields(int index) {
@@ -787,7 +817,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
@java.lang.Override @java.lang.Override
public com.usthe.common.entity.message.CollectRep.FieldOrBuilder getFieldsOrBuilder( public com.usthe.common.entity.message.CollectRep.FieldOrBuilder getFieldsOrBuilder(
@@ -795,14 +825,14 @@ public final class CollectRep {
return fields_.get(index); return fields_.get(index);
} }
public static final int VALUES_FIELD_NUMBER = 8; public static final int VALUES_FIELD_NUMBER = 9;
private java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow> values_; private java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow> values_;
/** /**
* <pre> * <pre>
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
@java.lang.Override @java.lang.Override
public java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow> getValuesList() { public java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow> getValuesList() {
@@ -813,7 +843,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
@java.lang.Override @java.lang.Override
public java.util.List<? extends com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder> public java.util.List<? extends com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder>
@@ -825,7 +855,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
@java.lang.Override @java.lang.Override
public int getValuesCount() { public int getValuesCount() {
@@ -836,7 +866,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
@java.lang.Override @java.lang.Override
public com.usthe.common.entity.message.CollectRep.ValueRow getValues(int index) { public com.usthe.common.entity.message.CollectRep.ValueRow getValues(int index) {
@@ -847,7 +877,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
@java.lang.Override @java.lang.Override
public com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder getValuesOrBuilder( public com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder getValuesOrBuilder(
@@ -878,20 +908,23 @@ public final class CollectRep {
if (!getMetricsBytes().isEmpty()) { if (!getMetricsBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 3, metrics_); com.google.protobuf.GeneratedMessageV3.writeString(output, 3, metrics_);
} }
if (priority_ != 0) {
output.writeUInt32(4, priority_);
}
if (time_ != 0L) { if (time_ != 0L) {
output.writeUInt64(4, time_); output.writeUInt64(5, time_);
} }
if (code_ != com.usthe.common.entity.message.CollectRep.Code.SUCCESS.getNumber()) { if (code_ != com.usthe.common.entity.message.CollectRep.Code.SUCCESS.getNumber()) {
output.writeEnum(5, code_); output.writeEnum(6, code_);
} }
if (!getMsgBytes().isEmpty()) { if (!getMsgBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 6, msg_); com.google.protobuf.GeneratedMessageV3.writeString(output, 7, msg_);
} }
for (int i = 0; i < fields_.size(); i++) { for (int i = 0; i < fields_.size(); i++) {
output.writeMessage(7, fields_.get(i)); output.writeMessage(8, fields_.get(i));
} }
for (int i = 0; i < values_.size(); i++) { for (int i = 0; i < values_.size(); i++) {
output.writeMessage(8, values_.get(i)); output.writeMessage(9, values_.get(i));
} }
unknownFields.writeTo(output); unknownFields.writeTo(output);
} }
@@ -912,24 +945,28 @@ public final class CollectRep {
if (!getMetricsBytes().isEmpty()) { if (!getMetricsBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, metrics_); size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, metrics_);
} }
if (priority_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeUInt32Size(4, priority_);
}
if (time_ != 0L) { if (time_ != 0L) {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeUInt64Size(4, time_); .computeUInt64Size(5, time_);
} }
if (code_ != com.usthe.common.entity.message.CollectRep.Code.SUCCESS.getNumber()) { if (code_ != com.usthe.common.entity.message.CollectRep.Code.SUCCESS.getNumber()) {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeEnumSize(5, code_); .computeEnumSize(6, code_);
} }
if (!getMsgBytes().isEmpty()) { if (!getMsgBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, msg_); size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, msg_);
} }
for (int i = 0; i < fields_.size(); i++) { for (int i = 0; i < fields_.size(); i++) {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeMessageSize(7, fields_.get(i)); .computeMessageSize(8, fields_.get(i));
} }
for (int i = 0; i < values_.size(); i++) { for (int i = 0; i < values_.size(); i++) {
size += com.google.protobuf.CodedOutputStream size += com.google.protobuf.CodedOutputStream
.computeMessageSize(8, values_.get(i)); .computeMessageSize(9, values_.get(i));
} }
size += unknownFields.getSerializedSize(); size += unknownFields.getSerializedSize();
memoizedSize = size; memoizedSize = size;
@@ -952,6 +989,8 @@ public final class CollectRep {
.equals(other.getApp())) return false; .equals(other.getApp())) return false;
if (!getMetrics() if (!getMetrics()
.equals(other.getMetrics())) return false; .equals(other.getMetrics())) return false;
if (getPriority()
!= other.getPriority()) return false;
if (getTime() if (getTime()
!= other.getTime()) return false; != other.getTime()) return false;
if (code_ != other.code_) return false; if (code_ != other.code_) return false;
@@ -979,6 +1018,8 @@ public final class CollectRep {
hash = (53 * hash) + getApp().hashCode(); hash = (53 * hash) + getApp().hashCode();
hash = (37 * hash) + METRICS_FIELD_NUMBER; hash = (37 * hash) + METRICS_FIELD_NUMBER;
hash = (53 * hash) + getMetrics().hashCode(); hash = (53 * hash) + getMetrics().hashCode();
hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
hash = (53 * hash) + getPriority();
hash = (37 * hash) + TIME_FIELD_NUMBER; hash = (37 * hash) + TIME_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashLong( hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
getTime()); getTime());
@@ -1135,6 +1176,8 @@ public final class CollectRep {
metrics_ = ""; metrics_ = "";
priority_ = 0;
time_ = 0L; time_ = 0L;
code_ = 0; code_ = 0;
@@ -1183,6 +1226,7 @@ public final class CollectRep {
result.id_ = id_; result.id_ = id_;
result.app_ = app_; result.app_ = app_;
result.metrics_ = metrics_; result.metrics_ = metrics_;
result.priority_ = priority_;
result.time_ = time_; result.time_ = time_;
result.code_ = code_; result.code_ = code_;
result.msg_ = msg_; result.msg_ = msg_;
@@ -1263,6 +1307,9 @@ public final class CollectRep {
metrics_ = other.metrics_; metrics_ = other.metrics_;
onChanged(); onChanged();
} }
if (other.getPriority() != 0) {
setPriority(other.getPriority());
}
if (other.getTime() != 0L) { if (other.getTime() != 0L) {
setTime(other.getTime()); setTime(other.getTime());
} }
@@ -1590,13 +1637,56 @@ public final class CollectRep {
return this; return this;
} }
private int priority_ ;
/**
* <pre>
* 监控采集指标集合的采集优先级&gt;=0
* </pre>
*
* <code>uint32 priority = 4;</code>
* @return The priority.
*/
@java.lang.Override
public int getPriority() {
return priority_;
}
/**
* <pre>
* 监控采集指标集合的采集优先级&gt;=0
* </pre>
*
* <code>uint32 priority = 4;</code>
* @param value The priority to set.
* @return This builder for chaining.
*/
public Builder setPriority(int value) {
priority_ = value;
onChanged();
return this;
}
/**
* <pre>
* 监控采集指标集合的采集优先级&gt;=0
* </pre>
*
* <code>uint32 priority = 4;</code>
* @return This builder for chaining.
*/
public Builder clearPriority() {
priority_ = 0;
onChanged();
return this;
}
private long time_ ; private long time_ ;
/** /**
* <pre> * <pre>
* 采集时间 * 采集时间
* </pre> * </pre>
* *
* <code>uint64 time = 4;</code> * <code>uint64 time = 5;</code>
* @return The time. * @return The time.
*/ */
@java.lang.Override @java.lang.Override
@@ -1608,7 +1698,7 @@ public final class CollectRep {
* 采集时间 * 采集时间
* </pre> * </pre>
* *
* <code>uint64 time = 4;</code> * <code>uint64 time = 5;</code>
* @param value The time to set. * @param value The time to set.
* @return This builder for chaining. * @return This builder for chaining.
*/ */
@@ -1623,7 +1713,7 @@ public final class CollectRep {
* 采集时间 * 采集时间
* </pre> * </pre>
* *
* <code>uint64 time = 4;</code> * <code>uint64 time = 5;</code>
* @return This builder for chaining. * @return This builder for chaining.
*/ */
public Builder clearTime() { public Builder clearTime() {
@@ -1639,7 +1729,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @return The enum numeric value on the wire for code. * @return The enum numeric value on the wire for code.
*/ */
@java.lang.Override public int getCodeValue() { @java.lang.Override public int getCodeValue() {
@@ -1650,7 +1740,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @param value The enum numeric value on the wire for code to set. * @param value The enum numeric value on the wire for code to set.
* @return This builder for chaining. * @return This builder for chaining.
*/ */
@@ -1665,7 +1755,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @return The code. * @return The code.
*/ */
@java.lang.Override @java.lang.Override
@@ -1679,7 +1769,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @param value The code to set. * @param value The code to set.
* @return This builder for chaining. * @return This builder for chaining.
*/ */
@@ -1697,7 +1787,7 @@ public final class CollectRep {
* 采集响应码 * 采集响应码
* </pre> * </pre>
* *
* <code>.com.usthe.common.entity.message.Code code = 5;</code> * <code>.com.usthe.common.entity.message.Code code = 6;</code>
* @return This builder for chaining. * @return This builder for chaining.
*/ */
public Builder clearCode() { public Builder clearCode() {
@@ -1713,7 +1803,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @return The msg. * @return The msg.
*/ */
public java.lang.String getMsg() { public java.lang.String getMsg() {
@@ -1733,7 +1823,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @return The bytes for msg. * @return The bytes for msg.
*/ */
public com.google.protobuf.ByteString public com.google.protobuf.ByteString
@@ -1754,7 +1844,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @param value The msg to set. * @param value The msg to set.
* @return This builder for chaining. * @return This builder for chaining.
*/ */
@@ -1773,7 +1863,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @return This builder for chaining. * @return This builder for chaining.
*/ */
public Builder clearMsg() { public Builder clearMsg() {
@@ -1787,7 +1877,7 @@ public final class CollectRep {
* 采集响应信息 * 采集响应信息
* </pre> * </pre>
* *
* <code>string msg = 6;</code> * <code>string msg = 7;</code>
* @param value The bytes for msg to set. * @param value The bytes for msg to set.
* @return This builder for chaining. * @return This builder for chaining.
*/ */
@@ -1820,7 +1910,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public java.util.List<com.usthe.common.entity.message.CollectRep.Field> getFieldsList() { public java.util.List<com.usthe.common.entity.message.CollectRep.Field> getFieldsList() {
if (fieldsBuilder_ == null) { if (fieldsBuilder_ == null) {
@@ -1834,7 +1924,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public int getFieldsCount() { public int getFieldsCount() {
if (fieldsBuilder_ == null) { if (fieldsBuilder_ == null) {
@@ -1848,7 +1938,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.Field getFields(int index) { public com.usthe.common.entity.message.CollectRep.Field getFields(int index) {
if (fieldsBuilder_ == null) { if (fieldsBuilder_ == null) {
@@ -1862,7 +1952,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder setFields( public Builder setFields(
int index, com.usthe.common.entity.message.CollectRep.Field value) { int index, com.usthe.common.entity.message.CollectRep.Field value) {
@@ -1883,7 +1973,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder setFields( public Builder setFields(
int index, com.usthe.common.entity.message.CollectRep.Field.Builder builderForValue) { int index, com.usthe.common.entity.message.CollectRep.Field.Builder builderForValue) {
@@ -1901,7 +1991,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder addFields(com.usthe.common.entity.message.CollectRep.Field value) { public Builder addFields(com.usthe.common.entity.message.CollectRep.Field value) {
if (fieldsBuilder_ == null) { if (fieldsBuilder_ == null) {
@@ -1921,7 +2011,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder addFields( public Builder addFields(
int index, com.usthe.common.entity.message.CollectRep.Field value) { int index, com.usthe.common.entity.message.CollectRep.Field value) {
@@ -1942,7 +2032,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder addFields( public Builder addFields(
com.usthe.common.entity.message.CollectRep.Field.Builder builderForValue) { com.usthe.common.entity.message.CollectRep.Field.Builder builderForValue) {
@@ -1960,7 +2050,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder addFields( public Builder addFields(
int index, com.usthe.common.entity.message.CollectRep.Field.Builder builderForValue) { int index, com.usthe.common.entity.message.CollectRep.Field.Builder builderForValue) {
@@ -1978,7 +2068,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder addAllFields( public Builder addAllFields(
java.lang.Iterable<? extends com.usthe.common.entity.message.CollectRep.Field> values) { java.lang.Iterable<? extends com.usthe.common.entity.message.CollectRep.Field> values) {
@@ -1997,7 +2087,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder clearFields() { public Builder clearFields() {
if (fieldsBuilder_ == null) { if (fieldsBuilder_ == null) {
@@ -2014,7 +2104,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public Builder removeFields(int index) { public Builder removeFields(int index) {
if (fieldsBuilder_ == null) { if (fieldsBuilder_ == null) {
@@ -2031,7 +2121,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.Field.Builder getFieldsBuilder( public com.usthe.common.entity.message.CollectRep.Field.Builder getFieldsBuilder(
int index) { int index) {
@@ -2042,7 +2132,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.FieldOrBuilder getFieldsOrBuilder( public com.usthe.common.entity.message.CollectRep.FieldOrBuilder getFieldsOrBuilder(
int index) { int index) {
@@ -2056,7 +2146,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public java.util.List<? extends com.usthe.common.entity.message.CollectRep.FieldOrBuilder> public java.util.List<? extends com.usthe.common.entity.message.CollectRep.FieldOrBuilder>
getFieldsOrBuilderList() { getFieldsOrBuilderList() {
@@ -2071,7 +2161,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.Field.Builder addFieldsBuilder() { public com.usthe.common.entity.message.CollectRep.Field.Builder addFieldsBuilder() {
return getFieldsFieldBuilder().addBuilder( return getFieldsFieldBuilder().addBuilder(
@@ -2082,7 +2172,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.Field.Builder addFieldsBuilder( public com.usthe.common.entity.message.CollectRep.Field.Builder addFieldsBuilder(
int index) { int index) {
@@ -2094,7 +2184,7 @@ public final class CollectRep {
* 采集指标名 * 采集指标名
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.Field fields = 7;</code> * <code>repeated .com.usthe.common.entity.message.Field fields = 8;</code>
*/ */
public java.util.List<com.usthe.common.entity.message.CollectRep.Field.Builder> public java.util.List<com.usthe.common.entity.message.CollectRep.Field.Builder>
getFieldsBuilderList() { getFieldsBuilderList() {
@@ -2132,7 +2222,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow> getValuesList() { public java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow> getValuesList() {
if (valuesBuilder_ == null) { if (valuesBuilder_ == null) {
@@ -2146,7 +2236,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public int getValuesCount() { public int getValuesCount() {
if (valuesBuilder_ == null) { if (valuesBuilder_ == null) {
@@ -2160,7 +2250,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.ValueRow getValues(int index) { public com.usthe.common.entity.message.CollectRep.ValueRow getValues(int index) {
if (valuesBuilder_ == null) { if (valuesBuilder_ == null) {
@@ -2174,7 +2264,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder setValues( public Builder setValues(
int index, com.usthe.common.entity.message.CollectRep.ValueRow value) { int index, com.usthe.common.entity.message.CollectRep.ValueRow value) {
@@ -2195,7 +2285,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder setValues( public Builder setValues(
int index, com.usthe.common.entity.message.CollectRep.ValueRow.Builder builderForValue) { int index, com.usthe.common.entity.message.CollectRep.ValueRow.Builder builderForValue) {
@@ -2213,7 +2303,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder addValues(com.usthe.common.entity.message.CollectRep.ValueRow value) { public Builder addValues(com.usthe.common.entity.message.CollectRep.ValueRow value) {
if (valuesBuilder_ == null) { if (valuesBuilder_ == null) {
@@ -2233,7 +2323,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder addValues( public Builder addValues(
int index, com.usthe.common.entity.message.CollectRep.ValueRow value) { int index, com.usthe.common.entity.message.CollectRep.ValueRow value) {
@@ -2254,7 +2344,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder addValues( public Builder addValues(
com.usthe.common.entity.message.CollectRep.ValueRow.Builder builderForValue) { com.usthe.common.entity.message.CollectRep.ValueRow.Builder builderForValue) {
@@ -2272,7 +2362,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder addValues( public Builder addValues(
int index, com.usthe.common.entity.message.CollectRep.ValueRow.Builder builderForValue) { int index, com.usthe.common.entity.message.CollectRep.ValueRow.Builder builderForValue) {
@@ -2290,7 +2380,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder addAllValues( public Builder addAllValues(
java.lang.Iterable<? extends com.usthe.common.entity.message.CollectRep.ValueRow> values) { java.lang.Iterable<? extends com.usthe.common.entity.message.CollectRep.ValueRow> values) {
@@ -2309,7 +2399,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder clearValues() { public Builder clearValues() {
if (valuesBuilder_ == null) { if (valuesBuilder_ == null) {
@@ -2326,7 +2416,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public Builder removeValues(int index) { public Builder removeValues(int index) {
if (valuesBuilder_ == null) { if (valuesBuilder_ == null) {
@@ -2343,7 +2433,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.ValueRow.Builder getValuesBuilder( public com.usthe.common.entity.message.CollectRep.ValueRow.Builder getValuesBuilder(
int index) { int index) {
@@ -2354,7 +2444,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder getValuesOrBuilder( public com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder getValuesOrBuilder(
int index) { int index) {
@@ -2368,7 +2458,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public java.util.List<? extends com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder> public java.util.List<? extends com.usthe.common.entity.message.CollectRep.ValueRowOrBuilder>
getValuesOrBuilderList() { getValuesOrBuilderList() {
@@ -2383,7 +2473,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.ValueRow.Builder addValuesBuilder() { public com.usthe.common.entity.message.CollectRep.ValueRow.Builder addValuesBuilder() {
return getValuesFieldBuilder().addBuilder( return getValuesFieldBuilder().addBuilder(
@@ -2394,7 +2484,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public com.usthe.common.entity.message.CollectRep.ValueRow.Builder addValuesBuilder( public com.usthe.common.entity.message.CollectRep.ValueRow.Builder addValuesBuilder(
int index) { int index) {
@@ -2406,7 +2496,7 @@ public final class CollectRep {
* 采集指标值集合(fields作为字段名称与ValueRow映射) * 采集指标值集合(fields作为字段名称与ValueRow映射)
* </pre> * </pre>
* *
* <code>repeated .com.usthe.common.entity.message.ValueRow values = 8;</code> * <code>repeated .com.usthe.common.entity.message.ValueRow values = 9;</code>
*/ */
public java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow.Builder> public java.util.List<com.usthe.common.entity.message.CollectRep.ValueRow.Builder>
getValuesBuilderList() { getValuesBuilderList() {
@@ -4090,18 +4180,18 @@ public final class CollectRep {
static { static {
java.lang.String[] descriptorData = { java.lang.String[] descriptorData = {
"\n\021collect_rep.proto\022\037com.usthe.common.en" + "\n\021collect_rep.proto\022\037com.usthe.common.en" +
"tity.message\"\372\001\n\013MetricsData\022\n\n\002id\030\001 \001(\004" + "tity.message\"\214\002\n\013MetricsData\022\n\n\002id\030\001 \001(\004" +
"\022\013\n\003app\030\002 \001(\t\022\017\n\007metrics\030\003 \001(\t\022\014\n\004time\030\004" + "\022\013\n\003app\030\002 \001(\t\022\017\n\007metrics\030\003 \001(\t\022\020\n\010priori" +
" \001(\004\0223\n\004code\030\005 \001(\0162%.com.usthe.common.en" + "ty\030\004 \001(\r\022\014\n\004time\030\005 \001(\004\0223\n\004code\030\006 \001(\0162%.c" +
"tity.message.Code\022\013\n\003msg\030\006 \001(\t\0226\n\006fields" + "om.usthe.common.entity.message.Code\022\013\n\003m" +
"\030\007 \003(\0132&.com.usthe.common.entity.message" + "sg\030\007 \001(\t\0226\n\006fields\030\010 \003(\0132&.com.usthe.com" +
".Field\0229\n\006values\030\010 \003(\0132).com.usthe.commo" + "mon.entity.message.Field\0229\n\006values\030\t \003(\013" +
"n.entity.message.ValueRow\"#\n\005Field\022\014\n\004na" + "2).com.usthe.common.entity.message.Value" +
"me\030\001 \001(\t\022\014\n\004type\030\002 \001(\r\"-\n\010ValueRow\022\020\n\010in" + "Row\"#\n\005Field\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(\r" +
"stance\030\001 \001(\t\022\017\n\007columns\030\002 \003(\t*b\n\004Code\022\013\n" + "\"-\n\010ValueRow\022\020\n\010instance\030\001 \001(\t\022\017\n\007column" +
"\007SUCCESS\020\000\022\020\n\014UN_AVAILABLE\020\001\022\020\n\014UN_REACH" + "s\030\002 \003(\t*b\n\004Code\022\013\n\007SUCCESS\020\000\022\020\n\014UN_AVAIL" +
"ABLE\020\002\022\022\n\016UN_CONNECTABLE\020\003\022\010\n\004FAIL\020\004\022\013\n\007" + "ABLE\020\001\022\020\n\014UN_REACHABLE\020\002\022\022\n\016UN_CONNECTAB" +
"TIMEOUT\020\005b\006proto3" "LE\020\003\022\010\n\004FAIL\020\004\022\013\n\007TIMEOUT\020\005b\006proto3"
}; };
descriptor = com.google.protobuf.Descriptors.FileDescriptor descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData, .internalBuildGeneratedFileFrom(descriptorData,
@@ -4112,7 +4202,7 @@ public final class CollectRep {
internal_static_com_usthe_common_entity_message_MetricsData_fieldAccessorTable = new internal_static_com_usthe_common_entity_message_MetricsData_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_com_usthe_common_entity_message_MetricsData_descriptor, internal_static_com_usthe_common_entity_message_MetricsData_descriptor,
new java.lang.String[] { "Id", "App", "Metrics", "Time", "Code", "Msg", "Fields", "Values", }); new java.lang.String[] { "Id", "App", "Metrics", "Priority", "Time", "Code", "Msg", "Fields", "Values", });
internal_static_com_usthe_common_entity_message_Field_descriptor = internal_static_com_usthe_common_entity_message_Field_descriptor =
getDescriptor().getMessageTypes().get(1); getDescriptor().getMessageTypes().get(1);
internal_static_com_usthe_common_entity_message_Field_fieldAccessorTable = new internal_static_com_usthe_common_entity_message_Field_fieldAccessorTable = new

View File

@@ -9,16 +9,18 @@ message MetricsData
string app = 2; string app = 2;
// 监控采集的指标集合 eg: cpu | memory | health // 监控采集的指标集合 eg: cpu | memory | health
string metrics = 3; string metrics = 3;
// 监控采集指标集合的采集优先级>=0
uint32 priority = 4;
// 采集时间 // 采集时间
uint64 time = 4; uint64 time = 5;
// 采集响应码 // 采集响应码
Code code = 5; Code code = 6;
// 采集响应信息 // 采集响应信息
string msg = 6; string msg = 7;
// 采集指标名 // 采集指标名
repeated Field fields = 7; repeated Field fields = 8;
// 采集指标值集合(fields作为字段名称与ValueRow映射) // 采集指标值集合(fields作为字段名称与ValueRow映射)
repeated ValueRow values = 8; repeated ValueRow values = 9;
} }
message Field message Field

View File

@@ -55,7 +55,6 @@ public class DispatchAlarm {
} }
private void storeAlertData(Alert alert) { private void storeAlertData(Alert alert) {
// todo 过滤重复告警 使用 告警持续时间参数-duration 这个时间段的相同重复告警应该被过滤
// todo 使用缓存不直接操作库 // todo 使用缓存不直接操作库
Monitor monitor = monitorService.getMonitor(alert.getMonitorId()); Monitor monitor = monitorService.getMonitor(alert.getMonitorId());
if (monitor == null) { if (monitor == null) {
@@ -67,8 +66,7 @@ public class DispatchAlarm {
// 当监控未管理时 忽略静默其告警信息 // 当监控未管理时 忽略静默其告警信息
return; return;
} }
if (monitor.getStatus() != CommonConstants.UN_AVAILABLE_CODE if (monitor.getStatus() == CommonConstants.AVAILABLE_CODE) {
&& monitor.getStatus() != CommonConstants.UN_REACHABLE_CODE) {
if (CommonConstants.AVAILABLE.equals(alert.getTarget())) { if (CommonConstants.AVAILABLE.equals(alert.getTarget())) {
// 可用性告警 需变更监控状态为不可用 // 可用性告警 需变更监控状态为不可用
monitorService.updateMonitorStatus(monitor.getId(), CommonConstants.UN_AVAILABLE_CODE); monitorService.updateMonitorStatus(monitor.getId(), CommonConstants.UN_AVAILABLE_CODE);
@@ -76,6 +74,11 @@ public class DispatchAlarm {
// 可达性告警 需变更监控状态为不可达 // 可达性告警 需变更监控状态为不可达
monitorService.updateMonitorStatus(monitor.getId(), CommonConstants.UN_REACHABLE_CODE); monitorService.updateMonitorStatus(monitor.getId(), CommonConstants.UN_REACHABLE_CODE);
} }
} else {
// 若是恢复告警 需对监控状态进行恢复
if (alert.getStatus() == 2) {
monitorService.updateMonitorStatus(alert.getMonitorId(), CommonConstants.AVAILABLE_CODE);
}
} }
// 告警落库 // 告警落库
alertService.addAlert(alert); alertService.addAlert(alert);

View File

@@ -4,6 +4,7 @@ import com.usthe.manager.pojo.dto.AppCount;
import com.usthe.manager.pojo.entity.Monitor; import com.usthe.manager.pojo.entity.Monitor;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
@@ -50,6 +51,7 @@ public interface MonitorDao extends JpaRepository<Monitor, Long>, JpaSpecificati
* @param id 监控ID * @param id 监控ID
* @param status 监控状态 * @param status 监控状态
*/ */
@Modifying
@Query("update Monitor set status = :status where id = :id") @Query("update Monitor set status = :status where id = :id")
void updateMonitorStatus(@Param(value = "id") Long id, @Param(value = "status") byte status); void updateMonitorStatus(@Param(value = "id") Long id, @Param(value = "status") byte status);
} }

View File

@@ -42,6 +42,7 @@ import java.util.stream.Collectors;
* @date 2021/11/14 13:06 * @date 2021/11/14 13:06
*/ */
@Service @Service
@Transactional(rollbackFor = Exception.class)
@Slf4j @Slf4j
public class MonitorServiceImpl implements MonitorService { public class MonitorServiceImpl implements MonitorService {

View File

@@ -116,7 +116,7 @@ CREATE TABLE alert
alert_define_id bigint not null comment '告警关联的告警定义ID', alert_define_id bigint not null comment '告警关联的告警定义ID',
priority tinyint not null default 0 comment '告警级别 0:高-emergency-紧急告警-红色 1:中-critical-严重告警-橙色 2:低-warning-警告告警-黄色', priority tinyint not null default 0 comment '告警级别 0:高-emergency-紧急告警-红色 1:中-critical-严重告警-橙色 2:低-warning-警告告警-黄色',
content varchar(255) not null comment '告警通知实际内容', content varchar(255) not null comment '告警通知实际内容',
status tinyint not null default 0 comment '告警状态: 0-待发送 1-已发送 2-已过期(已经超过持续时间)', status tinyint not null default 0 comment '告警状态: 0-正常告警 1-阈值触发但未达到告警次数 2-恢复告警',
times int not null comment '触发次数,即达到告警定义的触发阈值次数要求后才会发告警', times int not null comment '触发次数,即达到告警定义的触发阈值次数要求后才会发告警',
gmt_create timestamp default current_timestamp comment 'create time', gmt_create timestamp default current_timestamp comment 'create time',
primary key (id) primary key (id)