新增:服务器离线告警连续失败检测机制(避免临时网络波动误报)
- 数据库:deploy_server_monitor 表增加 status 字段记录采集状态(SUCCESS/FAILURE)
- 框架层:新增 StatusEnum 通用状态枚举类,MonitorMetricEnum 增加 SERVER_STATUS 监控类型
- 实体层:ServerMonitor 实体增加 status 字段用于标识采集状态
- Repository:IServerMonitorRepository 增加 findRecentMonitorRecords 方法查询最近N条监控记录
- Service:IServerMonitorService 增加 saveMonitorRecord(保存单条记录)和 countConsecutiveFailures(统计连续失败次数)方法
- 告警服务:IServerAlertService 增加 checkServerStatusAlert(检查状态告警)和 resolveServerStatusAlert(解除状态告警)方法
- 告警实现:ServerAlertServiceImpl 实现服务器状态告警的创建、级别升级(WARNING→CRITICAL)、自动解除逻辑
- 调度器:ServerMonitorScheduler 集成连续失败检测,连接成功时插入SUCCESS记录并解除告警,连接失败时插入FAILURE记录并触发告警检测
- 数据初始化:增加全局服务器状态告警规则(连续3次失败触发警告,5次触发严重并标记离线)
优化:统一监控告警通知模板,简化配置参数
- ServerMonitorNotificationConfig 删除 serverOfflineTemplateId 字段,所有监控告警(CPU/内存/磁盘/网络/服务器状态)统一使用 resourceAlertTemplateId
- ServerMonitorScheduler.collectServerMetrics 方法删除 serverOfflineTemplateId 参数
- ServerAlertServiceImpl.sendServerStatusNotification 改用统一的资源告警模板,模板参数与其他监控告警保持一致
修复:删除冗余代码和未使用的类
- 删除 CollectionStatusEnum.java(已被 StatusEnum 取代)
- 删除 ServerMonitorScheduler.sendServerOfflineNotification 方法(改由 ServerAlertService 统一处理)
优化:告警通知模板支持百分比和次数两种单位
- 通知模板使用 FreeMarker 条件判断,根据 alertType 自动显示"连续失败X次"或"使用率X%"
- 严重级别告警显示红色并提示"请立即处理",警告级别提示"请注意观察"
【前端】
修复:告警规则表单规则范围下拉框无法滚动选择问题(移除嵌套滚动容器干扰)
优化:规则范围选择器升级为带搜索的Popover组件(支持按服务器名称/IP搜索,固定高度可滚动)
优化:规则范围数据加载从分页接口改为列表接口
|
||
|---|---|---|
| .. | ||
| .augment/rules | ||
| .cursor/rules | ||
| .mvn/wrapper | ||
| docs | ||
| rules | ||
| src | ||
| .cursorignore | ||
| .cursorrules | ||
| .cursorrules1 | ||
| .gitattributes | ||
| .gitignore | ||
| CLAUDE.md | ||
| mvnw | ||
| mvnw.cmd | ||
| pom.xml | ||
| replace_timestamps.py | ||