1、新增降噪日志数据健康监测告警
2、IP联动封禁功能完善
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
package com.common.schedule;
|
||||
|
||||
import com.common.service.AlarmHealthCheckService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 告警健康检查定时任务
|
||||
* 每5分钟巡检告警表和告警日志表
|
||||
*/
|
||||
@Component
|
||||
public class AlarmHealthCheckScheduler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(AlarmHealthCheckScheduler.class);
|
||||
|
||||
@Autowired
|
||||
private AlarmHealthCheckService alarmHealthCheckService;
|
||||
|
||||
/**
|
||||
* 每5分钟执行一次告警健康检查
|
||||
* 巡检告警表 alarm 和告警日志表 alarm_visit
|
||||
*/
|
||||
@Scheduled(cron = "0 */5 * * * ?")
|
||||
public void scheduledHealthCheck() {
|
||||
logger.info("========== 开始执行告警健康检查 ==========");
|
||||
long startTime = System.currentTimeMillis();
|
||||
|
||||
try {
|
||||
boolean hasAlarm = alarmHealthCheckService.performHealthCheck();
|
||||
|
||||
long elapsedTime = System.currentTimeMillis() - startTime;
|
||||
|
||||
if (hasAlarm) {
|
||||
logger.warn("告警健康检查完成, 发现异常数据, 耗时: {}ms", elapsedTime);
|
||||
} else {
|
||||
logger.info("告警健康检查完成, 所有表数据正常, 耗时: {}ms", elapsedTime);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("告警健康检查执行异常: {}", e.getMessage(), e);
|
||||
}
|
||||
|
||||
logger.info("========== 告警健康检查任务结束 ==========");
|
||||
}
|
||||
|
||||
/**
|
||||
* 手动触发健康检查(供其他服务调用)
|
||||
* @return 是否有异常
|
||||
*/
|
||||
public boolean manualHealthCheck() {
|
||||
logger.info("手动触发告警健康检查");
|
||||
return alarmHealthCheckService.performHealthCheck();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user