fix:记录报警日志缺少RuleId
This commit is contained in:
parent
5eb536c21d
commit
3201a13cc8
|
@ -90,7 +90,6 @@ public class SysInfoJob implements Job {
|
||||||
// 向运管查询监控项数据
|
// 向运管查询监控项数据
|
||||||
Result<ItemHistory> result = monitorSystem.itemBack(itemId, 0, start, end);
|
Result<ItemHistory> result = monitorSystem.itemBack(itemId, 0, start, end);
|
||||||
Double current = result.getResult().getNow();
|
Double current = result.getResult().getNow();
|
||||||
log.error("当前CPU使用率为:{}", current);
|
|
||||||
|
|
||||||
// 解析预警规则,判断是否需要报警
|
// 解析预警规则,判断是否需要报警
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
@ -98,24 +97,26 @@ public class SysInfoJob implements Job {
|
||||||
rule.setCurrent(current);
|
rule.setCurrent(current);
|
||||||
boolean needWarn = parse(rule);
|
boolean needWarn = parse(rule);
|
||||||
if (needWarn){
|
if (needWarn){
|
||||||
// 组织要发送的预警信息
|
// 记录报警日志
|
||||||
|
AlarmLog alarmLog = new AlarmLog();
|
||||||
|
alarmLog.setRuleId(ruleId);
|
||||||
|
alarmLog.setAlarmValue(StrUtil.toString(current));
|
||||||
String ruleName = alarmRule.getName();
|
String ruleName = alarmRule.getName();
|
||||||
|
Double threshold = rule.getThreshold();
|
||||||
String message = "您设定的预警规则:"+ruleName+"," +
|
String message = "您设定的预警规则:"+ruleName+"," +
|
||||||
"预警信息为:"+ operator + ",当前值为:" + current;
|
"预警信息为:"+ operator + ",当前值为:" + current;
|
||||||
|
alarmLog.setAlarmInfo(message);
|
||||||
|
alarmClient.create(alarmLog);
|
||||||
|
|
||||||
// 规则触发报警后,设置该规则的沉默周期(如果有)
|
// 规则触发报警后,设置该规则的沉默周期(如果有)
|
||||||
// 沉默周期失效之前,该规则不会再次被触发
|
// 沉默周期失效之前,该规则不会再次被触发
|
||||||
Long silenceCycle = alarmRule.getSilenceCycle();
|
Long silenceCycle = alarmRule.getSilenceCycle();
|
||||||
ruleSilence(silenceKey, silenceCycle);
|
ruleSilence(silenceKey, silenceCycle);
|
||||||
|
|
||||||
// 发送报警信息
|
// 发送报警信息
|
||||||
String groupId = alarmRule.getContactId();
|
String groupId = alarmRule.getContactId();
|
||||||
String notific = alarmRule.getNotification();
|
String notific = alarmRule.getNotification();
|
||||||
sendMessage.send(message,groupId,notific);
|
sendMessage.send(message, groupId, notific);
|
||||||
// 记录报警日志
|
|
||||||
AlarmLog alarmLog = new AlarmLog();
|
|
||||||
alarmLog.setAlarmStartDate(LocalDateTime.now());
|
|
||||||
alarmLog.setAlarmValue(current.toString());
|
|
||||||
alarmLog.setAlarmInfo(message);
|
|
||||||
alarmClient.create(alarmLog);
|
|
||||||
}
|
}
|
||||||
} catch (JsonProcessingException e) {
|
} catch (JsonProcessingException e) {
|
||||||
log.error("预警规则{}解析失败!", operator);
|
log.error("预警规则{}解析失败!", operator);
|
||||||
|
|
|
@ -103,8 +103,8 @@ public class JobController {
|
||||||
alarmLog.setAlarmValue(StrUtil.toString(current));
|
alarmLog.setAlarmValue(StrUtil.toString(current));
|
||||||
String ruleName = alarmRule.getName();
|
String ruleName = alarmRule.getName();
|
||||||
Double threshold = rule.getThreshold();
|
Double threshold = rule.getThreshold();
|
||||||
String message = "您设定的预警规则:"+ruleName+"," + "预警阈值为:["+
|
String message = "您设定的预警规则:"+ruleName+"," +
|
||||||
operator+threshold+"],当前值为:"+current;
|
"预警信息为:"+ operator + ",当前值为:" + current;
|
||||||
alarmLog.setAlarmInfo(message);
|
alarmLog.setAlarmInfo(message);
|
||||||
alarmClient.create(alarmLog);
|
alarmClient.create(alarmLog);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user