[alerter] 告警处理指标数据,告警表达式计算,内容模版关键字替换
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ CREATE TABLE alert_define
|
||||
duration int not null comment '触发告警后持续时间,单位s',
|
||||
enable boolean not null default true comment '告警触发后是否发送',
|
||||
delay int not null comment '告警延迟时间,即延迟多久再发送告警,单位s',
|
||||
content varchar(255) not null comment '告警通知内容',
|
||||
template varchar(255) not null comment '告警通知模板内容',
|
||||
creator varchar(100) comment '创建者',
|
||||
modifier varchar(100) comment '最新修改者',
|
||||
gmt_create timestamp default current_timestamp comment 'create time',
|
||||
@@ -101,7 +101,7 @@ CREATE TABLE alert_define_monitor_bind
|
||||
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),
|
||||
unique key unique_bind (alert_define_id, monitor_id)
|
||||
index index_bind (alert_define_id, monitor_id)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user