fix:记录报警日志缺少RuleId

This commit is contained in:
nieziyan 2023-09-21 14:08:15 +08:00
parent 5eb536c21d
commit 3201a13cc8
2 changed files with 12 additions and 11 deletions

View File

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

View File

@ -103,8 +103,8 @@ public class JobController {
alarmLog.setAlarmValue(StrUtil.toString(current));
String ruleName = alarmRule.getName();
Double threshold = rule.getThreshold();
String message = "您设定的预警规则:"+ruleName+"," + "预警阈值为:["+
operator+threshold+"],当前值为:"+current;
String message = "您设定的预警规则:"+ruleName+"," +
"预警信息为:"+ operator + ",当前值为:" + current;
alarmLog.setAlarmInfo(message);
alarmClient.create(alarmLog);