[alerter] 告警处理指标数据,告警表达式计算,内容模版关键字替换

This commit is contained in:
tomsun28
2021-12-10 12:54:42 +08:00
parent 29b3e23d02
commit 370224f5cf
23 changed files with 693 additions and 44 deletions

View File

@@ -21,7 +21,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
import static com.usthe.common.util.CommonConstants.MONITOR_LOGIN_FAILED;
import static com.usthe.common.util.CommonConstants.MONITOR_LOGIN_FAILED_CODE;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
/**
@@ -53,7 +53,7 @@ public class AccountController {
SurenessAccount account = accountProvider.loadAccount(identifier);
if (account == null || account.getPassword() == null) {
Message<Void> message = Message.<Void>builder().msg("账户密码错误")
.code(MONITOR_LOGIN_FAILED).build();
.code(MONITOR_LOGIN_FAILED_CODE).build();
return ResponseEntity.ok(message);
} else {
if (account.getSalt() != null) {
@@ -61,12 +61,12 @@ public class AccountController {
}
if (!account.getPassword().equals(password)) {
Message<Void> message = Message.<Void>builder().msg("账户密码错误")
.code(MONITOR_LOGIN_FAILED).build();
.code(MONITOR_LOGIN_FAILED_CODE).build();
return ResponseEntity.ok(message);
}
if (account.isDisabledAccount() || account.isExcessiveAttempts()) {
Message<Void> message = Message.<Void>builder().msg("账户过期或被锁定")
.code(MONITOR_LOGIN_FAILED).build();
.code(MONITOR_LOGIN_FAILED_CODE).build();
return ResponseEntity.ok(message);
}
}

View File

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import static com.usthe.common.util.CommonConstants.MONITOR_NOT_EXIST;
import static com.usthe.common.util.CommonConstants.MONITOR_NOT_EXIST_CODE;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
/**
@@ -69,7 +69,7 @@ public class MonitorController {
MonitorDto monitorDto = monitorService.getMonitor(id);
Message.MessageBuilder<MonitorDto> messageBuilder = Message.builder();
if (monitorDto == null) {
messageBuilder.code(MONITOR_NOT_EXIST).msg("Monitor not exist.");
messageBuilder.code(MONITOR_NOT_EXIST_CODE).msg("Monitor not exist.");
} else {
messageBuilder.data(monitorDto);
}

View File

@@ -105,7 +105,7 @@ public class MonitorServiceImpl implements MonitorService {
try {
monitor.setId(monitorId);
monitor.setJobId(jobId);
monitor.setStatus(CommonConstants.AVAILABLE);
monitor.setStatus(CommonConstants.AVAILABLE_CODE);
monitorDao.save(monitor);
paramDao.saveAll(params);
} catch (Exception e) {
@@ -292,8 +292,8 @@ public class MonitorServiceImpl implements MonitorService {
// jobId不删除 待启动纳管之后再次复用jobId
List<Monitor> managedMonitors = monitorDao.findMonitorsByIdIn(ids)
.stream().filter(monitor ->
monitor.getStatus() != CommonConstants.UN_MANAGE && monitor.getJobId() != null)
.peek(monitor -> monitor.setStatus(CommonConstants.UN_MANAGE))
monitor.getStatus() != CommonConstants.UN_MANAGE_CODE && monitor.getJobId() != null)
.peek(monitor -> monitor.setStatus(CommonConstants.UN_MANAGE_CODE))
.collect(Collectors.toList());
if (!managedMonitors.isEmpty()) {
monitorDao.saveAll(managedMonitors);
@@ -308,8 +308,8 @@ public class MonitorServiceImpl implements MonitorService {
// 更新监控状态 新增对应的监控周期性任务
List<Monitor> unManagedMonitors = monitorDao.findMonitorsByIdIn(ids)
.stream().filter(monitor ->
monitor.getStatus() == CommonConstants.UN_MANAGE && monitor.getJobId() != null)
.peek(monitor -> monitor.setStatus(CommonConstants.AVAILABLE))
monitor.getStatus() == CommonConstants.UN_MANAGE_CODE && monitor.getJobId() != null)
.peek(monitor -> monitor.setStatus(CommonConstants.AVAILABLE_CODE))
.collect(Collectors.toList());
if (!unManagedMonitors.isEmpty()) {
monitorDao.saveAll(unManagedMonitors);

View File

@@ -20,9 +20,9 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import java.lang.reflect.Field;
import static com.usthe.common.util.CommonConstants.DETECT_FAILED;
import static com.usthe.common.util.CommonConstants.MONITOR_CONFLICT;
import static com.usthe.common.util.CommonConstants.PARAM_INVALID;
import static com.usthe.common.util.CommonConstants.DETECT_FAILED_CODE;
import static com.usthe.common.util.CommonConstants.MONITOR_CONFLICT_CODE;
import static com.usthe.common.util.CommonConstants.PARAM_INVALID_CODE;
/**
* controller exception handler
@@ -54,7 +54,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(MonitorDetectException.class)
@ResponseBody
ResponseEntity<Message<Void>> handleMonitorDetectException(MonitorDetectException exception) {
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(DETECT_FAILED).build();
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(DETECT_FAILED_CODE).build();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(message);
}
@@ -66,7 +66,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(MonitorDatabaseException.class)
@ResponseBody
ResponseEntity<Message<Void>> handleMonitorDatabaseException(MonitorDatabaseException exception) {
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(MONITOR_CONFLICT).build();
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(MONITOR_CONFLICT_CODE).build();
return ResponseEntity.status(HttpStatus.CONFLICT).body(message);
}
@@ -78,7 +78,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(IllegalArgumentException.class)
@ResponseBody
ResponseEntity<Message<Void>> handleIllegalArgumentException(IllegalArgumentException exception) {
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(PARAM_INVALID).build();
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(PARAM_INVALID_CODE).build();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(message);
}
@@ -91,10 +91,10 @@ public class GlobalExceptionHandler {
@ResponseBody
ResponseEntity<Message<Void>> handleHttpMessageNotReadableException(HttpMessageNotReadableException exception) {
try {
Message<Void> message = Message.<Void>builder().msg((String) detailMessage.get(exception)).code(PARAM_INVALID).build();
Message<Void> message = Message.<Void>builder().msg((String) detailMessage.get(exception)).code(PARAM_INVALID_CODE).build();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(message);
} catch (Exception e) {
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(PARAM_INVALID).build();
Message<Void> message = Message.<Void>builder().msg(exception.getMessage()).code(PARAM_INVALID_CODE).build();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(message);
}
}
@@ -129,7 +129,7 @@ public class GlobalExceptionHandler {
if (log.isDebugEnabled()) {
log.debug("[input argument not valid happen]-{}", errorMessage, e);
}
Message<Void> message = Message.<Void>builder().msg(errorMessage.toString()).code(PARAM_INVALID).build();
Message<Void> message = Message.<Void>builder().msg(errorMessage.toString()).code(PARAM_INVALID_CODE).build();
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(message);
}
@@ -146,7 +146,7 @@ public class GlobalExceptionHandler {
errorMessage = exception.getMessage();
}
log.warn("[scheduler warning]-{}", errorMessage);
Message<Void> message = Message.<Void>builder().msg(errorMessage).code(MONITOR_CONFLICT).build();
Message<Void> message = Message.<Void>builder().msg(errorMessage).code(MONITOR_CONFLICT_CODE).build();
return ResponseEntity.status(HttpStatus.CONFLICT).body(message);
}
@@ -163,7 +163,7 @@ public class GlobalExceptionHandler {
errorMessage = exception.getMessage();
}
log.warn("[database error happen]-{}", errorMessage, exception);
Message<Void> message = Message.<Void>builder().msg(errorMessage).code(MONITOR_CONFLICT).build();
Message<Void> message = Message.<Void>builder().msg(errorMessage).code(MONITOR_CONFLICT_CODE).build();
return ResponseEntity.status(HttpStatus.CONFLICT).body(message);
}
@@ -197,7 +197,7 @@ public class GlobalExceptionHandler {
errorMessage = exception.getMessage();
}
log.error("[monitor]-[unknown error happen]-{}", errorMessage, exception);
Message<Void> message = Message.<Void>builder().msg(errorMessage).code(MONITOR_CONFLICT).build();
Message<Void> message = Message.<Void>builder().msg(errorMessage).code(MONITOR_CONFLICT_CODE).build();
return ResponseEntity.status(HttpStatus.CONFLICT).body(message);
}